:root{--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable","Segoe UI",Roboto,"Noto Sans","Noto Sans Tamil","Tamil Sangam MN",Latha,"Helvetica Neue",Arial,sans-serif;--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI Variable Display","Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,monospace;--red:#d4000f;--red-600:#b5000d;--red-50:#fff1f1;--gold:#f2b705;--gold-soft:#fff4cc;--ink:#1d1d1f;--ink-2:#48484d;--ink-3:#6e6e73;--line:rgba(29,29,31,0.09);--line-strong:rgba(29,29,31,0.16);--bg:#eef0f4;--bg-blob-1:rgba(212,0,15,0.13);--bg-blob-2:rgba(242,183,5,0.16);--bg-blob-3:rgba(110,140,200,0.16);--glass:rgba(255,255,255,0.62);--glass-strong:rgba(255,255,255,0.82);--glass-solid:#ffffff;--glass-border:rgba(255,255,255,0.75);--glass-edge:rgba(255,255,255,0.9);--surface:rgba(255,255,255,0.94);--blur:saturate(180%) blur(22px);--shadow:0 1px 1px rgba(0,0,0,0.04),0 8px 28px rgba(30,35,60,0.08);--shadow-lg:0 2px 4px rgba(0,0,0,0.04),0 24px 60px rgba(30,35,60,0.16);--ok:#1f8a4c;--ok-bg:#e5f6ec;--warn:#a35b00;--warn-bg:#fff2d9;--danger:#c4101c;--danger-bg:#ffe8e8;--info:#1f5fbf;--info-bg:#e7f0ff;--muted-bg:rgba(120,120,128,0.12);--c-wtc:#d4000f;--c-ptc:#7a3fd1;--c-office:#1f6fd1;--c-sdo:#0f8a7e;--c-do:#b26a00;--c-meeting:#c2187a;--c-leave:#6e6e73;--r-sm:10px;--r:16px;--r-lg:22px;--r-xl:28px;--t:180ms cubic-bezier(0.2,0.8,0.2,1);--sidebar:264px;--tabbar:64px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#f5f5f7;--ink-2:#c7c7cc;--ink-3:#98989f;--line:rgba(255,255,255,0.09);--line-strong:rgba(255,255,255,0.18);--bg:#0d0e12;--bg-blob-1:rgba(212,0,15,0.22);--bg-blob-2:rgba(242,183,5,0.12);--bg-blob-3:rgba(70,100,180,0.2);--glass:rgba(36,37,44,0.58);--glass-strong:rgba(40,41,48,0.82);--glass-solid:#1c1d22;--glass-border:rgba(255,255,255,0.1);--glass-edge:rgba(255,255,255,0.16);--surface:rgba(28,29,34,0.96);--shadow:0 1px 1px rgba(0,0,0,0.3),0 8px 28px rgba(0,0,0,0.35);--shadow-lg:0 24px 60px rgba(0,0,0,0.55);--red:#ff3b42;--red-600:#ff5a60;--red-50:rgba(255,59,66,0.14);--gold-soft:rgba(242,183,5,0.16);--ok:#4cd383;--ok-bg:rgba(76,211,131,0.14);--warn:#ffbf47;--warn-bg:rgba(255,191,71,0.14);--danger:#ff6b6b;--danger-bg:rgba(255,107,107,0.15);--info:#6ea8ff;--info-bg:rgba(110,168,255,0.14);--muted-bg:rgba(120,120,128,0.24);color-scheme:dark}}:root[data-theme=dark]{--ink:#f5f5f7;--ink-2:#c7c7cc;--ink-3:#98989f;--line:rgba(255,255,255,0.09);--line-strong:rgba(255,255,255,0.18);--bg:#0d0e12;--bg-blob-1:rgba(212,0,15,0.22);--bg-blob-2:rgba(242,183,5,0.12);--bg-blob-3:rgba(70,100,180,0.2);--glass:rgba(36,37,44,0.58);--glass-strong:rgba(40,41,48,0.82);--glass-solid:#1c1d22;--glass-border:rgba(255,255,255,0.1);--glass-edge:rgba(255,255,255,0.16);--surface:rgba(28,29,34,0.96);--shadow:0 1px 1px rgba(0,0,0,0.3),0 8px 28px rgba(0,0,0,0.35);--shadow-lg:0 24px 60px rgba(0,0,0,0.55);--red:#ff3b42;--red-600:#ff5a60;--red-50:rgba(255,59,66,0.14);--gold-soft:rgba(242,183,5,0.16);--ok:#4cd383;--ok-bg:rgba(76,211,131,0.14);--warn:#ffbf47;--warn-bg:rgba(255,191,71,0.14);--danger:#ff6b6b;--danger-bg:rgba(255,107,107,0.15);--info:#6ea8ff;--info-bg:rgba(110,168,255,0.14);--muted-bg:rgba(120,120,128,0.24);color-scheme:dark}:root[data-transparency=reduced]{--glass:var(--glass-solid);--glass-strong:var(--glass-solid);--blur:none}@media (prefers-reduced-transparency:reduce){:root{--glass:var(--glass-solid);--glass-strong:var(--glass-solid);--blur:none}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){:root{--glass:var(--glass-solid);--glass-strong:var(--glass-solid)}}@media (prefers-reduced-motion:reduce){:root{--t:0ms linear}*,:after,:before{animation:none!important;transition:none!important}}:root[data-motion=reduced]{--t:0ms linear}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%}body,html{margin:0;padding:0}body{font-family:var(--font);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);min-height:100dvh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}body:before{content:"";position:fixed;inset:-20vmax;z-index:-1;background:radial-gradient(40vmax 40vmax at 12% 8%,var(--bg-blob-1),transparent 60%),radial-gradient(36vmax 36vmax at 92% 18%,var(--bg-blob-2),transparent 60%),radial-gradient(44vmax 44vmax at 60% 100%,var(--bg-blob-3),transparent 60%);pointer-events:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);margin:0;letter-spacing:-.01em;line-height:1.2}h1{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem;font-weight:600}p{margin:0}.small,small{font-size:.82rem}.muted{color:var(--ink-3)}.ink2{color:var(--ink-2)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:.85em}:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 55%,transparent);outline-offset:2px;border-radius:8px}.sr-only{width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip,.sr-only{position:absolute}.skip{left:12px;top:-60px;z-index:100;padding:10px 14px;background:var(--ink);color:var(--bg);border-radius:10px}.skip:focus{top:12px}.card,.glass,.panel{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-edge);border-radius:var(--r-lg)}.card,.panel{padding:20px;min-width:0}.solid{background:var(--surface)}.panel-head{justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.panel-head,.panel-head h2{display:flex;align-items:center}.panel-head h2{gap:8px}.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100dvh}.sidebar{position:-webkit-sticky;position:sticky;top:16px;margin:16px 0 16px 16px;height:calc(100dvh - 32px);display:flex;flex-direction:column;padding:18px 14px;gap:6px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 14px;border-bottom:1px solid var(--line);margin-bottom:8px}.brand-name{font-weight:700;font-size:.95rem;line-height:1.15}.brand-sub{font-size:.72rem;color:var(--ink-3)}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font-weight:520;transition:background var(--t),color var(--t)}.nav-link:hover{background:var(--muted-bg);color:var(--ink)}.nav-link[aria-current=page]{background:var(--glass-strong);color:var(--red);box-shadow:var(--shadow)}.nav-link svg{width:19px;height:19px;flex:none}.nav-sep{height:1px;background:var(--line);margin:8px 6px}.sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px}.main{min-width:0;padding:16px 24px 48px;display:flex;flex-direction:column;gap:18px}.content{display:flex;flex-direction:column}.content,.inst{gap:18px;max-width:1320px;width:100%;margin:0 auto}.inst{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:18px;padding:14px 20px}.inst-logo{background:#fff;border-radius:14px;padding:6px 10px;box-shadow:0 1px 2px rgba(0,0,0,.06);display:grid;place-items:center}.inst-logo img{height:52px;width:auto;object-fit:contain}.inst-text{text-align:center;line-height:1.25}.inst-text .l1{font-weight:750;font-size:1.05rem;letter-spacing:.01em}.inst-text .l2{font-weight:650;color:var(--red);font-size:.98rem}.inst-text .l3{color:var(--ink-3);font-size:.85rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar .title{display:flex;flex-direction:column;gap:2px;min-width:0}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-gap:16px;gap:16px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.span-2{grid-column:span 2}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.m-header,.m-sheet,.tabbar{display:none}@media (max-width:899px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.main{padding:0 14px calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px);gap:14px}.inst.desktop{display:none}.m-header{display:flex;align-items:center;gap:10px;position:-webkit-sticky;position:sticky;top:0;z-index:30;margin:0 -14px;padding:calc(env(safe-area-inset-top) + 8px) 14px 10px;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--line)}.m-header .inst-logo{padding:3px 6px;border-radius:10px}.m-header .inst-logo img{height:34px}.m-header .m-title{flex:1 1;min-width:0;text-align:center;line-height:1.15}.m-header .m-title b{font-size:.86rem}.m-header .m-title b,.m-header .m-title span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-header .m-title span{font-size:.7rem;color:var(--ink-3)}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;z-index:40;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 8px);height:var(--tabbar);padding:0 6px;border-radius:24px;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--glass-edge)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;font-size:.68rem;font-weight:600;color:var(--ink-3);border:0;background:none;font-family:inherit;cursor:pointer;min-width:44px}.tab svg{width:23px;height:23px}.tab[aria-current=page]{color:var(--red)}.tab-add{align-self:center}.tab-add span.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#ff2a36,var(--red) 55%,#a8000c);box-shadow:0 8px 22px rgba(212,0,15,.4),inset 0 1px 0 rgba(255,255,255,.35);transform:translateY(-14px)}.tab-add span.fab svg{width:26px;height:26px}.m-sheet.open{display:block}.m-sheet{position:fixed;inset:0;z-index:60}.m-sheet .scrim{position:absolute;inset:0;background:rgba(0,0,0,.32)}.m-sheet .sheet{position:absolute;left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom) + 8px);max-height:80dvh;overflow-y:auto;padding:10px 14px 16px;border-radius:26px;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.sheet .grabber{width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:2px auto 12px}.sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.sheet-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-size:.78rem;font-weight:600;text-align:center}.sheet-item svg{width:22px;height:22px;color:var(--red)}.g-2,.g-3,.g-main{grid-template-columns:minmax(0,1fr)}.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:auto}.card,.panel{padding:16px;border-radius:20px}.hide-m{display:none!important}.toolbar .actions.desktop-only{display:none}}@media (min-width:900px){.only-m{display:none!important}}@media (min-width:900px) and (max-width:1180px){:root{--sidebar:224px}.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1fr)}}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--glass-strong);color:var(--ink);font:600 .92rem var(--font);cursor:pointer;white-space:nowrap;transition:transform var(--t),background var(--t),box-shadow var(--t),border-color var(--t);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.btn:hover{border-color:color-mix(in srgb,var(--red) 40%,var(--line-strong))}.btn:active{transform:scale(.97)}.btn svg{width:17px;height:17px}.btn-primary{background:linear-gradient(180deg,#ff1f2c,var(--red) 60%,#b8000d);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(212,0,15,.28),inset 0 1px 0 rgba(255,255,255,.3)}.btn-primary:hover{border-color:transparent;filter:brightness(1.05)}.btn-gold{background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 50%,transparent)}.btn-ghost{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.btn-danger{color:var(--danger)}.btn-sm{min-height:34px;padding:0 12px;font-size:.85rem;border-radius:10px}.btn-icon{width:42px;padding:0}.btn[disabled]{opacity:.5;pointer-events:none}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span,.label{font-size:.8rem;font-weight:600;color:var(--ink-2)}.field .hint{font-size:.76rem;color:var(--ink-3);font-weight:400}.input,select.input,textarea.input{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:400 16px var(--font);transition:border-color var(--t),box-shadow var(--t);-webkit-appearance:none;-moz-appearance:none;appearance:none}select.input{background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}textarea.input{min-height:88px;resize:vertical}.input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 16%,transparent)}input[type=date].input,input[type=time].input{min-width:0}.check{display:flex;align-items:center;gap:10px;font-size:.92rem;min-height:40px;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.form-grid .c2{grid-column:span 2}.form-grid .c4{grid-column:1/-1}@media (max-width:899px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .c2{grid-column:1/-1}}.seg{display:inline-flex;padding:3px;border-radius:12px;background:var(--muted-bg);gap:2px;flex-wrap:wrap}.seg a,.seg button{padding:7px 12px;border-radius:9px;font:600 .84rem var(--font);color:var(--ink-2);border:0;background:none;cursor:pointer;min-height:34px;display:inline-flex;align-items:center}.seg [aria-current=page],.seg [aria-pressed=true]{background:var(--glass-solid);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:650;background:var(--muted-bg);color:var(--ink-2);white-space:nowrap;line-height:1.4}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.red{background:var(--red-50);color:var(--red)}.badge.gold{background:var(--gold-soft);color:var(--warn)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;background:currentColor}.loc{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:650}.loc-WTC{color:var(--c-wtc)}.loc-PTC{color:var(--c-ptc)}.loc-Office{color:var(--c-office)}.loc-SDO{color:var(--c-sdo)}.loc-DO{color:var(--c-do)}.loc-Other{color:#0b7fa8}.loc-meeting{color:var(--c-meeting)}.loc-leave{color:var(--c-leave)}.stat{display:flex;flex-direction:column;gap:4px}.stat .k{font-size:.78rem;font-weight:600;color:var(--ink-3);display:flex;align-items:center;gap:6px}.stat .v{font-family:var(--font-display);font-size:1.7rem;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .s{font-size:.8rem;color:var(--ink-3)}.ring-wrap{display:grid;grid-template-columns:auto 1fr;grid-gap:20px;gap:20px;align-items:center}@media (max-width:520px){.ring-wrap{grid-template-columns:1fr;justify-items:center;text-align:center}}.ring{position:relative;width:168px;height:168px}.ring svg{transform:rotate(-90deg)}.ring .center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.ring .pct{font-family:var(--font-display);font-size:2rem;font-weight:750;letter-spacing:-.03em}.bar{height:10px;border-radius:999px;background:var(--muted-bg);overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#ff5a3c)}.bar>i.gold{background:linear-gradient(90deg,var(--gold),#ffd76a)}.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch}table.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;white-space:nowrap}.table td,.table th{padding:10px 12px;border-bottom:1px solid var(--line)}.table td{vertical-align:top}.table tr:last-child td{border-bottom:0}.table tfoot td{font-weight:700;background:var(--muted-bg)}.table td.r,.table th.r{text-align:right}.table tr.clickable:hover td{background:var(--muted-bg)}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline li{display:grid;grid-template-columns:62px 14px 1fr;grid-gap:10px;gap:10px;min-height:56px}.timeline .tm{font-size:.8rem;color:var(--ink-3);text-align:right;padding-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline .rail{position:relative}.timeline .rail:before{content:"";position:absolute;left:6px;top:16px;bottom:-4px;width:2px;background:var(--line)}.timeline li:last-child .rail:before{display:none}.timeline .rail .dot{position:absolute;left:1px;top:4px;width:12px;height:12px;border:2px solid var(--glass-solid);box-shadow:0 0 0 1px var(--line-strong)}.timeline .body{padding-bottom:14px;min-width:0}.list{display:flex;flex-direction:column}.list-item{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);min-width:0}.list-item:last-child{border-bottom:0}.list-item .grow{flex:1 1;min-width:0}.list-item .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item:hover .title{color:var(--red)}.chev{width:18px;height:18px;flex:none}.chev,.empty{color:var(--ink-3)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 12px}.empty svg{width:34px;height:34px;color:var(--ink-3);opacity:.7}.empty b{color:var(--ink)}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:14px;font-size:.88rem;align-items:flex-start}.alert svg{width:18px;height:18px;flex:none;margin-top:2px}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.danger{background:var(--danger-bg);color:var(--danger)}.alert.info{background:var(--info-bg);color:var(--info)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.quick a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:16px;background:var(--glass-strong);border:1px solid var(--line);font-size:.8rem;font-weight:600;text-align:center;transition:transform var(--t),box-shadow var(--t)}.quick a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick a svg{width:22px;height:22px;color:var(--red)}@media (max-width:899px){.quick{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -14px;padding:2px 14px 6px;scrollbar-width:none}.quick::-webkit-scrollbar{display:none}.quick a{flex:0 0 104px;scroll-snap-align:start}}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface)}.cal .dow{padding:8px;font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--ink-3);text-align:center}.cal .cell,.cal .dow{border-bottom:1px solid var(--line)}.cal .cell{min-height:108px;padding:6px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px;min-width:0;position:relative}.cal .cell:nth-child(7n){border-right:0}.cal .cell.out{background:var(--muted-bg);opacity:.65}.cal .cell.today .dnum{background:var(--red);color:#fff}.cal .cell.hol{background:color-mix(in srgb,var(--gold-soft) 70%,transparent)}.cal .dnum{font-size:.78rem;font-weight:700;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}.cal .add{position:absolute;inset:0}.chip{position:relative;z-index:1;display:block;font-size:.72rem;padding:2px 6px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid;background:color-mix(in srgb,currentColor 10%,transparent)}.chip.st-cancelled{text-decoration:line-through;opacity:.6}.chip.st-draft{border-left-style:dashed}@media (max-width:899px){.cal .cell{min-height:64px;padding:3px}.cal .chip{font-size:0;padding:0;height:6px;border-left-width:0;border-radius:3px;background:currentColor}}.week{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.week .wh{padding:8px 4px;text-align:center;font-size:.78rem;font-weight:700;border-bottom:1px solid var(--line)}.week .col,.week .wh{border-left:1px solid var(--line)}.week .col{position:relative}.week .hour{height:44px;border-bottom:1px solid var(--line);font-size:.68rem;color:var(--ink-3);text-align:right;padding-right:6px}.week .slot{height:44px;border-bottom:1px dashed var(--line);display:block}.week .ev{position:absolute;left:3px;right:3px;border-radius:8px;padding:4px 6px;font-size:.72rem;overflow:hidden;z-index:2;border-left:3px solid;background:color-mix(in srgb,currentColor 14%,var(--surface))}.week .ev b{color:var(--ink);display:block;font-weight:650}.login-page{min-height:100dvh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);position:relative;overflow:hidden}.login-swoosh{position:absolute;right:-8%;bottom:-6%;width:min(820px,90vw);opacity:.16;pointer-events:none;z-index:0}.login-main{position:relative;z-index:1;flex:1 1;display:grid;place-items:center;padding:24px 0}.login-card{width:min(440px,100%);padding:28px;border-radius:var(--r-xl)}.login-card h2{font-size:1.35rem}.login-head{position:relative;z-index:1}.caption{text-align:center;color:var(--ink-2);font-size:.95rem;margin-top:4px}@media (max-width:640px){.inst.login-inst{grid-template-columns:auto 1fr auto;gap:10px;padding:12px}.inst.login-inst .inst-logo img{height:40px}.inst.login-inst .l1{font-size:.9rem}.inst.login-inst .l2{font-size:.85rem}.inst.login-inst .l3{font-size:.75rem}}dialog.dlg{border:0;padding:0;background:transparent;max-width:min(560px,calc(100vw - 24px));width:100%;color:var(--ink)}dialog.dlg::-webkit-backdrop{background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog.dlg::backdrop{background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog.dlg .panel{background:var(--glass-strong)}details.disclose>summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px;min-height:40px}details.disclose>summary::-webkit-details-marker{display:none}.chart-bars{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:10px}.chart-bars .b{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}.chart-bars .col{width:100%;max-width:30px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#ff4a52,var(--red));position:relative}.chart-bars .col.plan{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--gold) 70%,transparent) 0 4px,transparent 4px 8px);border:1px solid var(--gold)}.chart-bars .lbl{font-size:.66rem;color:var(--ink-3)}.chart-bars .tline{position:absolute;left:0;right:0;border-top:2px dashed color-mix(in srgb,var(--ink-3) 60%,transparent)}.print-only{display:none}@media print{@page{size:A4 landscape;margin:12mm}:root{--glass:#fff;--glass-strong:#fff;--surface:#fff;--blur:none;--ink:#000;--ink-2:#111;--ink-3:#333;--line:#999}body{background:#fff!important;font-size:10.5pt}.inst.desktop,.m-header,.no-print,.sidebar,.tabbar,.toolbar .actions,body:before{display:none!important}.print-only,.shell{display:block}.main{padding:0}.card,.panel{box-shadow:none;border:0;padding:0;background:#fff}.table-wrap{border:0;overflow:visible}table.table{font-size:9pt}.table td,.table th{border:1px solid #777;padding:4px 6px;color:#000}.table thead{display:table-header-group}.table tr{page-break-inside:avoid}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}