@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--bg:#f3f4f6;--card:#fff;--text:#1f2937;--muted:#6b7280;--soft:#4b5563;--line:#e5e7eb;--subtle:#f9fafb;--primary:#0279bd;--primary-edge:#035a8f;--accent:#0ea5e9;--accent-edge:#0284c7;--tint:#e0f2fe;--tint-text:#075985;--danger:#dc2626;--ok:#15803d;--shadow:0 1px 3px #1f29370f}[data-theme=dark]{--bg:#111827;--card:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--soft:#d1d5db;--line:#374151;--subtle:#273244;--tint:#0c3a55;--tint-text:#bae6fd;--shadow:none}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:400 15px/1.45 Nunito,system-ui,sans-serif}button,input,select{font:inherit;color:inherit}h1,h2,p{margin:0}small{color:var(--muted);font-size:12.5px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{background:var(--primary);color:#fff;min-height:46px;box-shadow:inset 0 -4px 0 var(--primary-edge);cursor:pointer;white-space:nowrap;border:0;border-radius:14px;padding:0 18px;font-size:14px;font-weight:700}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:var(--card);color:var(--soft);border:1.5px solid var(--line);box-shadow:inset 0 -3px 0 var(--line)}.btn.small{border-radius:12px;min-height:40px;padding:0 14px;font-size:13.5px}.btn.danger-link{color:var(--danger);box-shadow:none;background:0 0;align-self:flex-start;min-height:44px;padding:0}.icon-btn{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.shell{min-height:100%;display:flex}.side{display:none}.main{min-width:0;padding:18px 16px calc(88px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:14px;width:100%;max-width:1280px;margin:0 auto;display:flex}.tabs{z-index:10;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:grid;position:fixed;inset:auto 0 0}.tabs button{height:66px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;font-size:11px;font-weight:600;display:flex}.tabs button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tabs button.active{color:var(--primary);font-weight:700}@media (width>=1024px){.side{flex-direction:column;flex:0 0 248px;gap:4px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0}.tabs{display:none}.main{gap:20px;padding:24px 28px 32px}}.brand{align-items:center;gap:10px;padding:4px 10px 18px;display:flex}.brand b{font-size:20px;font-weight:800;line-height:1.1;display:block}.brand small{display:block}.brand-mark{background:var(--primary);color:#fff;width:36px;height:36px;box-shadow:inset 0 -3px 0 var(--primary-edge);border-radius:10px;justify-content:center;align-items:center;display:flex}.side-link{height:50px;color:var(--soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:16px;align-items:center;gap:12px;padding:0 14px;font-size:15.5px;font-weight:600;display:flex}.side-link:hover{background:var(--line)}.side-link.active{background:var(--accent);color:#fff;box-shadow:inset 0 -4px 0 var(--accent-edge);font-weight:800}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:22px;font-weight:800;line-height:1.2}.page-head p{color:var(--muted);margin-top:2px;font-size:13.5px;font-weight:600}@media (width>=1024px){.page-head h1{font-size:28px}}.center-page{justify-content:center;align-items:center;min-height:100%;padding:20px;display:flex}.state-card{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:520px;margin:0 auto;padding:28px 22px;display:flex}.state-card h2{font-size:18px;font-weight:800}.state-card p{color:var(--soft)}.state-icon{background:var(--tint);width:60px;height:60px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:32px 16px;display:flex}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar.ghost{background:var(--line)}.chip{background:var(--tint);color:var(--tint-text);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-block}.chip.teal{color:#115e59;background:#ccfbf1}[data-theme=dark] .chip.teal{color:#99f6e4;background:#134e4a}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.tile{background:var(--card);text-align:left;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:22px;flex-direction:column;gap:6px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.tile:disabled{cursor:default}.tile:before{content:"";background:var(--tone-soft);border-radius:50%;width:100px;height:100px;position:absolute;top:-30px;right:-30px}.tile.blue{--tone:#0ea5e9;--tone-soft:#f0f9ff}.tile.violet{--tone:#8b5cf6;--tone-soft:#f5f3ff}.tile.green{--tone:#22c55e;--tone-soft:#f0fdf4}[data-theme=dark] .tile{--tone-soft:#ffffff0a}.tile-icon{background:var(--tone);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative}.tile-label{color:var(--soft);font-size:14px;font-weight:700;position:relative}.tile-value{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1.1;position:relative}.segmented{background:var(--line);border-radius:14px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:40px;color:var(--soft);cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.segmented button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.count{background:var(--danger);color:#fff;border-radius:9px;padding:0 7px;font-size:11px;font-weight:700;line-height:18px}.input{border:1.5px solid var(--line);background:var(--card);border-radius:12px;width:100%;min-height:44px;padding:0 12px;font-size:15px}.search{max-width:420px}.list{flex-direction:column;gap:8px;display:flex}.row{background:var(--card);text-align:left;width:100%;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:18px;align-items:center;gap:12px;padding:12px 14px;display:flex}.row:disabled,.row.static{cursor:default}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-main b{overflow-wrap:anywhere;font-weight:700}.row-side{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.row-side small{white-space:nowrap}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=560px){.row-side small{display:none}.row.static{flex-wrap:wrap}.row.static .row-main{flex-basis:calc(100% - 56px)}.row-actions{width:100%}.row-actions .btn{flex:1}}.sheet-wrap{z-index:20;background:#11182766;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-height:92vh;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:12px 10px 4px 20px;display:flex}.sheet-head h2{font-size:18px;font-weight:800}.sheet-body{flex-direction:column;flex:1;gap:14px;padding:8px 20px 16px;display:flex;overflow-y:auto}.sheet-foot{padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:8px;display:flex}.sheet-foot .btn{flex:1}@media (width>=1024px){.sheet-wrap{justify-content:flex-end;align-items:stretch}.sheet{border-radius:28px 0 0 28px;width:420px;height:100%;max-height:none}}.field{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.field>span,.field legend{color:var(--soft);margin-bottom:2px;padding:0;font-size:13px;font-weight:600}fieldset.field{gap:8px}.choice{border:1.5px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;font-size:14px;display:flex}.choice input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:0}.choice.on{border-color:var(--primary);background:var(--tint);font-weight:700}.person-card{background:var(--subtle);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.person-card.plain{background:0 0;padding:0}.person-card span:last-child{flex-direction:column;min-width:0;display:flex}.person-card b{overflow-wrap:anywhere;font-weight:800}.form-error{color:#991b1b;background:#fef2f2;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600}.hint-box{color:var(--soft);background:var(--subtle);border-radius:12px;padding:10px 12px;font-size:12.5px}.leaders{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.leader-card{background:var(--card);max-width:300px;box-shadow:var(--shadow);border-radius:20px;flex:220px;align-items:center;gap:12px;padding:12px 14px;display:flex}.leader-card span:last-child{flex-direction:column;min-width:0;display:flex}.leader-card small{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:800}.leader-card b{overflow-wrap:anywhere;font-weight:700}.dept-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.dept-card{background:var(--card);text-align:left;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex}.dept-card:hover{box-shadow:0 0 0 2px var(--accent)}.dept-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.dept-top h2{font-size:19px;font-weight:800}.dept-head{background:var(--subtle);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.dept-head span:last-child{flex-direction:column;min-width:0;display:flex}.dept-head b{font-size:14px;font-weight:700}.dept-members{flex-direction:column;gap:6px;font-size:13.5px;display:flex}.dept-members>span{justify-content:space-between;gap:8px;display:flex}.dept-foot{border-top:1px solid var(--line);padding-top:8px}.warn-box{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:14px 16px;font-size:14px}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));align-items:start;gap:16px;display:grid}.card{background:var(--card);box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:12px;min-width:0;padding:18px 20px;display:flex}.card h2{font-size:18px;font-weight:800}.card.wide{grid-column:1/-1}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.card-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.ok-text{color:var(--ok);font-size:13.5px;font-weight:700}.muted{color:var(--soft);font-size:13px}.ceo-row{background:var(--tint);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.empty-ceo{font-size:14px;font-weight:600}.role-row{grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:4px 10px;display:grid}.role-row code{color:var(--muted);grid-column:1/-1;font-size:12px}.role-row small{text-align:right}@media (width>=560px){.role-row{grid-template-columns:150px minmax(0,1fr) 56px}.role-row code{grid-column:auto}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:420px;font-size:13px}th{text-align:left;color:var(--muted);padding:6px 8px 8px 0;font-weight:600}td{border-top:1px solid var(--line);vertical-align:top;padding:9px 8px 9px 0}.nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.profile dl{flex-direction:column;margin:4px 0 0;display:flex}.profile dl>div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:11px 0;display:flex}.profile dt{color:var(--muted)}.profile dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.select-btn{border:1.5px solid var(--line);background:var(--card);width:100%;min-height:46px;box-shadow:inset 0 -3px 0 var(--line);text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px 0 14px;font-size:15px;font-weight:600;display:flex}.select-btn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-btn .placeholder{color:var(--muted);font-weight:400}.select-btn svg{color:var(--primary);flex:none;transition:transform .15s}.select-btn.open{border-color:var(--primary);box-shadow:inset 0 -3px 0 var(--tint)}.select-btn.open svg{transform:rotate(180deg)}.select-btn:disabled{opacity:.6;cursor:default}.select-btn:disabled svg{display:none}.select-pop{z-index:30;background:var(--card);box-shadow:0 10px 30px #1f29372e, 0 0 0 1px var(--line);border-radius:16px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.select-search{border:0;border-bottom:1px solid var(--line);background:0 0;outline:0;flex:none;height:44px;padding:0 14px;font-size:15px}.select-list{flex-direction:column;gap:2px;min-height:0;padding:6px;display:flex;overflow-y:auto}.select-option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;flex:none;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:7px 10px;display:flex}.select-option span{flex-direction:column;min-width:0;display:flex}.select-option b{overflow-wrap:anywhere;font-weight:600}.select-option.active{background:var(--subtle)}.select-option.selected{background:var(--tint);color:var(--tint-text)}.select-option.selected b{font-weight:800}.select-option svg{color:var(--primary);flex:none}.select-empty{text-align:center;color:var(--muted);padding:14px 10px;font-size:14px}.select-list{scrollbar-width:thin}.desktop-only{display:none}.mobile-only{display:flex}@media (width>=1024px){.desktop-only{align-items:center;display:inline-flex}.mobile-only{display:none!important}}.fab{right:18px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:9;background:var(--primary);color:#fff;width:56px;height:56px;box-shadow:inset 0 -4px 0 var(--primary-edge), 0 6px 16px #0279bd59;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;position:fixed}.main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}@media (width>=1024px){.main{padding-bottom:32px}}.section{flex-direction:column;gap:8px;display:flex}.section-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.filters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.filters .input{border-radius:14px;min-height:46px}.task-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:10px;display:grid}.task-card{--st:#9ca3af;background:var(--card);box-shadow:var(--shadow);cursor:pointer;border-radius:22px;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.task-bar{background:var(--st);border-radius:2px;flex:0 0 4px;align-self:stretch}.st-new{--st:#0ea5e9}.st-in_progress{--st:#16a34a}.st-paused{--st:#ea580c}.st-submitted{--st:#7c3aed}.st-returned{--st:#dc2626}.st-approved{--st:#15803d}.st-cancelled,.st-planned{--st:#9ca3af}.task-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-title b{overflow-wrap:anywhere;font-weight:700}.task-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.tag{white-space:nowrap;background:var(--line);color:var(--soft);border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:700}.tag.orange{color:#9a3412;background:#ffedd5}.tag.blue{background:var(--tint);color:var(--tint-text)}.tag.red{color:#991b1b;background:#fee2e2}.late{color:var(--danger);font-weight:700}.clock{font-variant-numeric:tabular-nums;color:var(--soft);align-items:center;gap:6px;font-size:14px;font-weight:800;display:inline-flex}.clock.live{color:#15803d}.clock i{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.clock i{animation:none}}.btn.tint{background:var(--tint);color:var(--primary);box-shadow:none;border:1px solid #bae6fd;align-items:center;gap:5px;display:inline-flex}[data-theme=dark] .btn.tint{color:var(--tint-text);border-color:#0000}.tile.red{--tone:#ef4444;--tone-soft:#fef2f2}.approval-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px;display:grid}.link-area{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:3px;padding:0;display:flex}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.facts>span{background:var(--subtle);color:var(--muted);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;font-size:11.5px;display:flex}.facts b{color:var(--text);font-size:13.5px;font-weight:700}.facts b.late{color:var(--danger)}.facts b.ok-text{color:var(--ok)}.card-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sheet-foot{flex-wrap:wrap}.task-head{flex-direction:column;gap:8px;display:flex}.task-head h3{overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:800;line-height:1.25}.task-desc{color:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.timer-box{background:var(--subtle);border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:14px;display:flex}.timer-box b{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.15}.timer-box.live{background:#f0fdf4}.timer-box.live b{color:#15803d}[data-theme=dark] .timer-box.live{background:#14352a}[data-theme=dark] .timer-box.live b{color:#86efac}.info{flex-direction:column;margin:0;display:flex}.info>div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:9px 0;font-size:14px;display:flex}.info dt{color:var(--muted);flex:none}.info dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.stars-text{color:#f59e0b}.block{flex-direction:column;gap:8px;display:flex}.block h4{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.submission{background:var(--subtle);border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;font-size:14px;display:flex}.submission p{overflow-wrap:anywhere;white-space:pre-wrap}.submission img{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:320px}.session,.event{border-bottom:1px solid var(--line);flex-direction:column;padding-bottom:6px;font-size:13.5px;display:flex}.session:last-child,.event:last-child{border-bottom:0}.quiet-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.area{resize:vertical;min-height:84px;padding:10px 12px;font-family:inherit;line-height:1.4}.stars{gap:4px;display:flex}.stars button{width:44px;height:44px;color:var(--line);cursor:pointer;background:0 0;border:0;font-size:28px}.stars button.on{color:#f59e0b}.signature{border:2px dashed var(--line);background:#fff;border-radius:14px;height:170px;position:relative;overflow:hidden}.signature canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.signature-hint{text-align:center;color:#6b7280;pointer-events:none;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.signature-clear{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-height:36px;padding:0 12px;font-size:13px;font-weight:700;position:absolute;top:6px;right:6px}.people-list{scrollbar-width:thin;flex-direction:column;gap:6px;max-height:260px;display:flex;overflow-y:auto}.choice-text{flex-direction:column;flex:1;min-width:0;display:flex}.choice-text b{overflow-wrap:anywhere;font-weight:700}.choice small.load{white-space:nowrap;flex:none}.two-cols{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.form-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.row-card{background:var(--subtle);border-radius:18px;flex-direction:column;gap:8px;padding:12px;display:flex}.row-card-head{justify-content:space-between;align-items:center;min-height:28px;display:flex}.row-card-head small{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;font-weight:800}.text-btn{color:var(--danger);cursor:pointer;background:0 0;border:0;min-height:32px;padding:0 4px;font-size:13px;font-weight:700}.row-tools{flex-wrap:wrap;gap:8px;display:flex}.select-btn svg{flex:none}.dt-wrap{z-index:40;background:#11182773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dt-card{background:var(--card);border-radius:22px;flex-direction:column;gap:8px;width:100%;max-width:340px;max-height:96vh;padding:14px;display:flex;overflow-y:auto;box-shadow:0 10px 30px #1f293740}.dt-title{padding:2px 4px;font-size:16px;font-weight:800}.dt-head{justify-content:space-between;align-items:center;display:flex}.flip{color:var(--primary);display:inline-flex;transform:rotate(90deg)}.flip.right{transform:rotate(-90deg)}.dt-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.dt-grid small{padding:4px 0;font-weight:700}.dt-grid button{aspect-ratio:1;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:12px;min-height:38px;font-size:14px;font-weight:600}.dt-grid button:hover{background:var(--subtle)}.dt-grid button.today{color:var(--primary);font-weight:800}.dt-grid button.on{background:var(--primary);color:#fff;box-shadow:inset 0 -3px 0 var(--primary-edge)}.dt-time{color:var(--soft);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.dt-time .input{width:130px}.dt-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:14px;display:flex}.switch-row input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0}.login-card{background:var(--card);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:14px;padding:28px 24px;display:flex}.login-card .brand{padding:0}.login-card h1{font-size:22px;font-weight:800}.login-card .btn{width:100%}.login-hint{color:var(--muted);text-align:center;font-size:13px}.web-access{flex-direction:column;gap:10px;margin-top:14px;padding:16px 18px;display:flex}.web-access h2{font-size:16px;font-weight:800}.web-access p{color:var(--soft)}.web-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field small{color:var(--muted)}
