:root{--r:#8b1e2d;--bg:#faf7f2;--ink:#222;--mut:#666;--ok:#2f6b3a;--warn:#b26b00}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
header.top{background:var(--r);color:#fff;padding:.8rem 1.2rem;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
header.top a{color:#fff;text-decoration:none;font-weight:600}header.top .brand{font-size:1.15rem;margin-right:auto}
.preview{background:#ffe9a8;color:#5a4300;text-align:center;padding:.35rem;font-size:.85rem}
main{max-width:1150px;margin:1.2rem auto;padding:0 1rem}h1{margin:.2rem 0 1rem;font-size:1.6rem}
.bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
button,.btn{background:var(--r);color:#fff;border:0;border-radius:6px;padding:.45rem .9rem;cursor:pointer;font:inherit;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:#fff;color:var(--r);border:1px solid var(--r)}button.ok{background:var(--ok)}
select,input,textarea{font:inherit;padding:.4rem;border:1px solid #bbb;border-radius:5px;background:#fff}
.cal{display:grid;gap:4px}.cal.week{grid-template-columns:repeat(7,1fr)}.cal.month{grid-template-columns:repeat(7,1fr)}
.day{background:#fff;border:1px solid #ddd;border-radius:6px;min-height:90px;padding:.35rem;font-size:.82rem}
.day.out{opacity:.45}.day .dn{font-weight:700;color:var(--mut)}.day.today{outline:2px solid var(--r)}
.ev{background:#f3d6da;border-left:3px solid var(--r);border-radius:3px;padding:2px 4px;margin-top:3px}
.ev.priv{background:#e6e6e6;border-color:#777}.free{color:var(--ok);font-size:.75rem;margin-top:4px}
.dow{font-weight:700;text-align:center;font-size:.8rem;color:var(--mut)}
form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}
form.grid label{display:flex;flex-direction:column;font-size:.85rem;gap:.2rem}form.grid .full{grid-column:1/-1}
fieldset{border:1px solid #ccc;border-radius:8px;padding:.8rem;background:#fff;margin:0 0 1rem}legend{font-weight:700;padding:0 .3rem}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.85rem}th,td{border-bottom:1px solid #e3e3e3;padding:.4rem;text-align:left;vertical-align:top}th{background:#f1ece4}
.tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.75rem;font-weight:600}
.tag.forfragan{background:#fff0c2;color:var(--warn)}.tag.bokad{background:#d8efd9;color:var(--ok)}.tag.avbojd{background:#eee;color:#777}
.msg{padding:.6rem;border-radius:6px;margin:.6rem 0}.msg.ok{background:#d8efd9}.msg.err{background:#f8d7da}
.tabs button{background:#eee;color:#333}.tabs button.on{background:var(--r);color:#fff}
.small{font-size:.8rem;color:var(--mut)}.note{font-size:.75rem;color:#7a5b00}
footer{text-align:center;color:var(--mut);font-size:.8rem;padding:2rem}
@media(max-width:700px){.cal.month .day{min-height:60px;font-size:.7rem}}
.tag.preliminar{background:#dfe9ff;color:#2a4a8a}.tag.avbokad{background:#f6dede;color:#8a2a2a}
.catt input,.catt select{width:100%;box-sizing:border-box}.catt td{padding:2px 4px}
.warnbox{background:#fff0c2;border:1px solid #e0b400;padding:.5rem .8rem;border-radius:6px;margin:.4rem 0}
.sumbox{background:#f3f6f3;border:1px solid #cdd;padding:.5rem .8rem;border-radius:6px}
button.danger{background:#a33;color:#fff;border-color:#a33}

html.embed .preview,html.embed header.top,html.embed h1,html.embed .tabs,html.embed footer{display:none}html.embed main{margin:.5rem auto}
.day.adm{cursor:copy}.ev[data-id]{cursor:pointer}.ev[data-id][draggable=true]{cursor:grab}.ev.pre{background:#dfe9ff;border-color:#2a4a8a}
.slots{display:flex;gap:2px;margin-top:4px;flex-wrap:wrap}.slots button{padding:1px 5px;font-size:.7rem;background:#fff;color:var(--ok);border:1px dashed var(--ok)}
.day.drop,.slots button.drop{outline:2px dashed var(--r);background:#fff4f5}
.admbar{background:#e8f1e8;border:1px solid #bcd6bc;border-radius:6px;padding:.4rem .7rem;margin-bottom:.6rem;font-size:.85rem}
dialog.fhm{width:min(1000px,96vw);height:min(88vh,1000px);padding:0;border:0;border-radius:10px;box-shadow:0 10px 40px #0006}
dialog.fhm iframe{width:100%;height:calc(100% - 42px);border:0}dialog.fhm .mh{display:flex;justify-content:space-between;align-items:center;padding:.4rem .8rem;background:var(--r);color:#fff}
dialog.fhmv{border:0;border-radius:10px;box-shadow:0 10px 40px #0006;max-width:96vw}dialog.fhmv label{display:flex;flex-direction:column;font-size:.85rem;margin:.3rem 0}
dialog::backdrop{background:#0006}
.sumbox{border:1px solid #ccc;padding:.5em 1em;margin:.5em 0;background:#f7f7f7}
tr.excl td{color:#888;text-decoration:line-through}tr.excl td:first-child,tr.excl td .tag{text-decoration:none}
.printhead{display:none}
@media print{header.top,.preview,.tabs,.noprint,#me,#logout,h1{display:none!important}.printhead{display:block}body{font-size:10pt}table{width:100%;border-collapse:collapse;page-break-inside:auto}tr{page-break-inside:avoid}th,td{border:1px solid #999;padding:2px 4px}h2{page-break-after:avoid;font-size:12pt}.sumbox{background:none}a[href]:after{content:none}}

/* ===== Folkets Hus-profil (design-preview) ===== */
:root{--r:#e8741e;--o:#e8741e;--t:#2a7a8c;--d:#1f2a30;--bg:#faf7f2;--ink:#1f2a30;--mut:#5d6870;--line:#e7e1d7;--rad:14px;--sh:0 1px 2px rgba(31,42,48,.05),0 6px 24px rgba(31,42,48,.07)}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--t)}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem 1rem;border-radius:8px}
header.top{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);color:var(--d);padding:0;display:block;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(232,116,30,.35)}
header.top .hw{max-width:1180px;margin:auto;display:flex;align-items:center;gap:1rem;padding:.6rem 1.2rem;flex-wrap:wrap}
header.top .brand{display:flex;align-items:center;gap:.65rem;color:var(--d);font-weight:800;font-size:1.05rem;line-height:1.1;margin-right:auto}
header.top .brand img{width:44px;height:44px;object-fit:contain}header.top .brand small{display:block;font-weight:600;color:var(--o);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
header.top nav{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}
header.top nav a{color:var(--d);font-weight:600;font-size:.93rem;padding:.5rem .8rem;border-radius:999px;transition:background .15s}
header.top nav a:hover{background:#f3ece2}header.top nav a.cta{background:var(--o);color:#fff}header.top nav a.cta:hover{background:#cf6512}
header.top nav a.ext{color:var(--t);font-weight:500}
.hero{background:linear-gradient(100deg,rgba(31,42,48,.88) 0%,rgba(31,42,48,.55) 55%,rgba(31,42,48,.15)),url(/img/hero.jpg) center/cover;color:#fff;padding:clamp(2.5rem,7vw,5rem) 1.2rem}
.hero .in{max-width:1180px;margin:auto}.hero h1{font-size:clamp(1.9rem,4.5vw,3rem);margin:0 0 .4rem;letter-spacing:-.02em;line-height:1.1;color:#fff}
.hero p{font-size:1.1rem;max-width:36rem;margin:0 0 1.2rem;opacity:.92}
main{max-width:1180px;margin:2rem auto 3rem;padding:0 1.2rem}
h1{font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.015em;margin:.2rem 0 1.2rem}h2{color:var(--d);letter-spacing:-.01em}
button,.btn{background:var(--o);border-radius:999px;padding:.55rem 1.1rem;font-weight:600;transition:background .15s,transform .05s}
button:hover,.btn:hover{background:#cf6512}button:active{transform:translateY(1px)}
.btn.big{padding:.8rem 1.6rem;font-size:1.05rem}
button.sec,.btn.sec{background:#fff;color:var(--d);border:1px solid var(--line)}button.sec:hover{background:#f3ece2}
button.ok{background:var(--t)}button.danger{background:#b3261e;border-color:#b3261e}
select,input,textarea{padding:.55rem .7rem;border:1px solid #d6cfc4;border-radius:10px}
select:focus,input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(42,122,140,.35);outline-offset:1px;border-color:var(--t)}
.bar{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:.7rem .9rem;box-shadow:var(--sh);gap:.6rem}
.bar strong#lbl{font-size:1.05rem;min-width:10ch;text-align:center}
.tabs button{background:#f1ece4;color:var(--d)}.tabs button.on{background:var(--d);color:#fff}
.cal{gap:8px}.dow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;padding:.2rem 0}
.day{border:1px solid var(--line);border-radius:12px;min-height:110px;padding:.5rem;box-shadow:0 1px 2px rgba(31,42,48,.04)}
.day .dn{color:var(--d);font-size:.9rem}.day.today{outline:0;border:2px solid var(--o);background:#fffaf4}
.ev{background:#fde9d9;border-left:4px solid var(--o);border-radius:8px;padding:4px 7px;margin-top:5px;line-height:1.3}
.ev.priv{background:#eef1f2;border-color:#8a959c}.ev.pre{background:#e2f0f3;border-color:var(--t)}
.free{color:var(--t);font-weight:600}
fieldset{border:1px solid var(--line);border-radius:var(--rad);padding:1.1rem 1.2rem;box-shadow:var(--sh)}legend{color:var(--o);font-size:1.02rem}
form.grid{gap:1rem}form.grid label{font-weight:600;color:var(--d)}
table{border-radius:var(--rad);overflow:hidden;box-shadow:var(--sh)}th{background:#f3ece2;font-weight:700}tr:hover td{background:#fffaf4}
.msg{border-radius:10px}.warnbox,.sumbox,.admbar{border-radius:10px}
.tag.bokad{background:#dcefe9;color:#1d6b55}
footer{background:var(--d);color:#cfd6da;padding:2.2rem 1rem;margin-top:3rem}footer a{color:#fff}footer p{margin:.3rem 0}
@media(max-width:700px){
 header.top .hw{padding:.5rem .8rem}header.top nav{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}header.top nav a{white-space:nowrap;font-size:.88rem;padding:.45rem .7rem}
 main{padding:0 .8rem;margin-top:1.2rem}.bar{padding:.6rem}.bar label{width:100%}.bar select{width:100%}
 .cal.week{grid-template-columns:1fr}.cal.week .day{min-height:0;display:block}#dows.cal.week{display:none}
 .cal.month{gap:3px}.cal.month .day{min-height:58px;padding:.25rem;border-radius:8px;font-size:.66rem}.cal.month .ev{padding:2px 3px;font-size:.62rem;border-left-width:3px}
 table{display:block;overflow-x:auto}
}
html.embed header.top,html.embed footer,html.embed .hero{display:none}
.dn .wd{display:none}@media(max-width:700px){.cal.week .dn .wd{display:inline}}
/* Kundregister / kopiera / serie */
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}
.kcard{background:#fff;color:var(--d);border:1px solid var(--line);border-radius:var(--rad);padding:.9rem 1rem;text-align:left;display:flex;flex-direction:column;gap:.15rem;box-shadow:var(--sh);font-weight:400}.kcard:hover{background:#fffaf4;border-color:var(--o)}
dialog.kd{width:min(760px,96vw);max-height:90vh;padding:0}.kdh{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;background:var(--d);color:#fff;margin:0}.kdh h3{margin:0;font-size:1.05rem}.kdh button{padding:.2rem .7rem}.kdb{padding:1rem 1.2rem;overflow:auto}
.kpick{background:#f6fafb;border:1px solid #cfe3e7;border-radius:12px;padding:.7rem .9rem;position:relative}.kpr{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.kpr input[type=search]{flex:1;min-width:200px}
.kpl{position:absolute;left:.9rem;right:.9rem;z-index:5;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);padding:.3rem}.kpl button{display:block;width:100%;text-align:left;background:#fff;color:var(--d);border-radius:8px;font-weight:400}.kpl button:hover{background:#fdf0e5}
.kplan{list-style:none;padding:0;margin:.5rem 0 1rem}.kplan li{padding:.4rem .6rem;border-radius:8px;margin:.2rem 0;font-size:.9rem}.kplan .kok{background:#eef7f3}.kplan .kc{background:#fde8e6;color:#7a1d16;font-weight:600}.kplan label{display:inline;font-weight:600}
.kwarn{color:#b3261e;font-weight:700}.kact{display:flex;gap:.5rem;flex-wrap:wrap}.kbl{padding-left:1.1rem}.kbl .kme{font-weight:700}
@media(max-width:700px){dialog.kd{width:100vw;max-width:100vw;max-height:100vh;height:100vh;margin:0;border-radius:0}}
