@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f4ef;--surface:#fff;--surface-2:#faf9f5;--surface-3:#f0eee7;--border:#e5e2d9;--border-strong:#d3cfc3;--text:#1c1f24;--text-2:#565c65;--text-3:#8a8f98;--primary:#0b6e74;--primary-hover:#095b60;--primary-soft:#e0f0f0;--on-primary:#fff;--danger:#c0352b;--danger-soft:#fbe9e7;--warn:#a96a0b;--warn-soft:#fcf1d9;--success:#1d8450;--success-soft:#def3e7;--c-meeting:#2563eb;--c-resolution:#15803d;--c-directive:#c2570c;--c-correspondence:#7c3aed;--c-adhoc:#be185d;--holiday:#c0352b;--offday:#f0eee8;--shadow-sm:0 1px 2px #14140a0f;--shadow:0 4px 16px #14140a14, 0 1px 3px #14140a0f;--shadow-lg:0 18px 50px #14140a38;--radius:12px;--radius-sm:8px;--sidebar-w:236px;--focus:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#14161a;--surface:#1c1f25;--surface-2:#20242b;--surface-3:#272c34;--border:#2d323b;--border-strong:#3b414c;--text:#eceef1;--text-2:#b0b6c0;--text-3:#7f8793;--primary:#3fb2b8;--primary-hover:#5cc5ca;--primary-soft:#16363a;--on-primary:#08262a;--danger:#ff7d70;--danger-soft:#3a1f1d;--warn:#f0b955;--warn-soft:#3a2e14;--success:#5fd391;--success-soft:#16332366;--c-meeting:#6c9bff;--c-resolution:#4ade80;--c-directive:#fb923c;--c-correspondence:#b794ff;--c-adhoc:#f472b6;--holiday:#ff7d70;--offday:#1a1d22;--shadow-sm:0 1px 2px #0006;--shadow:0 4px 16px #0006;--shadow-lg:0 18px 50px #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--surface:#1c1f25;--surface-2:#20242b;--surface-3:#272c34;--border:#2d323b;--border-strong:#3b414c;--text:#eceef1;--text-2:#b0b6c0;--text-3:#7f8793;--primary:#3fb2b8;--primary-hover:#5cc5ca;--primary-soft:#16363a;--on-primary:#08262a;--danger:#ff7d70;--danger-soft:#3a1f1d;--warn:#f0b955;--warn-soft:#3a2e14;--success:#5fd391;--success-soft:#16332366;--c-meeting:#6c9bff;--c-resolution:#4ade80;--c-directive:#fb923c;--c-correspondence:#b794ff;--c-adhoc:#f472b6;--holiday:#ff7d70;--offday:#1a1d22;--shadow-sm:0 1px 2px #0006;--shadow:0 4px 16px #0006;--shadow-lg:0 18px 50px #0009}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01";margin:0;font-family:Vazirmatn Variable,Vazirmatn,Tahoma,system-ui,sans-serif;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}a{color:var(--primary);text-decoration:none}:focus-visible{box-shadow:var(--focus);outline:none}.ltr{direction:ltr;unicode-bidi:isolate}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:38px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s,transform 50ms;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{background:var(--primary-hover)}.btn.soft{background:var(--primary-soft);color:var(--primary);border-color:#0000}.btn.soft:hover{background:color-mix(in srgb, var(--primary) 18%, var(--surface))}.btn.success{background:var(--success-soft);color:var(--success);border-color:#0000}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.btn.danger:hover{background:var(--danger-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{height:32px;padding:0 10px;font-size:13.5px}.btn.lg{height:44px;padding:0 20px;font-size:16px}.btn.block{width:100%}.icon-btn{width:36px;height:36px;color:var(--text-2);background:0 0;border:0;border-radius:10px;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.sm{border-radius:8px;width:30px;height:30px}.field{gap:6px;display:grid}.field>label,.label{color:var(--text-2);font-size:13px;font-weight:500}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:40px;padding:7px 12px;transition:border-color .12s}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--focus);outline:none}.textarea{resize:vertical;min-height:92px;line-height:1.8}.input.big{min-height:48px;font-size:18px;font-weight:600}.input.invalid{border-color:var(--danger)}.hint{color:var(--text-3);font-size:12.5px}.error-text{color:var(--danger);font-size:13px}.row-gap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch .track{background:var(--border-strong);border-radius:99px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch .track:after{content:"";top:3px;background:#fff;border-radius:50%;width:16px;height:16px;transition:inset-inline-start .15s;position:absolute;inset-inline-start:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{inset-inline-start:19px}.switch input:focus-visible+.track{box-shadow:var(--focus)}.seg{background:var(--surface-3);border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg button{height:32px;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 14px;font-weight:500}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.chip{background:var(--surface-3);height:26px;color:var(--text-2);white-space:nowrap;border:0;border-radius:99px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.chip.cat{--c:var(--text-2);color:var(--c);background:color-mix(in srgb, var(--c) 12%, var(--surface))}.chip.cat:before{content:"";background:var(--c);border-radius:50%;width:7px;height:7px}.chip.status-open{background:var(--surface-3)}.chip.status-in_progress{background:color-mix(in srgb, var(--c-meeting) 14%, var(--surface));color:var(--c-meeting)}.chip.status-done{background:var(--success-soft);color:var(--success)}.chip.status-cancelled{background:var(--surface-3);color:var(--text-3);text-decoration:line-through}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip-toggle{border:1px solid var(--border-strong);background:var(--surface);height:32px;color:var(--text-2);cursor:pointer;padding:0 12px}.chip-toggle[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.chip-toggle.cat[aria-pressed=true]{background:color-mix(in srgb, var(--c) 14%, var(--surface));border-color:var(--c);color:var(--c)}.cat-meeting{--c:var(--c-meeting)}.cat-resolution{--c:var(--c-resolution)}.cat-directive{--c:var(--c-directive)}.cat-correspondence{--c:var(--c-correspondence)}.cat-adhoc{--c:var(--c-adhoc)}.dot{background:var(--dot,var(--text-3));border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.avatar{--h:190;background:hsl(var(--h) 55% 50% / .18);width:26px;height:26px;color:hsl(var(--h) 62% 38%);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.avatar.lg{width:36px;height:36px;font-size:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .avatar{color:hsl(var(--h) 75% 74%)}}:root[data-theme=dark] .avatar{color:hsl(var(--h) 75% 74%)}.badge{top:2px;background:var(--danger);color:#fff;text-align:center;border-radius:99px;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:700;line-height:17px;position:absolute;inset-inline-end:2px}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100%;display:grid}.sidebar{background:var(--surface);border-inline-end:1px solid var(--border);flex-direction:column;gap:6px;min-height:0;padding:18px 14px;display:flex}.brand{align-items:center;gap:10px;padding:4px 8px 14px;font-size:18px;font-weight:800;display:flex}.brand img{border-radius:10px;width:34px;height:34px}.brand small{color:var(--text-3);margin-top:-4px;font-size:11.5px;font-weight:500;display:block}.nav{gap:2px;display:grid}.nav a{height:42px;color:var(--text-2);border-radius:10px;align-items:center;gap:11px;padding:0 12px;font-weight:500;display:flex}.nav a:hover{background:var(--surface-3);color:var(--text)}.nav a.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.nav .count{background:var(--danger);color:#fff;border-radius:99px;margin-inline-start:auto;padding:0 7px;font-size:12px;line-height:19px}.sidebar .spacer{flex:1}.usercard{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.usercard .name{font-weight:600;line-height:1.3}.usercard .role{color:var(--text-3);font-size:12px}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:10px;padding:12px 24px;display:flex;position:sticky;top:0}.topbar h1{font-size:19px;font-weight:800}.topbar .grow{flex:1}.page{flex:1;padding:22px 24px 40px;overflow:auto}.page.fill{flex-direction:column;padding:0;display:flex;overflow:hidden}.mobile-only{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-head{align-items:center;gap:10px;padding:14px 16px 6px;display:flex}.card-head h2{font-size:15px;font-weight:700}.card-head .count{color:var(--text-3);background:var(--surface-3);border-radius:99px;padding:0 8px;font-size:12.5px}.card-head.danger h2{color:var(--danger)}.card-body{padding:4px 8px 10px}.today-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;max-width:1180px;margin-inline:auto;display:grid}.stack{gap:16px;display:grid}.hello{margin-bottom:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;max-width:1180px;margin-inline:auto;display:flex}.hello h2{font-size:22px;font-weight:800}.stats{flex-wrap:wrap;gap:10px;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:8px 14px;display:flex}.stat b{font-size:20px;font-weight:800;line-height:1}.stat span{color:var(--text-2);font-size:12.5px}.stat.danger b{color:var(--danger)}.item-row{cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 8px;display:flex;position:relative}.item-row:hover{background:var(--surface-2)}.item-row+.item-row{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent)}.check{border:2px solid var(--border-strong);color:#0000;background:0 0;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;padding:0;display:grid}.check:hover:not(:disabled){border-color:var(--success);color:var(--success)}.check.on{background:var(--success);border-color:var(--success);color:#fff}.check:disabled{cursor:default;opacity:.5}.item-bar{background:var(--c,var(--border-strong));border-radius:4px;flex:none;align-self:stretch;width:4px}.item-main{flex:1;min-width:0}.item-title{overflow-wrap:anywhere;font-weight:600;line-height:1.5}.item-row.is-done .item-title{color:var(--text-3);text-decoration:line-through}.item-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:2px;font-size:13px;display:flex}.item-meta .m{align-items:center;gap:5px;display:inline-flex}.item-meta .m.late{color:var(--danger);font-weight:600}.item-meta svg{flex:none}.item-side{flex:none;align-items:center;gap:6px;display:flex}.empty{text-align:center;color:var(--text-3);justify-items:center;gap:6px;padding:26px 16px;display:grid}.empty svg{opacity:.6}.slot-card{align-items:center;gap:12px;padding:14px 16px;display:flex}.slot-card .icon{background:var(--success-soft);width:40px;height:40px;color:var(--success);border-radius:12px;place-items:center;display:grid}.feed-item{cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 8px;display:flex}.feed-item:hover{background:var(--surface-2)}.feed-item .t{font-size:13.5px;line-height:1.6}.feed-item .s{color:var(--text-3);font-size:12px}.feed-item.unread{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.backdrop{z-index:60;background:#0a0c106b;animation:.15s ease-out fade;position:fixed;inset:0}.drawer{top:0;bottom:0;background:var(--surface);z-index:61;width:min(520px,100vw);box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s ease-out slide;display:flex;position:fixed;inset-inline-end:0}[dir=rtl] .drawer{inset-inline-end:auto;animation-name:slide-rtl;left:0}.drawer-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.drawer-body{flex:1;align-content:start;gap:16px;padding:18px 20px 24px;display:grid;overflow:auto}.drawer-foot{border-top:1px solid var(--border);background:var(--surface);gap:8px;padding:12px 16px;display:flex}.modal{z-index:62;pointer-events:none;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal .box{pointer-events:auto;background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);border-radius:16px;animation:.16s ease-out pop;display:grid;overflow:auto}.modal .box.wide{width:min(760px,100%)}.modal .box>header{align-items:center;gap:8px;padding:16px 20px 0;display:flex}.modal .box>header h2{flex:1;font-size:17px;font-weight:800}.modal .box>.body{gap:14px;padding:14px 20px 18px;display:grid}.modal .box>footer{justify-content:flex-start;gap:8px;padding:12px 20px 16px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@keyframes slide-rtl{0%{opacity:0;transform:translate(-24px)}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.popover{z-index:80;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:14px;animation:.12s ease-out pop;position:fixed}.detail-title{overflow-wrap:anywhere;font-size:21px;font-weight:800;line-height:1.55}.info-grid{grid-template-columns:110px 1fr;align-items:start;gap:8px 12px;font-size:14.5px;display:grid}.info-grid dt{color:var(--text-3);font-size:13.5px}.info-grid dd{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.desc{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;line-height:1.9}.actions{flex-wrap:wrap;gap:8px;display:flex}.section-title{color:var(--text-2);align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.comment{gap:10px;display:flex}.comment .bubble{background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:4px 14px 14px;min-width:0;padding:8px 12px}.comment.mine .bubble{background:var(--primary-soft);border-color:#0000}.comment .who{color:var(--text-3);margin-bottom:1px;font-size:12px}.timeline{gap:0;display:grid}.timeline .ev{gap:10px;padding:7px 0;font-size:13.5px;display:flex;position:relative}.timeline .ev:before{content:"";background:var(--border-strong);border-radius:50%;flex:none;width:8px;height:8px;margin-top:8px}.conflict{background:var(--warn-soft);color:var(--warn);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.conflict ul{margin:2px 0 0;padding-inline-start:16px}.callout{background:var(--primary-soft);color:var(--primary);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.cal-toolbar{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;display:flex}.cal-toolbar .title{min-width:150px;font-size:18px;font-weight:800}.cal-filter{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 24px;display:flex}.cal-body{background:var(--surface);flex:1;min-height:0;overflow:auto}.month{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(118px,1fr);min-height:100%;display:grid}.month .dow{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border);text-align:center;color:var(--text-2);height:34px;min-height:0;padding:6px 0;font-size:13px;font-weight:700;position:sticky;top:0}.month-wrap{grid-template-rows:34px 1fr;min-height:100%;display:grid}.month-head{background:var(--surface-2);border-bottom:1px solid var(--border);z-index:3;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:sticky;top:0}.month-head div{text-align:center;color:var(--text-2);padding:6px 0;font-size:13px;font-weight:700}.month-head div.off{color:var(--holiday)}.mcell{border-inline-start:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;background:var(--surface);flex-direction:column;gap:2px;min-width:0;padding:4px 5px 8px;display:flex;position:relative}.mcell:hover,.mcell.other{background:var(--surface-2)}.mcell.other .dnum{color:var(--text-3)}.mcell.off{background:var(--offday)}.mcell .dnum{border-radius:99px;align-self:flex-start;place-items:center;min-width:26px;height:26px;font-size:13.5px;font-weight:600;display:inline-grid}.mcell.holiday .dnum{color:var(--holiday)}.mcell.today .dnum{background:var(--primary);color:var(--on-primary)}.mcell .hol{color:var(--holiday);white-space:nowrap;text-overflow:ellipsis;margin-top:-2px;font-size:11px;overflow:hidden}.mhead{align-items:center;gap:4px;min-width:0;display:flex}.mhead .hol{flex:1;margin:0}.mchip{background:color-mix(in srgb, var(--c) 13%, var(--surface));color:color-mix(in srgb, var(--c) 78%, var(--text));text-align:start;white-space:nowrap;text-overflow:ellipsis;border:0;border-inline-start:3px solid var(--c);border-radius:5px;align-items:center;gap:4px;width:100%;padding:1px 5px;font-size:12px;line-height:1.5;display:flex;overflow:hidden}.mchip.done{opacity:.55;text-decoration:line-through}.mchip.hidden-busy{--c:var(--text-3);background:repeating-linear-gradient(135deg, var(--surface-3), var(--surface-3) 4px, transparent 4px, transparent 8px)}.mchip b{flex:none;font-weight:700}.mchip span{text-overflow:ellipsis;overflow:hidden}.more-link{color:var(--text-3);text-align:start;background:0 0;border:0;padding:0 5px;font-size:11.5px}.busy-bar{inset-inline:5px;background:var(--surface-3);border-radius:4px;height:4px;position:absolute;bottom:3px;overflow:hidden}.busy-bar i{background:var(--bar,var(--success));border-radius:4px;height:100%;display:block}.tgrid{--hour-h:56px;min-width:0}.tgrid.week{min-width:760px}.t-headrow,.t-alldayrow,.t-body{grid-template-columns:56px minmax(0,1fr);display:grid}.t-headrow{z-index:6;background:var(--surface);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.t-alldayrow{border-bottom:1px solid var(--border-strong);background:var(--surface-2)}.agut{color:var(--text-3);place-items:center;font-size:11px;display:grid}.t-head{display:grid}.mcell .addbtn{opacity:0;margin-inline-start:auto}.mcell:hover .addbtn,.mcell .addbtn:focus-visible{opacity:1}.t-head .hcell{text-align:center;border-inline-start:1px solid var(--border);cursor:pointer;min-width:0;padding:6px 6px 8px}.t-head .hcell:hover{background:var(--surface-2)}.t-head .hcell.off{background:var(--offday)}.t-head .wd{color:var(--text-2);font-size:12.5px}.t-head .dn{border-radius:99px;place-items:center;min-width:34px;height:34px;padding:0 6px;font-size:17px;font-weight:800;display:inline-grid}.t-head .hcell.today .dn{background:var(--primary);color:var(--on-primary)}.t-head .hcell.holiday .dn,.t-head .hcell.holiday .wd{color:var(--holiday)}.t-head .hcell.today.holiday .dn{color:var(--on-primary)}.t-head .hol{color:var(--holiday);text-overflow:ellipsis;white-space:nowrap;min-height:14px;font-size:11px;line-height:1.3;overflow:hidden}.t-allday{display:grid}.t-allday .acell{border-inline-start:1px solid var(--border);align-content:start;gap:2px;min-height:34px;padding:4px;display:grid}.t-gutter{position:relative}.t-gutter .hl{color:var(--text-3);text-align:center;font-size:11.5px;position:absolute;inset-inline:0;transform:translateY(-50%)}.t-cols{display:grid;position:relative}.t-col{border-inline-start:1px solid var(--border);background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px);background-size:100% var(--hour-h);cursor:cell;position:relative}.t-col.off{background-color:var(--offday)}.t-col .nonwork{background:color-mix(in srgb, var(--offday) 85%, transparent);pointer-events:none;position:absolute;inset-inline:0}.t-col.off .nonwork{display:none}.evt{cursor:pointer;background:color-mix(in srgb, var(--c) 16%, var(--surface));color:color-mix(in srgb, var(--c) 70%, var(--text));border:0;border-inline-start:4px solid var(--c);text-align:start;box-shadow:0 0 0 1px var(--surface);border-radius:8px;padding:3px 7px;font-size:12.5px;line-height:1.45;position:absolute;overflow:hidden}.evt:hover{z-index:4;box-shadow:var(--shadow)}.evt b{font-weight:700;display:block}.evt small{opacity:.85;font-size:11.5px;display:block}.evt.done{opacity:.55}.evt.done b{text-decoration:line-through}.evt.hidden-busy{--c:var(--text-3);background:repeating-linear-gradient(135deg, var(--surface-3), var(--surface-3) 5px, var(--surface) 5px, var(--surface) 10px);color:var(--text-3);cursor:default}.now-line{background:var(--danger);z-index:5;pointer-events:none;height:2px;position:absolute;inset-inline:0}.now-line:before{content:"";inset-inline-start:-4px;background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px}.ghost-slot{background:color-mix(in srgb, var(--primary) 14%, transparent);border:1.5px dashed var(--primary);pointer-events:none;color:var(--primary);border-radius:8px;padding:2px 6px;font-size:12px;position:absolute;inset-inline:2px}.datebtn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);text-align:start;align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 12px;display:flex}.datebtn:hover{border-color:var(--text-3)}.datebtn .ph{color:var(--text-3)}.datepop{width:300px;padding:12px}.datepop .head{justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:800;display:flex}.datepop .grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepop .grid .w{color:var(--text-3);padding:4px 0;font-size:12px}.datepop .grid .w.off{color:var(--holiday)}.datepop .d{background:0 0;border:0;border-radius:10px;height:36px;font-weight:500}.datepop .d:hover{background:var(--surface-3)}.datepop .d.off{color:var(--holiday)}.datepop .d.today{box-shadow:inset 0 0 0 1.5px var(--primary)}.datepop .d.sel{background:var(--primary);color:var(--on-primary)}.datepop .foot{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.timefield{direction:ltr;align-items:center;gap:4px;display:flex}.timefield .input{text-align:center;letter-spacing:1px;direction:ltr;max-width:120px;padding-inline:6px}.notif-pop{flex-direction:column;width:min(400px,100vw - 20px);max-height:min(560px,100vh - 80px);display:flex}.notif-pop header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.notif-pop header h3{flex:1;font-size:15px}.notif-list{flex:1;overflow:auto}.notif{cursor:pointer;border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.notif:hover{background:var(--surface-2)}.notif.unread{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.notif .ico{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);border-radius:10px;flex:none;place-items:center;display:grid}.notif .ico.k-nag,.notif .ico.k-overdue{background:var(--danger-soft);color:var(--danger)}.notif .ico.k-reminder{background:var(--warn-soft);color:var(--warn)}.notif .ico.k-done{background:var(--success-soft);color:var(--success)}.notif .ico.k-created,.notif .ico.k-assigned{background:var(--primary-soft);color:var(--primary)}.notif .t{font-size:14px;font-weight:600;line-height:1.55}.notif .b{color:var(--text-2);font-size:13px}.notif .s{color:var(--text-3);font-size:11.5px}.toasts{z-index:100;inset-inline:0;pointer-events:none;justify-items:center;gap:8px;padding:0 12px;display:grid;position:fixed;bottom:18px}.toast{pointer-events:auto;color:#fff;max-width:min(520px,100%);box-shadow:var(--shadow-lg);background:#23272e;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;font-size:14px;animation:.16s ease-out pop;display:flex}.toast.err{background:#7a1f19}.toast .tb{opacity:.8;font-size:12.5px;display:block}.toast button.act{color:#fff;background:#ffffff29;border:0;border-radius:8px;height:28px;padding:3px 10px}.auth-wrap{background:radial-gradient(1200px 500px at 80% -10%, color-mix(in srgb, var(--primary) 14%, transparent), transparent), var(--bg);place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth-card{gap:16px;width:min(440px,100%);padding:28px;display:grid}.auth-card .logo{align-items:center;gap:12px;display:flex}.auth-card .logo img{border-radius:14px;width:48px;height:48px}.auth-card h1{font-size:22px;font-weight:800;line-height:1.3}.fieldset{border:1px solid var(--border);border-radius:12px;gap:10px;padding:12px 14px 14px;display:grid}.fieldset legend{color:var(--text-2);padding:0 6px;font-size:13.5px;font-weight:700}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.filters .input{width:220px}.filters .select{width:auto;min-width:140px}.group-title{color:var(--text-2);align-items:center;gap:8px;margin:18px 4px 6px;font-size:13px;font-weight:800;display:flex}.group-title.danger{color:var(--danger)}.narrow{max-width:920px;margin-inline:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:start;border-bottom:1px solid var(--border);padding:9px 10px}.table th{color:var(--text-3);font-size:12.5px;font-weight:600}.table td.c,.table th.c{text-align:center}.table input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.user-row{align-items:center;gap:12px;padding:12px 14px;display:flex}.user-row+.user-row{border-top:1px solid var(--border)}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{background:var(--sw);border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}.daygrid{flex-wrap:wrap;gap:6px;display:flex}.loading{height:100%;min-height:200px;color:var(--text-3);place-items:center;display:grid}.spinner{border:3px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:.8s linear infinite spin}.bottomnav{display:none}@media (width<=1100px){.today-grid{grid-template-columns:1fr}}@media (width<=820px){.app{grid-template-rows:1fr auto;grid-template-columns:1fr}.sidebar{display:none}.mobile-only{display:initial}.icon-btn.mobile-only{display:inline-grid}.desktop-only{display:none!important}.topbar{padding:10px 14px}.topbar h1{font-size:17px}.page{padding:14px 12px 28px}.cal-toolbar,.cal-filter{padding-inline:12px}.bottomnav{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid}.bottomnav a,.bottomnav button{color:var(--text-2);background:0 0;border:0;justify-items:center;gap:0;padding:7px 0 6px;font-size:11.5px;display:grid;position:relative}.bottomnav a.active{color:var(--primary);font-weight:700}.bottomnav .fab{background:var(--primary);width:46px;height:46px;color:var(--on-primary);box-shadow:var(--shadow);border-radius:50%;place-items:center;margin-top:-16px;display:grid}.grid-2{grid-template-columns:1fr}.info-grid{grid-template-columns:90px 1fr}.drawer{width:100vw}.month{grid-auto-rows:minmax(88px,1fr)}.mcell .mchip span{display:none}.mcell .mchip{width:auto;padding:1px 4px}.mcell .hol{display:none}.filters .input{width:100%}.stats .stat{padding:6px 10px}}@media print{.sidebar,.topbar,.bottomnav,.cal-toolbar{display:none!important}}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:2px;padding:12px 14px;display:grid}.kpi b{font-size:26px;font-weight:800;line-height:1.2}.kpi span{color:var(--text-2);font-size:12.5px;line-height:1.5}.kpi.success b{color:var(--success)}.kpi.danger b{color:var(--danger)}.report-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.btn.disabled{opacity:.55;pointer-events:none}a.btn{text-decoration:none}.heat{grid-template-columns:96px repeat(var(--cols), minmax(34px, 1fr));align-items:stretch;gap:3px;min-width:480px;display:grid}.heat .hh{text-align:center;color:var(--text-3);font-size:11.5px}.heat .hd{text-align:start;color:var(--text-2);white-space:nowrap;background:0 0;border:0;padding:0 4px;font-size:12.5px}.heat .hd.off{color:var(--holiday)}.heat .hd:hover{color:var(--primary)}.heat .hc{background:var(--surface-3);border-radius:5px;height:26px}.heat .hc[data-busy]{background:color-mix(in srgb, var(--primary) var(--p), var(--surface-3))}.heat .hc.off{background:repeating-linear-gradient(135deg, var(--offday), var(--offday) 4px, var(--surface) 4px, var(--surface) 8px)}.print-only{display:none}.report-head{margin-bottom:14px}.report-head h1{font-size:22px}@media (width<=820px){.report-cols{grid-template-columns:minmax(0,1fr)}.kpi b{font-size:22px}}@media print{@page{size:A4;margin:14mm}html,body,#root{background:#fff!important;height:auto!important}.app{height:auto!important;display:block!important}.main{display:block!important}.page{padding:0!important;overflow:visible!important}.no-print,.drawer,.backdrop,.toasts{display:none!important}.print-only{display:block!important}.narrow{max-width:none!important}.card,.kpi{break-inside:avoid;box-shadow:none!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.item-row{cursor:default}}.org-row{border-top:1px solid var(--border);gap:10px;padding:14px;display:grid}.org-row:first-of-type{border-top:0}.org-new{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:12px;margin-top:10px}@media (width>=821px){.org-row:not(.org-new){grid-template-columns:minmax(200px,1fr) auto auto;align-items:center}}
