:root{--bg:#eef2f5;--card:#ffffff;--ink:#0f1d28;--muted:#5f6e79;--faint:#9aa9b4;--line:#e4eaee;--line2:#eef2f5;--brand:#00466a;--brand-600:#005a86;--brand2:#0a82b4;--green:#2f8f5b;--radius:16px;--radius-sm:11px;--shadow-sm:0 1px 2px rgba(0,40,60,.05);--shadow:0 1px 3px rgba(0,40,60,.06), 0 12px 32px rgba(0,40,60,.07);--shadow-lg:0 26px 64px rgba(0,40,60,.2);--ring:0 0 0 3px rgba(10,130,180,.22)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:"cv11","ss01";letter-spacing:-.005em;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;letter-spacing:inherit}a{color:inherit}::selection{background:#0a82b42e}@keyframes fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.app{max-width:920px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}header.top{background:linear-gradient(135deg,#015d89,#00466a 58%,#013a58);color:#fff;padding:15px 20px;position:sticky;top:0;z-index:20;box-shadow:0 1px #ffffff0d inset,0 8px 26px #0037523d}.topbar{display:flex;align-items:center;gap:12px}header.top .logo{width:36px;height:36px;border-radius:10px;background:#ffffff24;display:grid;place-items:center;font-weight:700;font-size:18px}header.top h1{font-size:17px;margin:0;font-weight:650;letter-spacing:-.02em}header.top .subh{font-size:11.5px;opacity:.66;margin-top:1px}header.top .me{margin-left:auto;display:flex;align-items:center;gap:11px;padding:5px 6px 5px 12px;border-radius:999px;transition:background .15s ease}header.top .me:hover{background:#ffffff1a}header.top .me .txt{text-align:right;line-height:1.25}header.top .me .nm{font-size:13.5px;font-weight:600}header.top .me .rl{font-size:11px;opacity:.72}header.top .me .av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13.5px;color:#fff;border:1.5px solid rgba(255,255,255,.34);box-shadow:0 2px 8px #00000038}.badge-admin{display:inline-block;background:#ffce55;color:#5a4410;font-size:9px;font-weight:700;padding:2px 7px;border-radius:999px;margin-left:6px;text-transform:uppercase;letter-spacing:.6px}main{flex:1;padding:22px 18px 100px;animation:fade .24s ease}nav.tabs{position:sticky;bottom:0;z-index:20;display:flex;background:#fffc;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}nav.tabs button{flex:1;background:none;border:0;padding:11px 4px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--faint);font-size:10.5px;font-weight:600;transition:color .15s ease}nav.tabs button .ic{font-size:18px;line-height:1;transition:transform .18s cubic-bezier(.2,.7,.3,1.4)}nav.tabs button:hover{color:var(--muted)}nav.tabs button.active{color:var(--brand2)}nav.tabs button.active .ic{transform:translateY(-2px) scale(1.1)}nav.tabs button.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:3px;border-radius:0 0 4px 4px;background:var(--brand2);box-shadow:0 0 10px #0a82b480}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.sectiontitle{font-size:11px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.09em;margin:12px 2px 11px;display:flex;align-items:center;gap:9px}.sectiontitle:before{content:"";width:3px;height:13px;border-radius:2px;background:var(--brand2);flex:none}.row{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--line2);transition:background .12s ease}.row:last-child{border-bottom:0}.row:hover{background:#0a82b408}.avatar{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14.5px;position:relative;box-shadow:0 3px 9px #00283c29,inset 0 0 0 1px #ffffff24}.avatar .dot{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--card)}.nm{font-weight:600;font-size:15px;letter-spacing:-.01em}.sub{font-size:12.5px;color:var(--muted)}.pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.spacer{flex:1}.contact{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.cbtn{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--brand2);background:#eef5f9;border:1px solid transparent;padding:3px 11px;border-radius:999px;text-decoration:none;transition:background .12s ease}.cbtn:hover{background:#e1eef6}.btn{border:1px solid transparent;border-radius:11px;padding:9px 15px;font-size:14px;font-weight:600;background:#eaeff2;color:var(--ink);transition:transform .08s ease,box-shadow .15s ease,background .15s ease,filter .15s ease,border-color .12s ease}.btn.primary{background-image:linear-gradient(180deg,#0d92c8,#0a82b4);color:#fff;box-shadow:0 1px 2px #003c5a4d,0 6px 16px #0a82b447}.btn.green{background-image:linear-gradient(180deg,#36a268,#2f8f5b);color:#fff;box-shadow:0 1px 2px #14462d4d,0 6px 16px #2f8f5b38}.btn.ghost{background:var(--card);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-sm)}.btn.sm{padding:6px 12px;font-size:12.5px;border-radius:9px}.btn.primary:hover,.btn.green:hover{filter:brightness(1.04)}.btn.ghost:hover{background:#f6f9fb;border-color:#d6e0e6}.btn:not(.primary):not(.green):not(.ghost):hover{background:#e1e8ec}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none;filter:none}.statusgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:12px}.statusgrid .btn{justify-content:flex-start;text-align:left;display:flex;align-items:center}.filterchips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 15px;scrollbar-width:none}.filterchips::-webkit-scrollbar{display:none}.chip{border:1px solid transparent;background:#e9eff3;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .12s ease,color .12s ease}.chip:hover{background:#dde7ed;color:var(--ink)}.chip.on{background:var(--brand);color:#fff;box-shadow:0 4px 12px #00466a42}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px 12px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .14s ease,box-shadow .18s ease,border-color .12s ease}.kpi .n{font-size:30px;font-weight:750;color:var(--brand);letter-spacing:-.035em;font-variant-numeric:tabular-nums;line-height:1.05}.kpi .l{font-size:10.5px;color:var(--muted);margin-top:6px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}table.tt{width:100%;border-collapse:collapse;font-size:13.5px}table.tt th,table.tt td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line2)}table.tt tbody tr{transition:background .12s ease}table.tt tbody tr:hover{background:#0a82b408}table.tt tbody tr:last-child td{border-bottom:0}table.tt th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);background:transparent;font-weight:600}table.tt thead tr{border-bottom:1px solid var(--line)}table.tt td.num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}label.fld{display:block;margin-bottom:14px}label.fld span{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}input.in,select.in{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:11px;font:inherit;letter-spacing:inherit;background:var(--card);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}input.in::placeholder{color:var(--faint)}input.in:focus,select.in:focus{outline:none;border-color:var(--brand2);box-shadow:var(--ring)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(130% 100% at 50% 0%,#02628f,#00466a 46%,#012f48)}.login .box{background:var(--card);border-radius:20px;padding:34px 28px;width:100%;max-width:382px;box-shadow:var(--shadow-lg);animation:fade .26s ease}.login .logo{width:54px;height:54px;border-radius:15px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:26px;margin:0 auto 16px}.login h2{text-align:center;margin:0 0 5px;font-size:22px;letter-spacing:-.02em}.login p.s{text-align:center;color:var(--muted);margin:0 0 26px;font-size:13.5px}.ms-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:13px;font-size:15px;font-weight:600;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease,background .12s ease}.ms-btn:hover{border-color:#bcd3df;background:#f8fbfc}.ms-btn:active{transform:translateY(1px)}.ms-btn .sq{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:18px;height:18px}.ms-btn .sq i{display:block}.or{text-align:center;color:var(--faint);font-size:11px;margin:22px 0;position:relative;text-transform:uppercase;letter-spacing:.08em}.or:before,.or:after{content:"";position:absolute;top:50%;width:34%;height:1px;background:var(--line)}.or:before{left:0}.or:after{right:0}.err{background:#fdeaea;color:#9c2a2a;font-size:13px;padding:10px 13px;border-radius:11px;margin-bottom:12px;border:1px solid #f6d3d3}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#021c2a80;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:grid;place-items:center;z-index:50;padding:18px;animation:fade .15s ease}.modal{background:var(--card);border-radius:18px;padding:26px;width:100%;max-width:430px;border:1px solid var(--line);box-shadow:var(--shadow-lg)}.modal h3{margin:0 0 5px;font-size:18px;letter-spacing:-.02em}.modal .msub{color:var(--muted);font-size:13px;margin:0 0 18px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:108px;background:#081c28f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;font-weight:600;z-index:60;box-shadow:0 12px 34px #00000052}.center{min-height:100vh;display:grid;place-items:center;color:var(--muted)}header.top .brandlogo{height:34px;width:auto;display:block;flex:none}@media (max-width:480px){header.top .brandlogo{height:26px}}.login .loginlogo{display:block;width:86%;max-width:296px;height:auto;margin:0 auto 20px}.av img,.avatar img{display:block}@media (min-width: 980px){.app{max-width:1180px}main{padding:26px 30px 96px}.kpis{gap:16px}.kpi{padding:18px 16px}.kpi .n{font-size:28px}.row{padding:15px 20px}table.tt{font-size:14px}table.tt th,table.tt td{padding:13px 16px}nav.tabs{justify-content:center}nav.tabs button{flex:0 0 150px;font-size:12.5px;padding:12px 4px}.miacts{flex-direction:column;align-items:stretch;gap:8px;min-width:190px}.miacts>button{width:100%}.miacts>button:first-child{padding:13px 18px;font-size:15.5px;font-weight:700;border-radius:11px}}@media (min-width: 1320px){.app{max-width:1320px}}:root[data-theme=dark]{--bg:#0c1419;--card:#141e26;--ink:#e8eef3;--muted:#93a3ad;--faint:#677681;--line:#243038;--line2:#18222a;--brand2:#3ba9d6;--chip:#1e2a33;--shadow-sm:0 1px 2px rgba(0,0,0,.45);--shadow:0 1px 3px rgba(0,0,0,.4), 0 12px 30px rgba(0,0,0,.45);--shadow-lg:0 26px 64px rgba(0,0,0,.6);--ring:0 0 0 3px rgba(59,169,214,.3)}:root[data-theme=dark] nav.tabs{background:#141e26d1;border-top-color:var(--line)}:root[data-theme=dark] .kpi .n{color:#5fc0e8}:root[data-theme=dark] table.tt tbody tr:hover{background:#3ba9d612}:root[data-theme=dark] .row:hover{background:#3ba9d612}:root[data-theme=dark] input.in,:root[data-theme=dark] select.in{background:#0f1820;color:var(--ink);border-color:var(--line)}:root[data-theme=dark] header.top .logo{background:#ffffff1a}:root[data-theme=dark] .cbtn{background:#16242e}:root[data-theme=dark] .cbtn:hover{background:#1c2f3b}:root[data-theme=dark] .btn{background:#222e37;color:var(--ink)}:root[data-theme=dark] .btn:not(.primary):not(.green):not(.ghost):hover{background:#2a3742}:root[data-theme=dark] .chip{background:#1c2832;color:var(--muted)}:root[data-theme=dark] .chip:hover{background:#243240;color:var(--ink)}:root[data-theme=dark] .ms-btn:hover{background:#18242d;border-color:#2c3a44}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#0c1419;--card:#141e26;--ink:#e8eef3;--muted:#93a3ad;--faint:#677681;--line:#243038;--line2:#18222a;--brand2:#3ba9d6;--chip:#1e2a33;--shadow-sm:0 1px 2px rgba(0,0,0,.45);--shadow:0 1px 3px rgba(0,0,0,.4), 0 12px 30px rgba(0,0,0,.45);--shadow-lg:0 26px 64px rgba(0,0,0,.6);--ring:0 0 0 3px rgba(59,169,214,.3)}:root:not([data-theme=light]) nav.tabs{background:#141e26d1;border-top-color:var(--line)}:root:not([data-theme=light]) .kpi .n{color:#5fc0e8}:root:not([data-theme=light]) table.tt tbody tr:hover{background:#3ba9d612}:root:not([data-theme=light]) .row:hover{background:#3ba9d612}:root:not([data-theme=light]) input.in,:root:not([data-theme=light]) select.in{background:#0f1820;color:var(--ink);border-color:var(--line)}:root:not([data-theme=light]) .cbtn{background:#16242e}:root:not([data-theme=light]) .btn{background:#222e37;color:var(--ink)}:root:not([data-theme=light]) .btn:not(.primary):not(.green):not(.ghost):hover{background:#2a3742}:root:not([data-theme=light]) .chip{background:#1c2832;color:var(--muted)}:root:not([data-theme=light]) .chip:hover{background:#243240;color:var(--ink)}}.themebtn{margin-left:auto;background:#ffffff24;border:0;color:#fff;width:36px;height:36px;border-radius:10px;font-size:16px;cursor:pointer;display:grid;place-items:center;transition:background .15s ease}.themebtn:hover{background:#ffffff3d}nav.tabs button{position:relative}.tabbadge{position:absolute;top:5px;left:50%;margin-left:7px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e5484d;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 2px 6px #e5484d73}.a2hs{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.a2hs-txt{font-size:13px;line-height:1.45;color:var(--ink)}.a2hs-acts{display:flex;gap:6px;white-space:nowrap;align-items:center}.inline-edit{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.inline-edit input[type=time]{padding:4px 6px;border:1px solid var(--brand);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums;background:var(--card);color:var(--ink)}.inline-edit .iconbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}.inline-edit .iconbtn.ok{background:var(--brand);border-color:var(--brand);color:#fff}.tt td.editable{cursor:pointer}.tt td.editable:hover{color:var(--brand)}.print-only{display:none}@media print{@page{margin:14mm;size:A4 landscape}body{background:#fff!important}nav.tabs,header.top,.a2hs,.selbar,.presets,.datefld,.searchwrap,.noprint,.btn,button,.kpis,.filterchips{display:none!important}.print-only{display:block!important}.print-title{font-size:18px;font-weight:700;margin:0 0 12px;color:#000}main,.wrap,#root{max-width:none!important;padding:0!important;margin:0!important}.card{box-shadow:none!important;border:none!important;padding:0!important}table.tt{width:100%;border-collapse:collapse;font-size:11px;color:#000}table.tt th,table.tt td{border:1px solid #ccc!important;padding:4px 6px!important}table.tt thead th{background:#f0f0f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pill{border:1px solid #999!important;background:#fff!important;color:#000!important;box-shadow:none!important}tr{page-break-inside:avoid}}.switch{position:relative;width:46px;height:27px;border-radius:999px;border:none;background:var(--line);cursor:pointer;transition:background .18s ease;flex:none;padding:0}.switch.on{background:var(--brand2)}.switch:disabled{opacity:.55;cursor:default}.switch:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:transform .18s ease}.switch.on:after{transform:translate(19px)}.actbtn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 13px;font-size:14px;font-weight:600;color:var(--ink);text-align:left;transition:border-color .12s,background .12s,transform .08s,box-shadow .15s}.actbtn:hover{border-color:#cdd9e4;box-shadow:var(--shadow-sm)}.actbtn:active{transform:translateY(1px)}.actbtn-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--line2);flex:none}.actbtn.primary-act{background:var(--brand2);border-color:transparent;color:#fff;box-shadow:0 5px 14px #0a82b43d;margin-bottom:10px}.actbtn.primary-act .actbtn-ic{background:#ffffff2e;color:#fff}.statusgrid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.menu{position:absolute;top:calc(100% + 6px);min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:40;animation:menu-in .12s ease-out}.menu.right{right:0}.menu.left{left:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-item{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;text-align:left;padding:9px 11px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s;white-space:nowrap}.menu-item:hover{background:#0a82b417}.menu-item.danger{color:#c5352c}.menu-item.danger:hover{background:#c5352c1a}.entrysum{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0a82b40f;border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin:2px 0 14px}.entrysum-n{font-size:22px;font-weight:750;color:var(--brand);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}:root[data-theme=dark] .entrysum-n{color:#5fc0e8}.mecard.in{background:linear-gradient(180deg,#0a82b40f,#0a82b400 70%)}.weekchip{text-align:center;min-width:48px;padding:6px 9px;border-radius:10px;background:var(--chip, #f1f3f6);border:1px solid transparent}.weekchip-h{font-weight:700;font-variant-numeric:tabular-nums}.weekchip-l{font-size:10.5px;color:var(--muted);margin-top:1px}.weekchip.cur{background:#0a82b41a;border-color:var(--brand2)}.weekchip.cur .weekchip-h,.weekchip.cur .weekchip-l{color:var(--brand2)}.datefld{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--muted)}.presets{display:flex;gap:6px;flex-wrap:wrap}.presets .chip{cursor:pointer}.toast{display:inline-flex;align-items:center;gap:9px;animation:toast-in .22s cubic-bezier(.2,.8,.2,1)}.toast-ic{display:inline-flex;flex:none}.toast.ok .toast-ic{color:#49d17f}.toast.err .toast-ic{color:#ff6b6b}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.searchwrap{position:relative;display:inline-flex;align-items:center}.searchclear{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--faint);cursor:pointer;display:grid;place-items:center;padding:3px;border-radius:6px;transition:color .12s ease,background .12s ease}.searchclear:hover{color:var(--ink);background:var(--line2)}.sortth{transition:color .12s ease}.sortth:hover{color:var(--ink)}.selbar{display:flex;align-items:center;gap:9px;background:#0a82b414;border:1px solid var(--brand2);border-radius:12px;padding:9px 13px;margin-bottom:12px;font-size:13.5px;color:var(--ink)}.tabview{animation:tabfade .24s ease}@keyframes tabfade{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.boardlist .grouphead{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:11px 14px 6px}.boardlist>div+div .grouphead{border-top:1px solid var(--line2);margin-top:2px;padding-top:12px}.boardlist .row{padding:9px 13px;gap:11px}.boardlist .row .avatar{width:36px;height:36px;border-radius:11px;font-size:13px}.boardlist .row .nm{font-size:14px}.boardlist .row .contact{margin-top:4px;gap:5px}.boardlist .row .contact .cbtn{padding:2px 9px;font-size:11px}:root[data-density=compact] .boardlist{padding:8px 10px}:root[data-density=compact] .boardlist .row{border-bottom:0;border:1px solid var(--line2);border-radius:10px;margin-bottom:7px;padding:7px 10px;gap:9px}:root[data-density=compact] .boardlist .row:last-child{margin-bottom:0}:root[data-density=compact] .boardlist .row:hover{border-color:var(--line);background:transparent}:root[data-density=compact] .boardlist .row .avatar{width:30px;height:30px;border-radius:9px;font-size:11px}:root[data-density=compact] .boardlist .row .avatar .dot{width:9px;height:9px;border-width:1.5px}:root[data-density=compact] .boardlist .row .nm{font-size:13px}:root[data-density=compact] .boardlist .row .sub{font-size:11px}:root[data-density=compact] .boardlist .row .contact{margin-top:3px;gap:5px}:root[data-density=compact] .boardlist .row .contact .cbtn{padding:1px 8px;font-size:10.5px}:root[data-density=compact] .boardlist .row .pill{padding:1px 8px;font-size:10px}@media (min-width: 760px){:root[data-density=compact] .boardlist{column-count:2;column-gap:12px}:root[data-density=compact] .boardlist .grouphead{column-span:all;margin:2px 0 6px}:root[data-density=compact] .boardlist .boardempty{column-span:all}:root[data-density=compact] .boardlist .row{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid}}@media (min-width: 1180px){:root[data-density=compact] .boardlist{column-count:3}}@media (max-width: 759px){:root[data-density=compact] main{padding:11px 11px 86px}:root[data-density=compact] .kpis{gap:7px;margin-bottom:10px}:root[data-density=compact] .kpi{padding:9px 7px;border-radius:11px}:root[data-density=compact] .kpi .n{font-size:21px}:root[data-density=compact] .kpi .l{font-size:9px;margin-top:2px;letter-spacing:.04em}:root[data-density=compact] .sectiontitle{margin:7px 2px 5px}:root[data-density=compact] .row{padding:7px 11px;gap:9px}:root[data-density=compact] .avatar{width:31px;height:31px;border-radius:9px;font-size:11.5px}:root[data-density=compact] .nm{font-size:13px}:root[data-density=compact] .sub{font-size:11px}:root[data-density=compact] .cbtn{padding:1px 8px;font-size:10.5px}:root[data-density=compact] .pill{padding:2px 8px;font-size:10.5px}:root[data-density=compact] .card{border-radius:12px}:root[data-density=compact] table.tt{font-size:12.5px}:root[data-density=compact] table.tt th,:root[data-density=compact] table.tt td{padding:6px 9px}:root[data-density=compact] table.tt th{font-size:9px}:root[data-density=compact] .btn{padding:6px 11px;font-size:13px;border-radius:9px}:root[data-density=compact] .btn.sm{padding:4px 9px;font-size:12px;border-radius:8px}:root[data-density=compact] .filterchips{padding:1px 0 8px;gap:6px}:root[data-density=compact] .chip{padding:4px 11px;font-size:12px}:root[data-density=compact] .grid2{gap:8px}:root[data-density=compact] label.fld{margin-bottom:9px}:root[data-density=compact] label.fld span{margin-bottom:3px}:root[data-density=compact] input.in,:root[data-density=compact] select.in{padding:8px 11px;border-radius:9px}:root[data-density=compact] .weekchip{padding:4px 7px;min-width:42px;border-radius:9px}:root[data-density=compact] .entrysum{padding:8px 12px;margin:2px 0 10px}}.coconfirm{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:5px 8px;box-shadow:var(--shadow-sm);max-width:100%}.coconfirm-q{font-size:12.5px;font-weight:600;color:var(--ink)}:root[data-density=compact] .boardlist .row{flex-wrap:wrap}:root[data-density=compact] .boardlist .row .coconfirm{flex:1 1 100%;margin-top:6px}.btn.iconbtn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px}.btn.sm.iconbtn{padding:5px 8px}.btn.ghost.iconbtn:hover{color:var(--brand)}.denstoggle{display:none}@media (min-width: 760px){.denstoggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .15s ease;white-space:nowrap}.denstoggle:hover{border-color:#cdd9e4;color:var(--ink)}.denstoggle.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 12px #00466a38}}:root[data-theme=dark] .denstoggle:hover{border-color:#324351}.weeknav{display:flex;align-items:center;gap:6px}.weeknav-lbl{border:none;background:none;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--ink);min-width:108px;text-align:center;font-variant-numeric:tabular-nums;padding:5px 8px;border-radius:8px;transition:background .12s ease}.weeknav-lbl:hover{background:var(--line2)}.weekpick{width:158px;min-width:0;padding:6px 9px}.wkprogress{height:7px;background:var(--line2);border-radius:999px;overflow:hidden;margin:6px 0 2px}.wkprogress-bar{height:100%;background:linear-gradient(90deg,#0a82b4,#00466a);border-radius:999px;transition:width .35s ease}.daybars{display:flex;gap:6px;align-items:flex-end;margin-top:10px;height:74px}.daybar{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;justify-content:flex-end}.daybar-track{width:100%;max-width:30px;flex:1;display:flex;align-items:flex-end;background:var(--line2);border-radius:6px;overflow:hidden}.daybar-fill{width:100%;background:linear-gradient(180deg,#0d92c8,#00466a);border-radius:6px 6px 0 0;min-height:2px;transition:height .35s ease}.daybar-h{font-size:9.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.daybar-h.z{color:var(--faint);font-weight:500}.daybar-l{font-size:10px;color:var(--faint);font-weight:600}.daybar-l.today{color:var(--brand2)}:root[data-theme=dark] .daybar-fill{background:linear-gradient(180deg,#5fc0e8,#3ba9d6)}:root[data-theme=dark] .wkprogress-bar{background:linear-gradient(90deg,#3ba9d6,#5fc0e8)}.filtersummary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}.fchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;background:var(--chip,#eef2f5);color:var(--ink);border-radius:999px;padding:3px 5px 3px 11px;white-space:nowrap}.fchip button{border:none;background:#00000014;color:inherit;width:17px;height:17px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1;display:grid;place-items:center;padding:0;flex:none}.fchip button:hover{background:#00000029}:root[data-theme=dark] .fchip{background:#1e2a33}:root[data-theme=dark] .fchip button{background:#ffffff1f}:root[data-theme=dark] .fchip button:hover{background:#ffffff38}.typechip{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;white-space:nowrap}.typechip.t-m365{background:#e3f0fb;color:#1a5e8a}.typechip.t-fsg{background:#e9e6fb;color:#4b3f9e}.typechip.t-ekstern{background:#eef3f5;color:#5f6e79}.typechip.hourly{background:#e6f6ec;color:#1c7a3e}:root[data-theme=dark] .typechip.hourly{background:#16331f;color:#6fd28e}:root[data-theme=dark] .typechip.t-m365{background:#16303f;color:#7cc3ec}:root[data-theme=dark] .typechip.t-fsg{background:#241f3a;color:#a99cf0}:root[data-theme=dark] .typechip.t-ekstern{background:#1e2a33;color:#9fb0bb}.userlist .row{padding:9px 14px;gap:11px}.userlist .row .avatar{width:38px;height:38px;border-radius:11px;font-size:13px}.userlist .row .contact{margin-top:3px;gap:5px}.userlist .row .contact .cbtn{padding:2px 9px;font-size:11px}.toast-undo{background:#ffffff2e;border:none;color:#fff;font-weight:700;font-size:12.5px;padding:4px 11px;border-radius:8px;cursor:pointer;margin-left:4px;flex:none}.toast-undo:hover{background:#ffffff4d}.skel{background:linear-gradient(90deg,var(--line2) 25%,var(--line) 37%,var(--line2) 63%);background-size:400% 100%;border-radius:8px;animation:skel 1.3s ease infinite}.skel-av{width:42px;height:42px;border-radius:12px;flex:none}.skel-line{height:11px;border-radius:6px}@keyframes skel{0%{background-position:100% 50%}to{background-position:0 50%}}.updatebar{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--brand);color:#fff;font-size:13px;font-weight:600;padding:8px 14px;position:sticky;top:0;z-index:30}.updatebar button{background:#fff;color:var(--brand);border:none;border-radius:8px;padding:5px 13px;font-weight:700;font-size:12.5px;cursor:pointer}.updatebar button:hover{filter:brightness(.96)}.skiftanim{animation:skiftin .3s cubic-bezier(.2,.7,.3,1.3) both}@keyframes skiftin{0%{opacity:0;transform:translate(10px) scale(.95)}to{opacity:1;transform:none}}.grid2{min-width:0}.grid2>*{min-width:0}.modal .fld{min-width:0}.modal input.in,.modal select.in{min-width:0;max-width:100%;box-sizing:border-box}.modal input.in[type=datetime-local],.modal input.in[type=date],.modal input.in[type=time],.modal input.in[type=month]{width:100%;min-width:0}.menu-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);padding:9px 11px 4px}.menu-label:first-child{padding-top:4px}.menu-period{display:flex;flex-direction:column;gap:5px;padding:9px 11px 8px;border-bottom:1px solid var(--line2);margin-bottom:4px}.menu-period>span{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.menu-period input.in{padding:7px 9px}.alltoolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.daterange{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:8px 11px;color:var(--faint);box-shadow:var(--shadow-sm)}.daterange .bare{border:none;background:none;padding:0;margin:0;font:inherit;letter-spacing:inherit;color:var(--ink);width:auto;min-width:0}.daterange .bare:focus{outline:none}.daterange .dash{color:var(--faint)}.seg{display:inline-flex;background:var(--line2);border-radius:11px;padding:3px;gap:2px}.seg button{border:none;background:none;padding:6px 13px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.seg button:hover{color:var(--ink);background:var(--card);box-shadow:var(--shadow-sm)}.in.selauto{width:auto;min-width:140px}:root[data-theme=dark] .daterange .bare{color-scheme:dark}.kpis4{grid-template-columns:repeat(4,1fr)}.kpi-u{font-size:13px;color:var(--muted);font-weight:600}.barchart{display:flex;align-items:flex-end;gap:3px;height:130px}.barchart .bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.barchart .bar-track{width:100%;max-width:24px;flex:1;display:flex;align-items:flex-end}.barchart .bar-fill{width:100%;background:linear-gradient(180deg,#0d92c8,#00466a);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s ease}.barchart .bar.we .bar-fill{opacity:.4}.barchart .bar-lbl{font-size:9px;color:var(--faint);margin-top:5px;white-space:nowrap}:root[data-theme=dark] .barchart .bar-fill{background:linear-gradient(180deg,#5fc0e8,#3ba9d6)}.hbar{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px}.hbar-label{width:118px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.hbar-track{flex:1;height:10px;background:var(--line2);border-radius:999px;overflow:hidden;min-width:0}.hbar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0a82b4,#00466a);transition:width .35s ease}.hbar-val{width:62px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;flex:none;color:var(--ink)}@media (max-width:620px){.kpis4{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.hbar-label{width:96px}}
