@import "https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&family=Baloo+2:wght@600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap";.app{min-height:100vh;display:flex}.main{flex:1;min-width:0}.sidebar{-webkit-backdrop-filter:blur(16px);background:#ffffffbd;border:1px solid #ffffffe6;border-radius:22px;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:8px;width:256px;height:calc(100vh - 24px);margin:12px 0 12px 12px;padding:14px 12px;transition:width .2s;display:flex;position:sticky;top:12px;overflow:hidden;box-shadow:0 10px 32px #185fa51f,inset 0 1px #fffc}.sb-brand{border-bottom:1px solid var(--kdb-line);align-items:center;gap:10px;padding:4px 4px 14px;display:flex}.sb-logo{background:linear-gradient(135deg, var(--kdb-accent), #3c8fd6);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;display:flex;box-shadow:0 4px 10px #1b5fa34d}.sb-brand-text{flex:1;min-width:0;line-height:1.2;display:grid}.sb-brand-text b{white-space:nowrap;font-family:"Baloo 2",sans-serif;font-size:1rem}.sb-brand-text span{color:var(--kdb-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.sb-collapse,.sb-close{width:30px;height:30px;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:8px;flex-shrink:0;font-size:1.1rem;line-height:1}.sb-collapse:hover,.sb-close:hover{background:var(--kdb-tint);color:var(--kdb-accent)}.sb-close{display:none}.sb-nav{gap:4px;padding-top:6px;display:grid}.sb-item{text-align:left;width:100%;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:14px;align-items:center;gap:12px;padding:8px 10px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s;display:flex}.sb-icon{background:var(--kdb-tint);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.05rem;transition:background .15s;display:flex}.sb-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sb-item:hover:not(.active){color:var(--kdb-text);background:#1b5fa314}.sb-item:focus-visible{outline:2px solid var(--kdb-accent);outline-offset:2px}.sb-item.active{color:#fff;background:linear-gradient(135deg, var(--kdb-accent), #3c8fd6);box-shadow:0 6px 16px #1b5fa352}.sb-item.active .sb-icon{background:#ffffff38}.sb-foot{border-top:1px solid var(--kdb-line);gap:4px;margin-top:auto;padding-top:10px;display:grid}.sb-center{background:var(--kdb-tint);border:1px solid var(--kdb-blue-line);border-radius:14px;gap:2px;margin-bottom:4px;padding:10px 12px;display:grid}.sb-center-clock{color:var(--kdb-accent-dark);font-family:"Baloo 2",sans-serif;font-size:1.35rem;font-weight:600;line-height:1.1}.sb-center-name{color:var(--kdb-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.sb-topbar,.sb-scrim{display:none}@media (width>=801px){.app.collapsed .sidebar{width:76px;padding:14px 10px}.app.collapsed .sb-brand{flex-direction:column;padding-bottom:12px}.app.collapsed .sb-brand-text,.app.collapsed .sb-label,.app.collapsed .sb-center{display:none}.app.collapsed .sb-item{justify-content:center;padding:6px}}@media (width<=800px){.app{display:block}.sb-topbar{z-index:40;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--kdb-line);background:#fffc;align-items:center;gap:12px;height:54px;padding:0 12px;display:flex;position:sticky;top:0}.sb-burger{border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);width:38px;height:38px;color:var(--kdb-accent);border-radius:10px;font-size:1.2rem}.sb-topbar-title{font-family:"Baloo 2",sans-serif;font-size:1.05rem;font-weight:700}.sidebar{z-index:60;background:#fffffff5;width:min(290px,100vw - 16px);height:auto;margin:0;transition:transform .25s;position:fixed;top:8px;bottom:8px;left:8px;transform:translate(calc(-100% - 16px))}.sidebar.open{transform:none}.sb-collapse{display:none}.sb-close{display:block}.sb-scrim{z-index:55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1d1d2e66;animation:.2s ease-out sb-fade;display:block;position:fixed;inset:0}@keyframes sb-fade{0%{opacity:0}to{opacity:1}}}.lo-scrim{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1d1d2e66;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out sb-fade;display:flex;position:fixed;inset:0}.lo-dialog{background:var(--kdb-surface,#fff);border-radius:18px;width:min(360px,100%);padding:22px;box-shadow:0 20px 50px #185fa540}.lo-dialog h3{margin:0 0 6px;font-family:"Baloo 2",sans-serif;font-size:1.15rem}.lo-dialog p{color:var(--kdb-text-soft);margin:0 0 18px;font-size:.92rem}.lo-actions{justify-content:flex-end;gap:8px;display:flex}.lo-btn{font:inherit;cursor:pointer;border:1px solid var(--kdb-blue-line);background:var(--kdb-surface,#fff);color:var(--kdb-text);border-radius:10px;padding:9px 16px;font-weight:600}.lo-btn:hover{background:var(--kdb-tint)}.lo-btn.danger{color:#fff;background:#d64545;border-color:#d64545}.lo-btn.danger:hover{background:#bf3a3a}.btn.small{border-radius:8px;padding:13px 14px;font-size:.95rem;font-weight:500}.ea{--tone:#3fa9db;max-width:780px;margin:0 auto;padding:14px 20px 0}.ea.in{--tone:#f5a400}.ea.out{--tone:#22a06b}.ea.pickup{--tone:#6c7ae0}.ea.absent{--tone:#dc3545}.ea-back{cursor:pointer;color:var(--kdb-accent);background:0 0;border:none;padding:6px 0;font-size:.95rem;font-weight:600}.ea-back:hover{text-decoration:underline}.ea-head{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:20px;align-items:center;gap:16px;margin:6px 0 20px;padding:18px 20px;display:flex;box-shadow:0 2px 12px #1d1d2e0f}.ea-avatar{color:#fff;width:68px;height:68px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone) 32%, transparent);background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:700;display:flex}.ea-head-text{flex:1;gap:3px;min-width:0;display:grid}.ea-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0;font-size:.72rem;font-weight:700}.ea-name{overflow-wrap:anywhere;margin:0;font-family:"Baloo 2",sans-serif;font-size:1.6rem;line-height:1.15}.ea-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.ea-badge{background:color-mix(in srgb, var(--tone) 16%, transparent);color:color-mix(in srgb, var(--tone) 55%, #000);border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:700}.ea-saved{color:var(--kdb-text-soft);font-size:.85rem}.ea-remove-wrap{flex-shrink:0;position:relative}.ea-popover{z-index:20;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;gap:10px;width:280px;padding:14px;display:grid;position:absolute;top:115%;right:0;box-shadow:0 8px 24px #1d1d2e26}.ea-popover p{color:#8a6100;background:#fff3cd;border-radius:8px;margin:0;padding:8px 10px;font-size:14px}.ea-chip{cursor:pointer;border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);color:var(--kdb-accent);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}.ea-chip:hover:not(:disabled){background:var(--kdb-tint);border-color:var(--kdb-accent)}.ea-chip:disabled{opacity:.6;cursor:default}.ea-chip.danger{color:#a32d2d;border-color:#f0c4c4}.ea-chip.danger:hover:not(:disabled){background:#fdecee;border-color:#de1c1c}.ea-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.ea-label{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0;font-size:.72rem;font-weight:700}.ea-status{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ea-status-btn{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);min-height:50px;color:var(--kdb-text-soft);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.ea-status-btn:before{content:"";background:var(--dot);border-radius:50%;flex-shrink:0;width:10px;height:10px}.ea-status-btn.noshow{--dot:#3fa9db}.ea-status-btn.in{--dot:#f5a400}.ea-status-btn.pickup{--dot:#6c7ae0}.ea-status-btn.out{--dot:#22a06b}.ea-status-btn:hover:not(.on){background:var(--kdb-tint)}.ea-status-btn.on{color:var(--kdb-text);border-color:var(--dot);background:color-mix(in srgb, var(--dot) 14%, var(--kdb-surface));box-shadow:0 0 0 1px var(--dot)}.ea-times{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.ea-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;gap:16px;padding:18px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.ea-card-title{align-items:center;gap:8px;margin:0;font-family:"Baloo 2",sans-serif;font-size:1.1rem;display:flex}.ea-time{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ea-colon{color:var(--kdb-muted);font-size:1.5rem;font-weight:700}.ea-sel{text-align:center;text-align-last:center;width:78px;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;padding:12px 8px;font-size:18px;font-weight:600}.ea-sel:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 22%, transparent);background:#fff;outline:none}.ea-links{flex-wrap:wrap;gap:6px;display:flex}.ea-ampm{background:var(--kdb-tint);border-radius:12px;gap:2px;margin-left:4px;padding:3px;display:inline-flex}.ea-ampm button{cursor:pointer;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:9px;padding:10px 14px;font-size:.95rem;font-weight:700;transition:background .15s,color .15s}.ea-ampm button.on{background:var(--kdb-accent);color:var(--kdb-on-accent);box-shadow:0 1px 3px #0f172a33}.ea-note{border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:.9rem}.ea-note.ok{color:#1e6b34;background:#e8f6ec}.ea-note.bad{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border:1px solid #f5c2c7}.ea-actions{z-index:5;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--kdb-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--kdb-line);align-items:center;gap:10px;margin:22px -20px 0;display:flex;position:sticky;bottom:0}.ea-dirty{color:var(--kdb-muted);flex:1;font-size:.88rem;font-weight:600}.ea-dirty.on{color:#b7791f}.ea-actions .btn{padding:12px 22px}@media (width<=700px){.ea{padding:10px 12px 0}.ea-head{flex-wrap:wrap;gap:12px;padding:14px}.ea-avatar{width:58px;height:58px;font-size:1.3rem}.ea-name{font-size:1.35rem}.ea-remove-wrap{width:100%}.ea-remove-wrap .ea-chip{width:100%;padding:10px}.ea-popover{left:0;right:auto}.ea-status{grid-template-columns:repeat(2,1fr)}.ea-times{grid-template-columns:1fr}.ea-actions{margin:22px -12px 0;padding:12px}.ea-dirty{display:none}.ea-actions .btn{flex:1}}.page{padding:8px 28px 28px}.page-head{border-bottom:1px solid var(--kdb-line);justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 0;display:flex}.page-head h1{font-size:1.7rem}.page-clock{font-family:"Baloo 2",sans-serif;font-size:1.8rem;font-weight:600}.metrics{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;display:grid}.metric{background:var(--kdb-tint);text-align:center;border:1px solid #7dcdf466;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:24px 12px 35px;display:flex;box-shadow:0 2px 10px #1d1d2e0a}.metric span{color:var(--kdb-accent);font-size:14px;font-weight:600}.metric b{font-size:2rem;font-weight:400;line-height:1.15}.metric .delta{color:#1b7f4b;background:#ddf3e6;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.search-box{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;margin-bottom:16px;padding:12px 16px;box-shadow:0 2px 10px #1d1d2e0a}.search-box label{margin-bottom:6px;font-size:14px;display:block}.search-box input{border:1px solid var(--kdb-line);background:var(--kdb-surface);border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.results{border:1px solid var(--kdb-line);border-radius:10px;gap:6px;margin-top:10px;padding:10px;display:grid}.results small{color:var(--kdb-muted)}.results button{border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);color:var(--kdb-accent);border-radius:8px;padding:10px;font-weight:600}.results button:hover{background:var(--kdb-tint)}.section-head h3{margin:4px 0 8px;font-size:1.15rem}.sort{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.sort span{margin-right:6px;font-size:14px}.sort button{border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);color:var(--kdb-accent);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.sort button.on{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.empty{color:var(--kdb-text-soft)}.grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=1100px){.grid{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.grid{grid-template-columns:1fr}}.tile{width:100%;height:85px;color:var(--kdb-on-accent);border:none;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;line-height:1.3;transition:all .2s;display:flex}.tile:focus-visible{outline-offset:2px;outline:3px solid #ffc107}.tile-name{text-shadow:0 1px 3px #00000059;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:700}.tile-sub{white-space:pre-line;font-family:Inter,sans-serif;font-size:14px;font-weight:400}.tile.noshow{background:#3fa9db}.tile.noshow:hover{background:#2d8cbd}.tile.in{background:#2ecc71}.tile.in:hover{background:#27ae60}.tile.warn{background:#fc0}.tile.warn:hover{background:#d3b000}.tile.over{background:#ff6b6b}.tile.over:hover{background:#e05555}.tile.out{background:#4a5568}.tile.out:hover{background:#374151}.overlay{z-index:50;background:#1d1d2e73;place-items:center;display:grid;position:fixed;inset:0}.panel{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:18px;gap:10px;width:min(440px,92vw);padding:28px;display:grid;box-shadow:0 8px 32px #1d1d2e2e}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0;font-size:.72rem;font-weight:600}.panel-head{align-items:center;gap:12px;display:flex}.avatar{background:var(--kdb-blue-line);width:52px;height:52px;color:var(--kdb-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:1.3rem;font-weight:700;display:flex}.panel-name{font-family:"Baloo 2",sans-serif;font-size:2rem;font-weight:700;line-height:1.2}.panel-status{align-items:center;margin:4px 0 12px;display:flex}.panel-times{color:var(--kdb-text-soft);font-size:.9rem}.badge{border-radius:999px;margin-right:.6rem;padding:.3rem .9rem;font-size:.85rem;font-weight:600}.badge.noshow{background:var(--kdb-surface-alt);color:var(--kdb-text-soft)}.badge.in{color:#8a6100;background:#fff3cd}.badge.out{color:#0f5132;background:#d1e7dd}.badge.absent{color:#842029;background:#f8d7da}.badge.pickup{background:var(--kdb-tint);color:var(--kdb-accent-dark)}.btn{border:1px solid #0000;border-radius:10px;padding:13px 16px;font-size:1rem;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--kdb-accent);color:var(--kdb-on-accent);border-color:var(--kdb-accent)}.btn.primary:hover:not(:disabled){background:var(--kdb-accent-hover)}.btn.secondary{background:var(--kdb-surface);color:var(--kdb-text-soft);border-color:#1d1d2e1f;font-weight:500}.btn.secondary:hover{background:var(--kdb-tint);color:var(--kdb-text)}.btn.pickup{background:var(--kdb-surface);color:var(--kdb-accent);border-color:var(--kdb-blue-line)}.btn.pickup:hover{background:var(--kdb-tint)}.edit-link{background:var(--kdb-surface);color:var(--kdb-text-soft);border:1px solid #1d1d2e1f;border-radius:10px;margin-left:auto;padding:8px 18px;font-weight:500}.edit-link:hover{background:var(--kdb-tint);color:var(--kdb-text)}.toast{z-index:100;background:var(--kdb-text);color:#fff;border-radius:10px;padding:12px 20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1d1d2e40}.toasts{z-index:100;pointer-events:none;gap:8px;width:min(420px,100vw - 24px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toasts .toast{text-align:center;font-weight:500;animation:.2s ease-out toast-in,.3s ease-in 2.2s forwards toast-out;position:static;transform:none}.toasts .toast.err{background:#a32d2d;animation:.2s ease-out toast-in,.3s ease-in 3.7s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.ci{max-width:1200px;margin:0 auto;padding:8px 28px 32px}.ci-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:6px 0 18px;display:flex}.ci-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0;font-size:.72rem;font-weight:600}.ci-title{margin:0;font-family:"Baloo 2",sans-serif;font-size:1.8rem;line-height:1.2}.ci-clock{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:999px;padding:10px 18px;font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:600;line-height:1;box-shadow:0 2px 10px #1d1d2e0d}.ci-metrics{grid-template-columns:1fr 1fr 1.05fr;gap:12px;margin-bottom:20px;display:grid}.ci-hero{--tone:#3fa9db;background:linear-gradient(160deg, color-mix(in srgb, var(--tone) 16%, var(--kdb-surface)), color-mix(in srgb, var(--tone) 7%, var(--kdb-surface)));border:1px solid color-mix(in srgb, var(--tone) 35%, transparent);box-shadow:0 4px 14px color-mix(in srgb, var(--tone) 14%, transparent);border-radius:18px;align-content:space-between;gap:6px;padding:18px 20px;display:grid}.ci-hero.blue{--tone:#3fa9db}.ci-hero.green{--tone:#2ecc71}.ci-hero-top{color:var(--kdb-text-soft);align-items:center;gap:10px;font-weight:700;display:flex}.ci-hero-icon{background:color-mix(in srgb, var(--tone) 22%, transparent);border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ci-hero-num{color:color-mix(in srgb, var(--tone) 80%, #000);font-family:"Baloo 2",sans-serif;font-size:3.4rem;font-weight:700;line-height:1}.ci-hero-sub{color:var(--kdb-text-soft);font-size:.82rem;font-weight:600}.ci-bar{background:color-mix(in srgb, var(--tone) 18%, transparent);border-radius:999px;height:8px;overflow:hidden}.ci-bar i{background:var(--tone);border-radius:999px;height:100%;transition:width .4s;display:block}.ci-minis{grid-template-rows:repeat(3,1fr);gap:8px;display:grid}.ci-mini{--tone:#4a5568;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-left:4px solid var(--tone);border-radius:14px;align-items:center;gap:12px;padding:8px 16px;display:flex;box-shadow:0 2px 8px #1d1d2e0a}.ci-mini.slate{--tone:#4a5568}.ci-mini.purple{--tone:#6c7ae0}.ci-mini.amber{--tone:#f5a400}.ci-mini-icon{background:color-mix(in srgb, var(--tone) 14%, transparent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95rem;display:flex}.ci-mini-label{color:var(--kdb-text-soft);flex:1;font-size:.88rem;font-weight:600}.ci-mini b{font-size:1.4rem;font-weight:700}.ci-subjects{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:14px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;padding:10px 14px;display:flex}.ci-subjects-title{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);font-size:.72rem;font-weight:600}.ci-subject{background:var(--kdb-tint);border:1px solid var(--kdb-blue-line);border-radius:999px;align-items:baseline;gap:8px;padding:6px 14px;display:inline-flex}.ci-subject-name{color:var(--kdb-accent-dark);font-weight:600}.ci-subject b{font-size:1.15rem}.ci-subject small{color:var(--kdb-text-soft);font-weight:600}.ci-searchwrap{margin-bottom:20px}.ci-search{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:14px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.ci-search:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent)}.ci-search input{min-width:0;color:var(--kdb-text);background:0 0;border:none;outline:none;flex:1;padding:14px 0;font-size:16px}.ci-clear{cursor:pointer;background:var(--kdb-tint);width:28px;height:28px;color:var(--kdb-text-soft);border:none;border-radius:50%;font-size:.8rem}.ci-clear:hover{background:var(--kdb-blue-line);color:var(--kdb-on-accent)}.ci-walkins{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:14px;gap:6px;margin-top:8px;padding:10px;display:grid;box-shadow:0 8px 24px #1d1d2e14}.ci-walkins small{color:var(--kdb-muted);padding:2px 6px}.ci-walkins button{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:600;display:flex}.ci-walkins button:hover:not(:disabled){background:var(--kdb-tint);border-color:var(--kdb-blue-line)}.ci-walkin-cta{color:var(--kdb-accent);white-space:nowrap;font-size:.85rem}.ci-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex;container-type:inline-size}.ci-section{align-items:center;gap:8px;margin:0;font-size:1.15rem;display:flex}.ci-count{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.ci-sort{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:12px;gap:3px;padding:4px;display:inline-flex}.ci-sort button{cursor:pointer;color:var(--kdb-text-soft);white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.ci-sort button:hover:not(.on){color:var(--kdb-text);background:#fff9}.ci-sort button.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.ci-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.ci-tile{--c1:#3fa9db;--c2:#2d8cbd;--fg:#fff;cursor:pointer;background:linear-gradient(160deg, var(--c1), var(--c2));width:100%;min-height:88px;color:var(--fg);box-shadow:0 3px 10px color-mix(in srgb, var(--c2) 35%, transparent), inset 0 1px 0 #ffffff40;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px 12px;transition:transform .15s,box-shadow .15s;display:flex}.ci-tile:hover{box-shadow:0 10px 22px color-mix(in srgb, var(--c2) 40%, transparent);transform:translateY(-3px)}.ci-tile:active{transform:translateY(-1px)}.ci-tile:focus-visible{outline-offset:2px;outline:3px solid #ffc107}.ci-tile-name{text-shadow:0 1px 3px #0000004d;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:700;line-height:1.2}.ci-tile-sub{white-space:pre-line;opacity:.95;font-family:Inter,sans-serif;font-size:13.5px;line-height:1.3}.ci-tile.noshow{--c1:#5bbdea;--c2:#3fa9db}.ci-tile.in{--c1:#3dd982;--c2:#27ae60}.ci-tile.warn{--c1:#ffd83d;--c2:#f0b800;--fg:#3a2c00}.ci-tile.warn .ci-tile-name{text-shadow:none}.ci-tile.over{--c1:#ff8383;--c2:#e05555}.ci-tile.out{--c1:#5c687c;--c2:#3e4757}.ci-empty{text-align:center;color:var(--kdb-text-soft);border:1px dashed var(--kdb-line);border-radius:16px;padding:40px 16px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:.15s ease-out ov-in}.panel{gap:10px;padding:24px;animation:.2s ease-out panel-in}.panel-name{overflow-wrap:anywhere;min-width:0;font-size:1.6rem}.panel-head{flex-wrap:wrap}.panel-more{grid-template-columns:1fr 1fr;gap:8px;display:grid}.panel-more .btn{padding:11px 8px;font-size:.92rem}.panel-more .btn:last-child:nth-child(odd){grid-column:1/-1}@keyframes ov-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}@media (width<=850px){.ci-stats{grid-template-columns:repeat(3,1fr)}.ci-metrics{grid-template-columns:1fr 1fr}.ci-minis{grid-column:1/-1;grid-template-rows:none;grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.ci{padding:6px 12px 24px}.ci-title{font-size:1.35rem}.ci-clock{padding:8px 14px;font-size:1.15rem}.ci-metrics{gap:8px}.ci-hero{padding:14px}.ci-hero-num{font-size:2.6rem}.ci-minis{gap:6px}.ci-mini{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.ci-mini-label{font-size:.75rem}.ci-subjects{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.ci-subject{flex-shrink:0}.ci-toolbar{flex-direction:column;align-items:stretch}.ci-sort{scrollbar-width:none;overflow-x:auto}.ci-sort::-webkit-scrollbar{display:none}.ci-grid{grid-template-columns:1fr;gap:10px}.ci-tile{min-height:76px}.overlay{place-items:end center}.panel{width:100%;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-bottom:none;border-radius:22px 22px 0 0;animation:.25s ease-out sheet-in}}.cp-panel{--tone:#3fa9db;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:24px;gap:16px;width:min(440px,94vw);max-height:92vh;padding:18px 22px 22px;animation:.2s ease-out panel-in;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 60px #1d1d2e47}.cp-panel.in{--tone:#f5a400}.cp-panel.out{--tone:#22a06b}.cp-panel.pickup{--tone:#6c7ae0}.cp-panel.absent{--tone:#dc3545}.cp-handle{display:none}.cp-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.cp-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);font-size:.72rem;font-weight:700}.cp-bar-btns{align-items:center;gap:6px;display:flex}.cp-edit{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600}.cp-edit:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.cp-close{cursor:pointer;background:var(--kdb-surface-alt);width:34px;height:34px;color:var(--kdb-text-soft);border:none;border-radius:50%;font-size:.85rem}.cp-close:hover{color:#a32d2d;background:#fdecee}.cp-head{align-items:center;gap:16px;display:flex}.cp-avatar{color:#fff;width:72px;height:72px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone) 32%, transparent);background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:1.6rem;font-weight:700;display:flex}.cp-id{justify-items:start;gap:6px;min-width:0;display:grid}.cp-name{overflow-wrap:anywhere;margin:0;font-size:1.6rem;line-height:1.15}.cp-badge{background:color-mix(in srgb, var(--tone) 16%, transparent);color:color-mix(in srgb, var(--tone) 55%, #000);border-radius:999px;padding:4px 14px;font-size:.82rem;font-weight:700}.cp-times{background:var(--kdb-surface-alt);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:12px 16px;display:flex}.cp-time{gap:2px;display:grid}.cp-time span{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.7rem;font-weight:700}.cp-time b{font-family:JetBrains Mono,monospace;font-size:1.05rem;font-weight:500}.cp-arrow{color:var(--kdb-muted);font-size:1.1rem}.cp-elapsed{white-space:nowrap;background:color-mix(in srgb, var(--tone) 16%, #fff);color:color-mix(in srgb, var(--tone) 55%, #000);border-radius:999px;margin-left:auto;padding:4px 12px;font-size:.82rem;font-weight:700}.cp-primary{--c1:#3dd982;--c2:#27ae60;cursor:pointer;text-align:left;color:#fff;background:linear-gradient(160deg, var(--c1), var(--c2));width:100%;min-height:70px;box-shadow:0 8px 20px color-mix(in srgb, var(--c2) 40%, transparent), inset 0 1px 0 #ffffff40;border:none;border-radius:18px;justify-content:center;align-items:center;gap:14px;padding:12px 18px;transition:transform .12s,filter .15s;display:flex}.cp-primary.out{--c1:#5c687c;--c2:#3e4757}.cp-primary:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.cp-primary:active:not(:disabled){transform:none}.cp-primary:disabled{opacity:.6;cursor:default}.cp-primary:focus-visible{outline-offset:2px;outline:3px solid #ffc107}.cp-primary-icon{background:#ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.35rem;display:flex}.cp-primary b{font-size:1.12rem;line-height:1.2;display:block}.cp-primary small{opacity:.9;font-size:.88rem;font-weight:600}.cp-done{text-align:center;background:color-mix(in srgb, var(--tone) 10%, #fff);color:color-mix(in srgb, var(--tone) 55%, #000);border:1px solid color-mix(in srgb, var(--tone) 28%, transparent);border-radius:16px;padding:14px 16px;font-size:.92rem;line-height:1.45}.cp-more{gap:8px;display:grid}.cp-opts{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.cp-opt{cursor:pointer;text-align:center;border:1px solid var(--kdb-line);background:var(--kdb-surface);min-height:76px;color:var(--kdb-text-soft);border-radius:14px;align-content:center;justify-items:center;gap:5px;padding:10px 8px;font-size:.82rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:grid}.cp-opt span{font-size:1.3rem;line-height:1}.cp-opt:hover:not(:disabled){background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent-dark)}.cp-opt.danger:hover:not(:disabled){color:#a32d2d;background:#fdecee;border-color:#f1aeb5}.cp-opt:disabled{opacity:.6;cursor:default}@media (width<=700px){.cp-panel{width:100%;max-height:94vh;padding:10px 18px calc(22px + env(safe-area-inset-bottom));border-bottom:none;border-radius:24px 24px 0 0;gap:14px;animation:.25s ease-out sheet-in}.cp-handle{background:#1d1d2e2e;border-radius:999px;width:42px;height:5px;margin:0 auto 2px;display:block}.cp-avatar{width:60px;height:60px;font-size:1.4rem}.cp-name{font-size:1.4rem}.cp-primary{min-height:76px}}.ci-tile{position:relative}.ci-tags{letter-spacing:.04em;align-items:flex-start;font:700 .64rem/1.4 Inter,sans-serif;display:flex;position:absolute;top:0;right:0}.ci-time{white-space:nowrap;color:var(--fg);background:color-mix(in srgb, var(--fg) 18%, transparent);border-radius:0 0 0 12px;margin-right:-12px;padding:2px 19px 3px 10px}.ci-el{z-index:1;color:#fff;background:#6f42c1;border-radius:0 16px 0 12px;padding:2px 9px 3px 10px;position:relative}.ci-time:last-child{border-radius:0 16px 0 12px;margin-right:0;padding-right:9px}.ci-walkin-toggle{cursor:pointer;white-space:nowrap;border:1px solid var(--kdb-blue-line);background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:600}.ci-walkin-toggle.on{background:var(--kdb-surface-alt);color:var(--kdb-text-soft)}.ci-head-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.ci-staff{position:relative}.ci-staff-pill{--tone:#de1c1c;cursor:pointer;background:color-mix(in srgb, var(--tone) 9%, var(--kdb-surface));border:1px solid color-mix(in srgb, var(--tone) 40%, transparent);color:var(--kdb-text);text-align:left;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.ci-staff-pill.set{--tone:#22a06b}.ci-staff-pill.empty{animation:2s ease-in-out infinite staff-pulse}.ci-staff-avatar{background:var(--tone);color:#fff;border-radius:999px;place-items:center;min-width:34px;height:34px;padding:0 6px;font:700 .85rem "Baloo 2",sans-serif;display:grid}.ci-staff-text{line-height:1.15;display:grid}.ci-staff-text small{color:var(--kdb-text-soft);font-size:.68rem;font-weight:600}.ci-staff-text b{color:color-mix(in srgb, var(--tone) 70%, #000);font-size:.95rem}.ci-staff-caret{color:var(--kdb-muted);font-size:.8rem}.ci-staff-menu{z-index:60;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:16px;gap:8px;width:240px;padding:12px;animation:.15s ease-out panel-in;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #1d1d2e33}.ci-staff-menu small{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);font-size:.68rem;font-weight:700}.ci-staff-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:260px;display:grid;overflow-y:auto}.ci-staff-grid button{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);min-height:48px;color:var(--kdb-text);border-radius:12px;font:700 1rem "Baloo 2",sans-serif}.ci-staff-grid button:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line)}.ci-staff-grid button.on{color:#fff;background:#22a06b;border-color:#22a06b}@keyframes staff-pulse{0%,to{box-shadow:0 0 #de1c1c59}50%{box-shadow:0 0 0 7px #de1c1c00}}@media (width<=700px){.ci-head{flex-wrap:wrap}.ci-staff-menu{left:0;right:auto}}.ci-subj-row{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.ci-subj{--tone:#3fa9db;background:color-mix(in srgb, var(--tone) 10%, var(--kdb-surface));border:1px solid color-mix(in srgb, var(--tone) 35%, transparent);white-space:nowrap;border-radius:999px;flex-direction:row;flex-shrink:0;align-items:center;gap:7px;height:38px;min-height:0;margin:0;padding:0 6px 0 12px;display:inline-flex;position:static;box-shadow:0 2px 8px #1d1d2e0a}.ci-subj-math{--tone:#3fa9db}.ci-subj-reading{--tone:#f5a400}.ci-subj-efl{--tone:#22a06b}.ci-subj-el{--tone:#6f42c1}.ci-subj-icon{font-size:1.1rem;line-height:1}.ci-subj-total{color:color-mix(in srgb, var(--tone) 70%, #000);font:700 1.05rem/1 "Baloo 2",sans-serif}.ci-subj-in{background:var(--kdb-surface-alt);color:var(--kdb-text-soft);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:700;line-height:1.2}.ci-subj-in.live{color:#1b7f4b;background:#ddf3e6}@container (width<=900px){.ci-subj-row{flex-basis:100%;order:3;justify-content:flex-start}}@media (width<=700px){.ci-subj-row{scrollbar-width:none;overflow-x:auto}.ci-subj-row::-webkit-scrollbar{display:none}}.el{padding:8px 28px 28px}.el h1{margin:6px 0 12px;font-size:1.6rem}.el-h{margin:4px 0;font-size:1.2rem}.el-hr{border:none;border-top:1px solid var(--kdb-line);margin:10px 0}.el-muted{color:var(--kdb-text-soft)}.el-warn{color:#8a6100;background:#fff3cd;border-radius:8px;margin:0;padding:6px 10px;font-size:13px}.el-tab{text-align:center;border:1px solid var(--kdb-blue-line);min-height:44px;color:var(--kdb-text-soft);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:10px 12px;font-weight:500;line-height:1.2;display:flex}.el-tab:hover{background:var(--kdb-tint);border-color:var(--kdb-accent);color:var(--kdb-text)}.el-tab.on{background:var(--kdb-tint);color:var(--kdb-accent-dark);border:1.5px solid var(--kdb-accent)}.seg{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:14px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;margin-bottom:16px;padding:5px;display:grid}.seg .seg-btn{text-align:center;min-height:10px;box-shadow:none;color:var(--kdb-text-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.95rem;font-weight:600;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s;display:flex;transform:none}.seg .seg-btn:hover:not(.on){color:var(--kdb-text);background:#fff9}.seg .seg-btn:focus-visible{outline:2px solid var(--kdb-accent);outline-offset:2px}.seg .seg-btn.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.seg .seg-icon{font-size:1.15rem;line-height:1}.seg.days{border-radius:12px;max-width:680px;margin:0 auto 10px;padding:4px}.seg.days .seg-btn{letter-spacing:.03em;min-height:11px;padding:6px 4px;font-size:.88rem}.el-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.el-date{font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:700}.el-grid{--card-min:160px;grid-template-columns:110px repeat(var(--cols,4), minmax(var(--card-min), 1fr));align-items:stretch;gap:10px 8px;padding:2px 4px 6px;display:grid;overflow-x:auto}.el-head{border-bottom:1px solid var(--kdb-line);padding:6px 4px;font-weight:700}.el-head.center{text-align:center}.el-time{align-items:center;padding:0 4px;display:flex}.el-none{grid-column:2 / span var(--cols,4);min-height:60px;color:var(--kdb-muted);justify-content:center;align-items:center;font:italic 13px Inter,sans-serif;display:flex}.el-empty{min-height:140px;color:var(--kdb-muted);border:1px dashed #1d1d2e26;border-radius:10px;justify-content:center;align-items:center;font:13px Inter,sans-serif;display:flex}.el-card{border:1px solid;border-radius:8px;flex-direction:column;justify-content:space-between;gap:6px;min-width:140px;min-height:140px;padding:10px;display:flex;box-shadow:0 2px 6px #0f172a1f,inset 0 1px #ffffff40}.el-card .who{align-items:center;gap:6px;margin-bottom:4px;font-weight:600;display:flex}.el-card .ini{background:#ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex}.el-card code{background:#ffffff40;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:.85rem;font-weight:700;display:inline-block}.el-card .note{margin-top:4px;font-size:13px}.el-btn{white-space:pre-line;color:#fff;background:#fff3;border:1px solid #fff3;border-radius:18px;width:100%;min-height:36px;padding:6px 8px;font-size:14px;font-weight:700;line-height:1.2}.el-btn:hover{opacity:.85;transform:scale(1.02)}.el-ext{text-align:center;white-space:pre-line;padding:6px 0;font-size:14px;font-weight:700}.el-card.noshow{color:#0a2540;background:linear-gradient(160deg,#7fd6f8,#55bfee);border-color:#49bbeb}.el-card.noshow .el-btn{color:#0a2540;background:#ffffff73}.el-card.in{color:#000;background:linear-gradient(160deg,#ffd83d,#f5bd00);border-color:#e6b800}.el-card.in .el-btn{color:#000;background:#00000026;border-color:#00000026}.el-card.out,.el-card.pickup{color:#fff;background:linear-gradient(160deg,#3dbb5c,#22973f);border-color:#1e7e34}.el-card.absent{color:#fff;background:linear-gradient(160deg,#e5505f,#cc2f3f);border-color:#bd2130}.el-pop-wrap{position:relative}.el-pop{z-index:20;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;width:320px;padding:14px;position:absolute;top:110%;right:0;box-shadow:0 8px 24px #1d1d2e2e}.el-form{gap:10px;display:grid}.el-card-box{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;max-width:720px;padding:16px}.el-form label{gap:4px;min-width:0;font-size:14px;display:grid}.el-form label.el-check{cursor:pointer;align-items:center;gap:8px;display:flex}.el-form input:not([type=radio]):not([type=checkbox]),.el-form select{box-sizing:border-box;background:#eef0f4;border:1px solid #0000;border-radius:8px;width:100%;max-width:100%;padding:9px 11px;font-size:15px}.el-radio{gap:18px;display:flex}.el-radio label{align-items:center;gap:6px;display:flex}.el-row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wl-entry{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;gap:4px;max-width:720px;margin-top:10px;padding:10px 14px;display:grid}.wl-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.wl-entry small{color:var(--kdb-text-soft)}.wl-x{border:1px solid var(--kdb-line);background:0 0;border-radius:8px;padding:2px 8px}.ov-kpis{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ov-days{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:8px;display:grid}.ov-day{background:var(--kdb-surface);border:1px solid var(--kdb-line);text-align:center;border-radius:10px;padding:10px}.ov-day span{font-weight:600;display:block}.ov-day b{color:var(--kdb-accent-dark);font-size:1.4rem}.ov-scroll{margin-top:8px;overflow-x:auto}.ov-table{border-collapse:collapse;width:100%}.ov-table th,.ov-table td{text-align:center;border-bottom:1px solid var(--kdb-line);padding:6px 10px}.ov-table th:first-child,.ov-table td:first-child{text-align:left}.holiday{background:linear-gradient(135deg, var(--kdb-sidebar-bg), var(--kdb-tint));border:1px solid var(--kdb-blue-line);text-align:center;border-radius:16px;gap:8px;margin-top:40px;padding:40px 20px;display:grid}.holiday b{font-size:22px;font-weight:800}.holiday span{color:#4a6f9c}.pop-backdrop{z-index:15;position:fixed;inset:0}.el-pop{color:var(--kdb-text)}.el-pop-wrap.fill{height:100%}.pop-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;position:fixed;inset:0}.el-pop.el-form{z-index:1001;box-sizing:border-box;background:var(--kdb-surface,#fff);border-radius:14px;width:90%;max-width:420px;max-height:90vh;padding:20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 32px #0003}.el-check{flex-direction:row;align-items:center;gap:8px;display:flex!important}.assign-btn{background:var(--kdb-surface-alt);width:100%;height:100%;min-height:150px;color:var(--kdb-muted);border:1px dashed #cbd5e1;border-radius:8px;font-size:14.5px;font-weight:500;transition:all .2s}.assign-btn:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.b-card{color:#0a2540;background:#6dcff6;border:1px solid #49bbeb;border-radius:8px;flex-direction:column;justify-content:space-between;gap:6px;min-height:150px;padding:10px;display:flex;position:relative}.b-card .who{align-items:center;gap:6px;margin-bottom:4px;padding-right:34px;font-weight:600;display:flex}.b-card .ini{background:#fff9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex}.b-card code{background:#ffffff73;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:.85rem;font-weight:700;display:inline-block}.b-card .cap{opacity:.8;font-size:12px}.b-card .note-text{margin-top:2px;font-size:13px}.b-confirm{gap:4px;font-size:13px;display:grid}.b-btn{color:#0a2540;background:#ffffff73;border:1px solid #0a254040;border-radius:20px;width:100%;min-height:28px;padding:4px 8px;font-weight:500}.b-btn:hover{color:#fff;background:#dc3545;border-color:#d75c5c}.b-card.ph{color:#92400e;background:#fef3c7;border:1px dashed #d97706}.b-card.ph .b-btn{color:#78350f;background:#fde68a;border-color:#d97706}.b-card.ph .b-btn:hover{color:#fff;background:#dc3545;border-color:#d75c5c}.note-corner{position:absolute;top:6px;right:6px}.note-btn{background:#fff9;border:1px solid #0a254040;border-radius:8px;width:30px;height:30px;padding:0;font-size:15px;line-height:1;box-shadow:0 1px 2px #0000001f}.note-btn:hover{background:#fff}@media (width<=700px){.el{padding:8px 12px 20px}.el h1{font-size:1.3rem}.seg.icons{border-radius:12px;gap:2px;padding:4px}.seg.icons .seg-btn{flex-direction:column;gap:3px;min-height:58px;padding:8px 2px;font-size:.72rem}.seg.icons .seg-icon{font-size:1.35rem}.seg.days .seg-btn{letter-spacing:0;padding:6px 0;font-size:.74rem}.el-tab{padding:10px 6px;font-size:14px}.el-bar{flex-wrap:wrap}.el-date{font-size:1.15rem}.el-grid{grid-template-columns:1fr;gap:8px;overflow-x:visible}.el-head{display:none}.el-time{border-bottom:1px solid var(--kdb-line);padding:14px 4px 4px;font-size:1.05rem}.el-none{grid-column:1/-1;min-height:40px}.el-empty{display:none}.el-card,.b-card{min-height:0}.el-btn{min-height:44px}.assign-btn{min-height:52px}}.lt-head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px;display:flex}.lt-title{margin:0;font-size:1.4rem;line-height:1.2}.lt-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.lt-chip{--tone:#3fa9db;color:var(--kdb-text-soft);background:color-mix(in srgb, var(--tone) 12%, var(--kdb-surface));border:1px solid color-mix(in srgb, var(--tone) 35%, transparent);border-radius:999px;align-items:baseline;gap:5px;padding:5px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.lt-chip b{color:var(--kdb-text);font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:600}.lt-chip.amber{--tone:#f5a400}.lt-chip.green{--tone:#22a06b}.lt-chip.slate{--tone:#8a8aa0}.lt-makeup{cursor:pointer;white-space:nowrap;background:var(--kdb-accent);color:var(--kdb-on-accent);border:none;border-radius:10px;padding:9px 18px;font-size:.9rem;font-weight:700;box-shadow:0 4px 12px #1b5fa338}.lt-makeup:hover{background:var(--kdb-accent-hover)}.lt-grid{grid-template-columns:96px repeat(var(--cols,4), minmax(168px, 1fr));align-items:stretch;gap:8px;max-height:calc(100dvh - 155px);padding:2px 2px 8px;display:grid;overflow:auto}.lt-time{z-index:2;text-align:center;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;align-content:center;justify-items:center;gap:3px;padding:6px;display:grid;position:sticky;left:0;box-shadow:4px 0 8px -4px #1d1d2e1f}.lt-time b{font-family:"Baloo 2",sans-serif;font-size:.98rem;line-height:1.15}.lt-count{color:var(--kdb-muted);font-size:.75rem;font-weight:700}.lt-time.full .lt-count{color:#a32d2d}.lt-none{grid-column:2 / span var(--cols,4);min-height:40px;color:var(--kdb-muted);justify-content:center;align-items:center;font:italic 13px Inter,sans-serif;display:flex}.lt-empty{min-height:40px;color:var(--kdb-muted);border:1.5px dashed #1d1d2e21;border-radius:12px;justify-content:center;align-items:center;font:12px Inter,sans-serif;display:flex}.lt-card{border:1px solid;border-radius:12px;flex-direction:column;gap:8px;min-width:0;height:144px;padding:10px;display:flex;box-shadow:0 2px 6px #0f172a24,inset 0 1px #ffffff40}.lt-card.noshow{color:#0a2540;background:linear-gradient(160deg,#7fd6f8,#55bfee);border-color:#49bbeb}.lt-card.in{color:#000;background:linear-gradient(160deg,#ffd83d,#f5bd00);border-color:#e6b800}.lt-card.out,.lt-card.pickup{color:#fff;background:linear-gradient(160deg,#3dbb5c,#22973f);border-color:#1e7e34}.lt-card.absent{color:#fff;background:linear-gradient(160deg,#e5505f,#cc2f3f);border-color:#bd2130}.lt-card.ext{opacity:.85}.lt-card-top{flex-shrink:0;align-items:center;gap:9px;min-width:0;display:flex}.lt-note{white-space:nowrap;text-overflow:ellipsis;background:#ffffff47;border-radius:6px;flex-shrink:0;align-self:flex-start;max-width:100%;padding:2px 8px;font-size:.78rem;line-height:1.3;overflow:hidden}.lt-ini{background:#ffffff61;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:"Baloo 2",sans-serif;font-size:.9rem;font-weight:700;display:flex}.lt-who{gap:3px;min-width:0;display:grid}.lt-name{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.2;overflow:hidden}.lt-sub{background:#ffffff4d;border-radius:4px;justify-self:start;padding:1px 8px;font-size:.78rem;font-weight:700}.lt-ext{text-align:center;white-space:pre-line;margin-top:auto;padding:6px 0;font-size:.85rem;font-weight:700}.lt-act{cursor:pointer;text-align:center;white-space:pre-line;color:#fff;background:#ffffff38;border:1px solid #ffffff40;border-radius:22px;justify-content:center;align-items:center;width:100%;height:44px;margin-top:auto;padding:4px 10px;font-size:.88rem;font-weight:700;line-height:1.2;transition:filter .15s,transform .1s;display:flex}.lt-act:hover{filter:brightness(.92);transform:scale(1.02)}.lt-act:focus-visible{outline-offset:2px;outline:3px solid #ffc107}.lt-card.noshow .lt-act{color:#0a2540;background:#ffffff80}.lt-card.in .lt-act{color:#000;background:#00000026;border-color:#00000026}@media (width<=700px){.lt-title{font-size:1.15rem}.lt-makeup,.lt-head>.el-pop-wrap{width:100%}.lt-grid{grid-template-columns:1fr;gap:6px;overflow-x:visible}.lt-time{box-shadow:none;justify-content:space-between;align-items:center;margin-top:8px;padding:6px 12px;display:flex;position:static}.lt-none{grid-column:1/-1;min-height:30px}.lt-empty{display:none}.lt-card{flex-flow:wrap;align-items:center;gap:6px 10px;height:auto;min-height:0}.lt-card-top{flex:130px}.lt-act{flex:none;width:auto;min-width:124px;height:44px;margin-top:0}.lt-ext{flex:none;margin-top:0;padding:0}.lt-note{flex:1 0 100%;order:3}}@media (width>=701px){.el{padding-top:2px}.el h1{margin:2px 0 8px;font-size:1.3rem}.seg.icons{border-radius:12px;gap:3px;margin-bottom:10px;padding:3px}.seg.icons .seg-btn{border-radius:9px;min-height:34px;padding:5px 12px;font-size:.9rem}.seg.icons .seg-icon{font-size:1rem}.lt-head{gap:8px 12px;margin:0 0 8px}.lt-title{font-size:1.15rem}.lt-chip{padding:3px 10px;font-size:.76rem}.lt-makeup{border-radius:9px;padding:7px 16px;font-size:.85rem}.el.el-fit{flex-direction:column;height:100dvh;padding-bottom:10px;display:flex;overflow-y:auto}.el-fit>*{flex-shrink:0}.el-fit>.lt,.el-fit>.bd{flex-direction:column;flex:auto;min-height:0;display:flex}.el-fit .lt-grid{flex:auto;min-height:0;max-height:none}}.bd-head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px;display:flex}.bd-head .seg.days{flex:0 460px;max-width:none;margin:0;padding:3px}.bd-head .seg.days .seg-btn{min-height:32px;padding:4px 6px}.bd-err{margin-bottom:8px}.bd-card{color:#0a2540;background:linear-gradient(160deg,#7fd6f8,#55bfee);border:1px solid #49bbeb;border-radius:12px;flex-direction:column;gap:8px;min-width:0;height:144px;padding:10px;display:flex;position:relative;box-shadow:0 2px 6px #0f172a24,inset 0 1px #ffffff40}.bd-card.ext{opacity:.85}.bd-card.ph{color:#92400e;box-shadow:none;background:#fef3c7;border:1.5px dashed #d97706}.bd-card-top{flex-shrink:0;align-items:center;gap:9px;min-width:0;display:flex}.bd-ini{background:#ffffff73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:"Baloo 2",sans-serif;font-size:.9rem;font-weight:700;display:flex}.bd-card.ph .bd-ini{background:#d9770626}.bd-who{flex:1;gap:3px;min-width:0;display:grid}.bd-name{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.2;overflow:hidden}.bd-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.bd-sub{background:#fff6;border-radius:4px;justify-self:start;padding:1px 8px;font-size:.78rem;font-weight:700}.bd-card.ph .bd-sub{background:#d9770626}.bd-note{white-space:nowrap;text-overflow:ellipsis;background:#fff6;border-radius:6px;flex-shrink:0;align-self:flex-start;max-width:100%;padding:2px 8px;font-size:.78rem;line-height:1.3;overflow:hidden}.bd-note-wrap{flex-shrink:0;align-self:flex-start}.bd-note-btn{cursor:pointer;background:#fff9;border:1px solid #0a254038;border-radius:8px;width:30px;height:30px;padding:0;font-size:.95rem;line-height:1}.bd-note-btn:hover{background:#fff}.bd-remove{cursor:pointer;color:#0a2540;background:#ffffff80;border:1px solid #0a254038;border-radius:18px;width:100%;height:36px;margin-top:auto;padding:4px 10px;font-size:.85rem;font-weight:700;transition:background .15s,color .15s}.bd-card.ph .bd-remove{color:#78350f;background:#fde68a;border-color:#d97706}.bd-remove:hover{color:#fff;background:#dc3545;border-color:#dc3545}.bd-confirm{z-index:3;text-align:center;color:#fff;background:#0f172af0;border-radius:11px;flex-direction:column;justify-content:center;gap:10px;padding:12px;font-size:.85rem;font-weight:600;line-height:1.3;display:flex;position:absolute;inset:0}.bd-confirm-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.bd-confirm-btns button{cursor:pointer;color:#fff;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:17px;height:34px;font-size:.85rem;font-weight:700}.bd-confirm-btns button:hover{background:#ffffff38}.bd-confirm-btns button.yes{background:#dc3545;border-color:#dc3545}.bd-confirm-btns button.yes:hover{background:#bb2d3b}.bd-assign{cursor:pointer;width:100%;height:100%;min-height:144px;color:var(--kdb-text-soft);background:#ffffff8c;border:1.5px dashed #b6c4d4;border-radius:12px;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.bd-assign.compact{min-height:40px}.bd-assign:hover{background:var(--kdb-tint);border-color:var(--kdb-accent);color:var(--kdb-accent)}.bd-form-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bd-form-head b{font-family:"Baloo 2",sans-serif;font-size:1.15rem}.bd-form-head span{color:var(--kdb-muted);font-size:.85rem;font-weight:600}.bd-mode{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:12px;grid-template-columns:1fr 1fr;gap:3px;padding:4px;display:grid}.bd-mode button{cursor:pointer;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:9px;padding:9px 8px;font-size:.88rem;font-weight:600}.bd-mode button:hover:not(.on){background:#fff9}.bd-mode button.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}@media (width<=700px){.bd-head .seg.days{flex:100%}.bd-card{flex-flow:wrap;align-items:center;gap:6px 10px;height:auto}.bd-card-top{flex:140px}.bd-remove{flex:none;width:auto;min-width:110px;height:40px;margin-top:0}.bd-note{flex:1 0 100%;order:3}.bd-confirm{border-radius:10px;flex:1 0 100%;order:4;padding:10px;position:static}.bd-extra{display:none}.bd-assign,.bd-assign.compact{height:auto;min-height:46px}}.wl2{grid-template-columns:minmax(300px,380px) 1fr;align-items:start;gap:16px;max-width:1100px;margin:0 auto;display:grid}.wl2-h{margin:0;font-size:1.15rem}.wl2-form{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;gap:14px;padding:18px;display:grid;position:sticky;top:8px;box-shadow:0 2px 12px #1d1d2e0f}.wl2-field{gap:6px;min-width:0;display:grid}.wl2-field>span{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.wl2-field input,.wl2-field select{width:100%;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;padding:11px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.wl2-field input:focus,.wl2-field select:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.wl2-chips{flex-wrap:wrap;gap:6px;display:flex}.wl2-chip{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;padding:8px 13px;font-size:.85rem;font-weight:600}.wl2-chip:hover:not(.on){background:var(--kdb-tint)}.wl2-chip.on{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.wl2-submit{padding:13px 16px}.wl2-list{gap:14px;min-width:0;display:grid}.wl2-list-head{align-items:center;gap:10px;display:flex}.wl2-count{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.wl2-group{gap:8px;display:grid}.wl2-day{align-items:center;gap:8px;padding:0 4px;display:flex}.wl2-day b{color:var(--kdb-accent-dark);font-family:"Baloo 2",sans-serif;font-size:1.05rem}.wl2-day span{color:var(--kdb-accent-dark);background:#185fa51a;border-radius:999px;padding:1px 9px;font-size:.75rem;font-weight:700}.wl2-day:after{content:"";background:var(--kdb-line);flex:1;height:1px}.wl2-entry{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 1px 6px #1d1d2e0d}.wl2-ini{color:#fff;background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-family:"Baloo 2",sans-serif;font-size:.95rem;font-weight:700;display:flex}.wl2-body{flex:1;gap:4px;min-width:0;display:grid}.wl2-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl2-name{overflow-wrap:anywhere;font-size:1rem}.wl2-time{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:2px 9px;font-size:.78rem;font-weight:700}.wl2-tag{color:#6f42c1;background:#f3e8ff;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700}.wl2-note{color:var(--kdb-text-soft);overflow-wrap:anywhere;font-size:.85rem}.wl2-sched{color:var(--kdb-muted);font-size:.8rem}.wl2-sched.yes{color:#0f5132}.wl2-x{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);width:34px;height:34px;color:var(--kdb-text-soft);border-radius:50%;flex-shrink:0;font-size:.85rem}.wl2-x:hover{color:#a32d2d;background:#fdecee;border-color:#f1aeb5}.wl2-confirm{flex-shrink:0;gap:6px;display:flex}.wl2-confirm button{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:700}.wl2-confirm button.yes{color:#fff;background:#dc3545;border-color:#dc3545}.wl2-confirm button.yes:hover{background:#bb2d3b}.wl2-empty{text-align:center;color:var(--kdb-text-soft);background:var(--kdb-surface);border:1px dashed var(--kdb-line);border-radius:18px;justify-items:center;gap:4px;padding:40px 16px;display:grid}.wl2-empty div{font-size:2rem}@media (width<=900px){.wl2{grid-template-columns:1fr}.wl2-form{position:static}}@media (width<=700px){.wl2-entry{align-items:flex-start;padding:12px}.wl2-confirm{flex-direction:column}}.ov2{gap:14px;max-width:1100px;margin:0 auto;display:grid}.ov2-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.ov2-h{margin:0;font-size:1.3rem}.ov2-hint{color:var(--kdb-muted);font-size:.85rem}.ov2-kpis{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ov2-kpi{--tone:#3fa9db;background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;align-items:center;gap:14px;padding:16px 18px;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.ov2-kpi.purple{--tone:#8b5cf6}.ov2-kpi.amber{--tone:#f5a400}.ov2-kpi-icon{background:color-mix(in srgb, var(--tone) 16%, transparent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.ov2-kpi-text{gap:1px;min-width:0;display:grid}.ov2-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.ov2-kpi-value{font-family:"Baloo 2",sans-serif;font-size:1.7rem;font-weight:700;line-height:1.15}.ov2-kpi-sub{color:var(--kdb-muted);font-size:.82rem}.ov2-grid{grid-template-columns:minmax(260px,340px) 1fr;align-items:start;gap:14px;display:grid}.ov2-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;min-width:0;padding:16px 18px;box-shadow:0 2px 10px #1d1d2e0d}.ov2-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ov2-card-h{margin:0 0 12px;font-family:"Baloo 2",sans-serif;font-size:1.05rem}.ov2-card-head .ov2-card-h{margin-bottom:12px}.ov2-bars{gap:10px;display:grid}.ov2-bar{grid-template-columns:40px 1fr 30px;align-items:center;gap:10px;display:grid}.ov2-bar-day{color:var(--kdb-text-soft);font-size:.9rem;font-weight:700}.ov2-bar-track{background:#185fa51a;border-radius:999px;height:14px;overflow:hidden}.ov2-bar-track i{background:var(--kdb-blue-line);border-radius:999px;height:100%;transition:width .4s;display:block}.ov2-bar.top .ov2-bar-track i{background:var(--kdb-accent)}.ov2-bar.top .ov2-bar-day{color:var(--kdb-accent-dark)}.ov2-bar-n{text-align:right;font-family:JetBrains Mono,monospace;font-weight:500}.ov2-legend{color:var(--kdb-muted);align-items:center;gap:4px;margin-bottom:12px;font-size:.75rem;display:inline-flex}.ov2-legend i{background:color-mix(in srgb, var(--kdb-accent) calc(var(--p) * 100%), #fff);border-radius:4px;width:14px;height:14px}.ov2-legend span{margin-left:4px}.ov2-scroll{margin:0 -4px;padding:0 4px;overflow-x:auto}.ov2-table{border-collapse:separate;border-spacing:0 4px;width:100%;font-size:14px}.ov2-table th{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--kdb-text-soft);padding:4px 6px 6px;font-size:.74rem;font-weight:700}.ov2-table td{text-align:center;padding:0 3px}.ov2-table .left{text-align:left}.ov2-table th.left,.ov2-table td.left{z-index:1;background:var(--kdb-surface);padding-right:10px;position:sticky;left:0}.ov2-time{white-space:nowrap;font-weight:700}.ov2-cell{background:color-mix(in srgb, var(--kdb-accent) calc(var(--p) * 100%), #fff);min-width:40px;height:36px;color:var(--kdb-accent-dark);border-radius:9px;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-weight:600;display:flex}.ov2-cell.full{color:#fff}.ov2-none{height:36px;color:var(--kdb-muted);opacity:.6;justify-content:center;align-items:center;display:flex}.ov2-total{font-family:JetBrains Mono,monospace;font-weight:600}@media (width<=900px){.ov2-grid{grid-template-columns:1fr}}@media (width<=700px){.ov2-kpis{grid-template-columns:1fr;gap:8px}.ov2-kpi{padding:12px 14px}.ov2-kpi-icon{width:42px;height:42px}.ov2-card{padding:14px}}.bd-card.orphan{color:#842029;box-shadow:none;background:#fff1f2;border:1.5px dashed #dc3545}.bd-card.orphan .bd-ini{background:#dc35451f}.bd-card.orphan .bd-sub{white-space:normal;background:#dc35451f}.bd-card.orphan .bd-remove{color:#842029;background:#fecdd3;border-color:#dc3545}.bd-card.orphan .bd-remove:hover{color:#fff;background:#dc3545}.bd-card.orphan.break{color:#7a5200;background:#fff8e1;border:1.5px dashed #f5a400}.bd-card.orphan.break .bd-ini,.bd-card.orphan.break .bd-sub{background:#f5a40033}.bd-card.orphan.break .bd-remove{color:#7a5200;background:#ffe39a;border-color:#f5a400}.bd-card.orphan.break .bd-remove:hover{color:#fff;background:#dc3545;border-color:#dc3545}.bd-over{text-align:center;color:#a32d2d;background:#fdecee;border:1px solid #f1aeb5;border-radius:12px;justify-content:center;align-items:center;padding:6px;font-size:.8rem;font-weight:700;display:flex}.bd-pad{display:none}@media (width>=701px){.bd-pad{display:block}}.lt-closed-banner{background:linear-gradient(135deg, var(--kdb-sidebar-bg,#f8fafc), var(--kdb-tint,#e0f2fe));border:1px solid var(--kdb-blue-line,#bae6fd);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:10px;margin-top:24px;padding:40px 24px;display:flex;box-shadow:0 4px 12px #0f172a0a}.lt-closed-badge{border:1px solid var(--kdb-blue-line,#bae6fd);background:#fffc;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:flex;box-shadow:0 2px 8px #0000000d}.lt-closed-icon{font-size:1.6rem}.lt-closed-title{color:var(--kdb-text,#0f172a);font-family:"Baloo 2",sans-serif;font-size:22px;font-weight:800}.lt-closed-sub{color:#4a6f9c;max-width:460px;font-size:.95rem;line-height:1.4}.lt-closed-hint{color:var(--kdb-text-soft,#64748b);background:#fff9;border:1px solid #185fa51a;border-radius:999px;margin-top:8px;padding:6px 14px;font-size:.82rem}.ci-tile{position:relative;overflow:hidden}.ci-tile.el-student{outline-offset:-3px;outline:4px solid #ce93d8!important;box-shadow:0 0 12px 2px #ce93d8e6,inset 0 0 6px #ce93d866!important}.ci-tile.el-student:after{content:"EL";color:#311b92;letter-spacing:.04em;background:#b39ddb;border-radius:6px;padding:2px 6px;font-size:.68rem;font-weight:700;position:absolute;top:6px;right:8px;box-shadow:0 1px 3px #0003}.home{min-height:100vh;padding:0 16px}.home-card{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:16px;width:min(460px,100%);margin:0 auto;padding:24px 24px 28px;position:relative;top:12vh;box-shadow:0 8px 32px #185fa51f}.home-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0 0 .35rem;font-size:.72rem;font-weight:600}.home-title{text-align:center;margin:0;font-size:2rem;font-weight:700}.home-prompt{text-align:center;color:var(--kdb-text-soft);margin:1.25rem 0 .75rem;font-size:.95rem}.home-btn{background:var(--kdb-surface);width:100%;color:var(--kdb-text);border:1px solid #1d1d2e1f;border-radius:10px;margin-top:10px;padding:12px;font-size:1rem;display:block}.home-btn:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line)}.home-btn.primary{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.home-btn.primary:hover{background:var(--kdb-accent-hover);border-color:var(--kdb-accent-hover)}.home-footer{text-align:center;color:var(--kdb-muted);margin:1.5rem 0 0;font-size:.82rem}.portal-btn{justify-content:center;align-items:center;gap:8px;display:flex}.portal-text{flex-direction:column;display:flex}.portal-desc{display:none}@media (width>=768px){.home-card{width:min(980px,100%);padding:36px 36px 32px;top:8vh}.home-title{font-size:2.4rem}.home-prompt{margin:1.5rem 0;font-size:1.05rem}.home-portals{grid-template-columns:repeat(var(--n,3), 1fr);gap:16px;display:grid}.portal-btn{text-align:center;border-radius:16px;flex-direction:column;justify-content:center;gap:16px;min-height:240px;margin-top:0;padding:32px 16px;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;box-shadow:0 2px 8px #185fa514}.portal-btn:hover{transform:translateY(-4px);box-shadow:0 12px 28px #185fa52e}.portal-btn:active{transform:translateY(-1px)}.portal-icon{background:var(--kdb-tint);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-size:2.8rem;transition:transform .18s;display:flex}.portal-btn:hover .portal-icon{transform:scale(1.08)}.portal-btn.primary .portal-icon{background:#fff3}.portal-name{font-size:1.35rem;font-weight:700}.portal-desc{color:var(--kdb-text-soft);margin-top:6px;font-size:.92rem;display:block}.portal-btn.primary .portal-desc{color:inherit;opacity:.85}.home-settings{width:auto;margin:22px auto 0;padding:8px 22px;font-size:.92rem}}.lg-page{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;padding:20px 16px;display:flex}.lg-shell{background:var(--kdb-surface);border:1px solid #ffffffe6;border-radius:26px;grid-template-columns:1.05fr 1fr;width:min(960px,100%);min-height:580px;animation:.35s ease-out lg-in;display:grid;overflow:hidden;box-shadow:0 30px 70px #185fa533,0 2px 6px #185fa514}@keyframes lg-in{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:none}}.lg-brand{color:#fff;background:radial-gradient(420px 300px at 105% -5%, #7dcdf473, transparent 65%), radial-gradient(360px 280px at -10% 110%, #3c8fd68c, transparent 65%), linear-gradient(150deg, var(--kdb-accent), var(--kdb-accent-dark));flex-direction:column;align-items:center;padding:36px 32px;display:flex;position:relative;overflow:hidden}.lg-brand:before,.lg-brand:after{content:"";pointer-events:none;border:1px solid #ffffff24;border-radius:50%;position:absolute}.lg-brand:before{width:340px;height:340px;top:-150px;right:-130px}.lg-brand:after{width:240px;height:240px;bottom:-110px;left:-90px}.lg-brand>*{z-index:1;position:relative}.lg-logo{background:#fff3;border-radius:24px;justify-content:center;align-items:center;width:84px;height:84px;font-size:2.6rem;display:flex;box-shadow:inset 0 1px #ffffff4d}.lg-center{text-align:center;justify-items:center;gap:10px;margin:auto 0;display:grid}.lg-name{font-family:"Baloo 2",sans-serif;font-size:2rem;line-height:1.1}.lg-tag{opacity:.8;font-size:.95rem}.lg-date{opacity:.7;margin:0;font-size:.85rem}.lg-main{flex-direction:column;justify-content:center;padding:48px 46px;display:flex}.lg-title{color:var(--kdb-text);margin:0;font-size:1.9rem;font-weight:700;line-height:1.15}.lg-subtitle{color:var(--kdb-text-soft);margin:8px 0 28px;font-size:.98rem;line-height:1.45}.lg-form{gap:18px;display:grid}.lg-field{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);gap:7px;font-size:.78rem;font-weight:700;display:grid}.lg-input{position:relative}.lg-ico{color:var(--kdb-muted);pointer-events:none;transition:color .15s;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.lg-input input{box-sizing:border-box;text-transform:none;letter-spacing:0;width:100%;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:12px;padding:14px 14px 14px 44px;font-family:inherit;font-size:16px;font-weight:400;transition:border-color .15s,box-shadow .15s,background .15s}.lg-input input::placeholder{color:var(--kdb-muted)}.lg-input input:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--kdb-accent) 18%, transparent);background:#fff;outline:none}.lg-input:focus-within .lg-ico{color:var(--kdb-accent)}.lg-input:has(.lg-eye) input{padding-right:50px}.lg-eye{cursor:pointer;width:38px;height:38px;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.lg-eye:hover{color:var(--kdb-text);background:#185fa51a}.lg-caps{text-transform:none;letter-spacing:0;color:#b7791f;font-size:.82rem;font-weight:600}.lg-btn{cursor:pointer;width:100%;color:var(--kdb-on-accent,#fff);background:linear-gradient(135deg, var(--kdb-accent), #3c8fd6);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:15px;font-family:inherit;font-size:1.02rem;font-weight:700;transition:transform .12s,box-shadow .15s,filter .15s;display:flex;box-shadow:0 8px 20px #1b5fa34d}.lg-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 12px 26px #1b5fa35c}.lg-btn:active:not(:disabled){transform:none}.lg-btn:disabled{opacity:.75;cursor:not-allowed}.lg-btn:focus-visible{outline-offset:2px;outline:3px solid #ffc107}.lg-btn.secondary{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:none;border:1px solid var(--kdb-blue-line)}.lg-btn.secondary:hover:not(:disabled){background:var(--kdb-tint);box-shadow:none;filter:none}.lg-spin{border:2px solid #fff6;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite lg-rot}@keyframes lg-rot{to{transform:rotate(360deg)}}.lg-link{cursor:pointer;color:var(--kdb-accent);background:0 0;border:none;align-self:center;margin-top:18px;padding:8px 12px;font-family:inherit;font-size:.92rem;font-weight:600}.lg-link:hover{text-decoration:underline}.lg-error{color:#a61b2b;background:#fdecee;border:1px solid #f5c2c7;border-radius:12px;margin:0;padding:11px 14px;font-size:.9rem;line-height:1.4;animation:.25s ease-out lg-err}@keyframes lg-err{0%{transform:translate(0)}25%{transform:translate(-5px)}55%{transform:translate(5px)}to{transform:none}}.lg-success{justify-items:start;display:grid}.lg-success .lg-subtitle{margin-bottom:24px}.lg-success-icon{color:#1e6b34;background:#e8f6ec;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:18px;font-size:1.7rem;font-weight:700;display:flex;box-shadow:0 0 0 8px #22a06b1a}.lg-foot{color:var(--kdb-muted);margin:0;font-size:.8rem}@media (width<=760px){.lg-page{justify-content:flex-start;padding:12px}.lg-shell{border-radius:22px;grid-template-columns:1fr;min-height:0;margin-top:3vh}.lg-brand{gap:0;padding:18px 22px}.lg-hero,.lg-features{display:none}.lg-brand:before{width:180px;height:180px;top:-90px;right:-60px}.lg-brand:after{display:none}.lg-main{padding:28px 22px 30px}.lg-title{font-size:1.6rem}.lg-subtitle{margin-bottom:22px}}@media (prefers-reduced-motion:reduce){.lg-shell,.lg-error{animation:none}}.auth-page{min-height:100vh;padding:0 16px}.auth-card{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:16px;width:min(460px,100%);margin:0 auto;padding:1.75rem 1.75rem 1.25rem;position:relative;top:12vh;box-shadow:0 8px 32px #185fa51f}.auth-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0 0 .35rem;font-size:.72rem;font-weight:600}.auth-title{text-align:center;margin:0 0 .25rem;font-size:1.9rem;font-weight:700}.auth-subtitle{text-align:center;color:var(--kdb-muted);margin:0 0 1.5rem;font-size:.95rem}.auth-form{gap:14px;display:grid}.auth-forgot{border-top:1px solid var(--kdb-line);margin-top:12px;padding-top:16px}.auth-form label{gap:6px;font-size:14px;display:grid}.auth-form input{background:#eef0f4;border:1px solid #0000;border-radius:8px;padding:10px 12px;font-size:16px}.auth-form input:focus{border-color:var(--kdb-accent);background:var(--kdb-surface);outline:none}.auth-btn{border:1px solid var(--kdb-accent);background:var(--kdb-accent);color:var(--kdb-on-accent);border-radius:8px;padding:11px;font-size:1rem;font-weight:600}.auth-btn:hover:not(:disabled){background:var(--kdb-accent-hover);border-color:var(--kdb-accent-hover)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-link{color:var(--kdb-accent);background:0 0;border:none;margin:12px auto 0;padding:4px;font-size:.85rem;text-decoration:none;display:block}.auth-link:hover{color:var(--kdb-accent-dark);text-decoration:underline}.auth-error{color:#b42318;background:#fef3f2;border-radius:8px;margin:0;padding:8px 12px;font-size:14px}.auth-ok{color:#1b7f4b;background:#e8f8ef;border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:14px}.auth-card.wide{width:min(520px,100%)}.auth-email{text-align:center;width:fit-content;color:var(--kdb-accent);background:#eaf2fb;border-radius:999px;margin:.5rem auto 1.5rem;padding:.3rem .9rem;font-size:.95rem;font-weight:600;display:block}.auth-hint{text-align:center;color:var(--kdb-muted);margin:-6px 0 0;font-size:.8rem}.st-page{max-width:920px;margin:0 auto;padding:8px 28px 100px}.st-page h1{margin:6px 0 14px;font-size:1.8rem}.st-tabs{background:var(--kdb-tint);border:1px solid var(--kdb-line);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin-bottom:18px;padding:5px;display:grid}.st-tab{cursor:pointer;min-height:44px;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.95rem;font-weight:600;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s;display:flex}.st-tab-icon{font-size:1.15rem;line-height:1}.st-tab:hover:not(.on){color:var(--kdb-text);background:#ffffff8c}.st-tab:focus-visible{outline:2px solid var(--kdb-accent);outline-offset:2px}.st-tab.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}@media (width<=600px){.st-page{padding-left:14px;padding-right:14px}.st-tabs{border-radius:12px;gap:2px;padding:4px}.st-tab{text-align:center;flex-direction:column;gap:3px;min-height:58px;padding:8px 2px;font-size:.72rem}.st-tab-icon{font-size:1.35rem}}.st-sec{margin-bottom:22px}.st-sec h3{margin:0 0 2px;font-size:1.1rem}.st-hint{color:var(--kdb-text-soft);margin:0 0 8px;font-size:.9rem}.st-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:14px;margin-top:8px;overflow:hidden}.st-empty{color:var(--kdb-muted);padding:4px 18px 12px}.st-row{border-bottom:1px solid var(--kdb-line);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.st-row:last-child{border-bottom:none}.st-row.dis{opacity:.5;pointer-events:none}.st-label{gap:2px;min-width:0;display:grid}.st-label small{color:var(--kdb-text-soft);font-size:.82rem;line-height:1.35}.st-ctl{flex-shrink:0;align-items:center;gap:8px;display:flex}.st-switch{background:#cbd5e1;border:none;border-radius:999px;width:44px;height:26px;padding:0;transition:background .15s;position:relative}.st-switch span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.st-switch.on{background:var(--kdb-accent)}.st-switch.on span{transform:translate(18px)}.st-switch:disabled{cursor:not-allowed}.st-num,.st-select,.st-input{background:#eef0f4;border:1px solid #0000;border-radius:8px;padding:8px 10px;font-size:15px}.st-num{text-align:center;width:88px}.st-num:focus,.st-select:focus,.st-input:focus{border-color:var(--kdb-accent);background:#fff;outline:none}.st-chips{flex-wrap:wrap;gap:6px;padding:14px 18px;display:flex}.st-chips.nopad{padding:0}.st-addrow{align-items:center;gap:8px;padding:12px 18px;display:flex}.st-addrow.nopad{padding:0}.st-addrow .st-input{flex:1;max-width:280px}.st-initials{gap:10px;padding:0 18px 16px;display:grid}.hol-add{border-bottom:1px solid var(--kdb-line);gap:12px;padding:14px 18px;display:grid}.hol-add-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.hol-field{min-width:140px;color:var(--kdb-text-soft);flex:150px;gap:4px;font-size:.8rem;font-weight:600;display:grid}.hol-field .st-input{box-sizing:border-box;width:100%;height:40px}.hol-add-fields .btn{white-space:nowrap;height:40px;padding:0 16px}.st-range-skip{color:var(--kdb-text-soft);align-items:center;gap:6px;font-size:.85rem;display:flex}.st-note{background:var(--kdb-warn-bg);color:var(--kdb-warn-text);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 18px;padding:10px 14px;font-size:.9rem;display:flex}.hol{border-top:1px solid var(--kdb-line)}.hol summary{cursor:pointer;padding:10px 18px;font-weight:600}.hol-body{padding:0 18px 10px}.hol-row{border-bottom:1px solid var(--kdb-line);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.el-win{border-bottom:1px solid var(--kdb-line);grid-template-columns:56px 1fr 1fr;align-items:center;gap:10px;padding:10px 18px;display:grid}.el-win:last-child{border-bottom:none}.el-win-warn{grid-column:1/-1}.st-savebar{z-index:40;background:var(--kdb-text);color:#fff;border-radius:14px;align-items:center;gap:14px;padding:10px 14px 10px 18px;transition:transform .2s;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%,160%);box-shadow:0 8px 24px #1d1d2e4d}.st-savebar.show{transform:translate(-50%)}.st-savebar .btn{padding:9px 16px;font-size:.95rem}.modal.narrow{width:min(340px,100%)}.pin-dots{justify-content:center;gap:14px;margin:.5rem 0 1.25rem;display:flex}.pin-dot{border:2px solid var(--kdb-accent);border-radius:50%;width:18px;height:18px}.pin-dot.filled{background:var(--kdb-accent)}.pin-error{text-align:center;color:#a32d2d;margin:-.5rem 0 1rem;font-size:.85rem}.pin-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pin-key{background:var(--kdb-tint);height:52px;color:var(--kdb-accent-dark);border:1px solid #85b7eb;border-radius:10px;font-size:1.2rem}.pin-key:hover:not(:disabled){background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}:root{--kdb-good-bg:#d1e7dd;--kdb-good-text:#0f5132;--kdb-warn-bg:#fff3cd;--kdb-warn-text:#8a6100;--kdb-danger-bg:#f8d7da;--kdb-danger-text:#842029;--kdb-el-bg:#f3e8ff;--kdb-el-text:#6f42c1;--kdb-card-border:#dde3ea;--kdb-dot-off:#e9ecef;--kdb-dot-off-border:#d5dae0}.sd{padding:8px 28px 28px}.sd-h1{margin:0 0 2px;font-family:"Baloo 2",sans-serif;font-size:2rem;font-weight:700}.sd-sub{color:var(--kdb-text-soft);margin-bottom:18px;font-size:.92rem}.sd-stats{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.sd-stat{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-top:3px solid var(--kdb-card-border);border-radius:14px;flex:1;min-width:120px;padding:14px 16px;box-shadow:0 2px 8px #0f172a14}.sd-stat b{font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:500;line-height:1.1;display:block}.sd-stat span{color:var(--kdb-text-soft);font-size:.78rem}.sd-stat.active{border-top-color:#198754}.sd-stat.active b{color:var(--kdb-good-text)}.sd-stat.break{border-top-color:#ffc107}.sd-stat.break b{color:var(--kdb-warn-text)}.sd-stat.inactive{border-top-color:#dc3545}.sd-stat.inactive b{color:var(--kdb-danger-text)}.sd-stat.el{border-top-color:#6f42c1}.sd-stat.el b{color:var(--kdb-el-text)}.sd-controls{grid-template-columns:auto 1fr auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.sd-filters{grid-template-columns:1fr 1.6fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}@media (width<=900px){.sd-filters{grid-template-columns:1fr 1fr}}.sd-field{align-content:start;gap:4px;font-size:14px;display:grid}.sd-field input,.sd-field select{background:#eef0f4;border:1px solid #0000;border-radius:8px;padding:9px 11px;font-size:15px}.sd-daychips{flex-wrap:wrap;gap:6px;display:flex}.sd-chip{border:1px solid var(--kdb-line);background:var(--kdb-surface);border-radius:8px;padding:8px 10px;font-size:14px}.sd-chip.on{background:var(--kdb-tint);border-color:var(--kdb-accent);color:var(--kdb-accent-dark);font-weight:600}.sd-toggle{display:flex}.sd-toggle button{border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);color:var(--kdb-accent);padding:9px 14px}.sd-toggle button:first-child{border-radius:8px 0 0 8px}.sd-toggle button:last-child{border-left:none;border-radius:0 8px 8px 0}.sd-toggle button.on{background:var(--kdb-accent);color:var(--kdb-on-accent);border-color:var(--kdb-accent)}.sd-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=1100px){.sd-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.sd-grid{grid-template-columns:1fr}}.sd-card{color:inherit;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:5px solid #adb5bd;border-radius:14px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px 3px #0f172a14}.sd-card.active{border-left-color:#198754}.sd-card.break{border-left-color:#ffc107}.sd-card.inactive{border-left-color:#dc3545}.sd-card-body{flex-direction:column;min-height:168px;padding:14px 16px 14px 14px;display:flex}.sd-foot{background:var(--kdb-tint);color:var(--kdb-accent);text-align:center;border-top:1px solid var(--kdb-card-border);padding:8px;font-weight:600}.sd-card:hover .sd-foot{color:var(--kdb-accent-dark)}.sd-head{align-items:center;gap:10px;min-width:0;display:flex}.sd-avatar,.sp-avatar{width:34px;height:34px;color:var(--kdb-on-accent);background:#7dcdf4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:.9rem;font-weight:700;display:flex}.sd-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.sd-badges{align-items:center;gap:6px;margin:6px 0 10px;display:flex}.sd-badge{border-radius:10px;padding:2px 9px;font-size:.72rem;font-weight:600}.sd-badge.active{background:var(--kdb-good-bg);color:var(--kdb-good-text)}.sd-badge.break{background:var(--kdb-warn-bg);color:var(--kdb-warn-text)}.sd-badge.inactive{background:var(--kdb-danger-bg);color:var(--kdb-danger-text)}.sd-pill,.sd-el{white-space:nowrap;border-radius:8px;flex-shrink:0;padding:2px 9px;font-size:.72rem;display:inline-block}.sd-pill{background:var(--kdb-tint);color:var(--kdb-accent);font-weight:500}.sd-pill.empty{background:var(--kdb-surface-alt);color:var(--kdb-muted)}.sd-el{background:var(--kdb-el-bg);color:var(--kdb-el-text);font-weight:600}.sd-pill.lg,.sd-el.lg{padding:5px 14px;font-size:.85rem;font-weight:600}.sd-lvl{opacity:.7;margin-left:4px;font-size:.65rem;font-weight:600}.sd-tags{gap:4px;margin-bottom:4px;display:flex;overflow:hidden}.sd-tags.wrap{flex-wrap:wrap;overflow:visible}.sd-dots{margin-top:auto;padding-top:8px}.sd-dotrow{gap:6px;display:flex}.sd-dot{box-sizing:border-box;background:var(--kdb-dot-off);border:1.5px solid var(--kdb-dot-off-border);border-radius:50%;width:10px;height:10px}.sd-dot.on{border-color:#1d1d2e59}.sd-letter{text-align:center;width:10px;color:var(--kdb-muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.sd-letter.on{color:var(--kdb-good-text);font-weight:700}.sd-tablewrap{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:12px;overflow-x:auto}.sd-table{border-collapse:collapse;width:100%;font-size:14px}.sd-table th,.sd-table td{text-align:center;border-bottom:1px solid var(--kdb-line);padding:8px 10px}.sd-table td.left{text-align:left}.sd-table thead th{background:var(--kdb-tint);font-weight:600}.sd-table tbody tr{cursor:pointer}.sd-table tbody tr:hover{background:var(--kdb-tint)}.sd-table tbody tr.static{cursor:default}.sd-table tbody tr.static:hover{background:0 0}.sp-back{background:var(--kdb-surface);color:var(--kdb-text);border:1.5px solid #1d1d2e1a;border-radius:20px;margin-bottom:12px;padding:4px 16px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.sp-back:hover{background:var(--kdb-tint);color:var(--kdb-accent);border-color:#7dcdf4}.sp-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:14px;margin-bottom:18px;padding:18px 20px}.sp-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sp-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.sp-avatar{width:56px;height:56px;font-size:1.3rem}.sp-name{font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:700}.sp-barcode{max-width:300px;margin:6px 0;display:block}.sp-meta{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=900px){.sp-meta{grid-template-columns:1fr}}.sp-metacard{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;padding:14px 16px}.sp-metalabel{color:var(--kdb-text-soft);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;font-size:.78rem;font-weight:600}.sp-days{flex-wrap:wrap;gap:8px;display:flex}.sp-day{background:var(--kdb-tint);color:var(--kdb-muted);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;display:flex}.sp-day.on{color:var(--kdb-text);font-weight:600}.sp-sq{opacity:.25;border:1.5px solid var(--kdb-line);box-sizing:border-box;border-radius:4px;flex-shrink:0;width:14px;height:14px}.sp-day.on .sp-sq{opacity:1;border-color:var(--kdb-muted)}.sp-break{color:var(--kdb-warn-text);background:var(--kdb-warn-bg);border-radius:8px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.85rem;display:inline-block}.sp-none{color:var(--kdb-muted);font-style:italic}.modal-overlay{z-index:60;background:#1d1d2e73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:20px;width:min(560px,100%);max-height:92vh;padding:22px 26px;overflow-y:auto;box-shadow:0 12px 40px #1d1d2e2e}.modal.wide{width:min(760px,100%)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-head h2{font-size:1.4rem}.icon-x{color:var(--kdb-text-soft);background:0 0;border:none;border-radius:8px;padding:4px 10px;font-size:1.1rem}.icon-x:hover{background:var(--kdb-tint)}.sf{gap:14px;display:grid}.sf label{color:var(--kdb-text-soft);gap:4px;font-size:.85rem;font-weight:600;display:grid}.sf input[type=text],.sf input[type=date],.sf select{color:var(--kdb-text);background:var(--kdb-surface-alt);border:2px solid #b8c4d0;border-radius:10px;padding:10px 12px;font-size:15px;font-weight:400}.sf input[type=text]:focus,.sf input[type=date]:focus,.sf select:focus{background:#fff;border-color:#7dcdf4;outline:none;box-shadow:0 0 0 3px #7dcdf440}.sf-row{gap:12px;display:grid}.sf-row.c2{grid-template-columns:2fr 1fr 2fr}.sf-row.c2-e{grid-template-columns:1fr 1fr}.sf-row.c3{grid-template-columns:1fr 1fr 1fr}.sf-row.c12{grid-template-columns:1fr 2fr}@media (width<=640px){.sf-row.c2,.sf-row.c3,.sf-row.c12{grid-template-columns:1fr}}.sf-sec{margin-top:4px;font-weight:700}.sf-checks{flex-wrap:wrap;gap:8px;display:flex}.sf-check{cursor:pointer;background:var(--kdb-tint);border:1.5px solid var(--kdb-line);border-radius:10px;align-items:center;gap:8px;padding:6px 12px;color:var(--kdb-text)!important;flex-direction:row!important;font-weight:500!important;display:flex!important}.sf-check.on{border-color:#7dcdf4}.sf-check.off{opacity:.55;cursor:not-allowed}.sf-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.sf-danger{border-top:1px solid var(--kdb-line);gap:10px;margin-top:6px;padding-top:14px;display:grid}.sf-danger h4{color:var(--kdb-danger-text);margin:0}.btn.danger{color:#fff;background:#dc3545;border-color:#dc3545}.btn.danger:hover:not(:disabled){background:#bb2d3b}.btn.outline-danger{background:var(--kdb-surface);color:#dc3545;border:1.5px solid #f1aeb5;font-weight:500}.btn.outline-danger:hover:not(:disabled){background:var(--kdb-danger-bg)}.db{max-width:1240px;margin:0 auto}.db-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.db-title{margin:0;font-size:2rem;line-height:1.15}.db-sub{color:var(--kdb-text-soft);margin:2px 0 0;font-size:.95rem}.db-new{padding:11px 20px;box-shadow:0 6px 16px #1b5fa340}.db-stats{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}.db-stat{--tone:#3fa9db;text-align:left;cursor:pointer;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid var(--tone);border-radius:16px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:14px 16px;transition:transform .15s,box-shadow .15s,background .15s;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.db-stat.active{--tone:#22a06b}.db-stat.break{--tone:#f5a400}.db-stat.inactive{--tone:#dc3545}.db-stat.el{--tone:#8b5cf6}.db-stat:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1d1d2e1a}.db-stat.on{background:color-mix(in srgb, var(--tone) 10%, var(--kdb-surface));box-shadow:0 0 0 2px var(--tone), 0 6px 16px color-mix(in srgb, var(--tone) 20%, transparent)}.db-stat-icon{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:12px;grid-row:1/span 2;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.15rem;display:flex}.db-stat b{color:var(--kdb-text);font-family:JetBrains Mono,monospace;font-size:1.7rem;font-weight:500;line-height:1.1}.db-stat-label{color:var(--kdb-text-soft);font-size:.78rem;font-weight:600}.db-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.db-search{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:14px;flex:1;align-items:center;gap:10px;min-width:0;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.db-search:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent)}.db-search input{min-width:0;color:var(--kdb-text);background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-size:16px}.db-x{background:var(--kdb-tint);width:26px;height:26px;color:var(--kdb-text-soft);border:none;border-radius:50%;font-size:.75rem}.db-x:hover{background:var(--kdb-blue-line);color:#fff}.db-filter-btn{white-space:nowrap;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-size:.92rem;font-weight:600;display:inline-flex}.db-filter-btn:hover,.db-filter-btn.on{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent-dark)}.db-count-badge{background:var(--kdb-accent);min-width:20px;height:20px;color:var(--kdb-on-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-flex}.db-view{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:12px;gap:3px;padding:4px;display:inline-flex}.db-view button{white-space:nowrap;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:9px;padding:9px 14px;font-size:.88rem;font-weight:600}.db-view button:hover:not(.on){background:#fff9}.db-view button.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.db-filters{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:16px;grid-template-columns:1fr 1fr 1fr 1.6fr;align-items:end;gap:12px;margin-bottom:10px;padding:14px;display:none}.db-filters.open{display:grid}.db-f{color:var(--kdb-text-soft);text-transform:uppercase;letter-spacing:.05em;gap:5px;font-size:.78rem;font-weight:600;display:grid}.db-f select{text-transform:none;letter-spacing:0;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;padding:10px 12px;font-size:15px;font-weight:400}.db-f select:focus{border-color:var(--kdb-accent);background:#fff;outline:none}.db-chips{flex-wrap:wrap;gap:6px;display:flex}.db-chip{text-transform:none;letter-spacing:0;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;padding:9px 12px;font-size:.85rem;font-weight:600}.db-chip:hover:not(.on){background:var(--kdb-tint)}.db-chip.on{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.db-resultbar{color:var(--kdb-text-soft);justify-content:space-between;align-items:center;margin:4px 2px 12px;font-size:.88rem;display:flex}.db-clear{color:var(--kdb-accent);background:0 0;border:none;font-size:.88rem;font-weight:600}.db-clear:hover{text-decoration:underline}.db-status{white-space:nowrap;background:var(--kdb-surface-alt);color:var(--kdb-text-soft);border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700}.db-status.active{background:var(--kdb-good-bg);color:var(--kdb-good-text)}.db-status.break{background:var(--kdb-warn-bg);color:var(--kdb-warn-text)}.db-status.inactive{background:var(--kdb-danger-bg);color:var(--kdb-danger-text)}.db-grade{background:var(--kdb-tint);color:var(--kdb-accent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.db-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.db-card{--st:#adb5bd;color:inherit;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;flex-direction:column;gap:12px;padding:16px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.db-card.active{--st:#22a06b}.db-card.break{--st:#f5a400}.db-card.inactive{--st:#dc3545}.db-card:hover{border-color:color-mix(in srgb, var(--st) 50%, transparent);transform:translateY(-3px);box-shadow:0 12px 26px #1d1d2e1f}.db-card:focus-visible{outline:3px solid var(--kdb-accent);outline-offset:2px}.db-card-top{align-items:center;gap:12px;min-width:0;display:flex}.db-avatar{color:#fff;width:46px;height:46px;box-shadow:0 0 0 3px color-mix(in srgb, var(--st) 35%, transparent);background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:1.05rem;font-weight:700;display:flex}.db-card.inactive .db-avatar{filter:grayscale(.55)}.db-card-id{flex:1;gap:4px;min-width:0;display:grid}.db-name{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;font-weight:700;overflow:hidden}.db-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.db-chev{color:var(--kdb-muted);font-size:1.6rem;line-height:1;transition:transform .15s,color .15s}.db-card:hover .db-chev{color:var(--kdb-accent);transform:translate(3px)}.db-tags{flex-wrap:wrap;gap:4px;min-height:22px;display:flex}.db-days{border-top:1px solid var(--kdb-line);gap:6px;margin-top:auto;padding-top:10px;display:flex}.db-day{background:var(--kdb-dot-off);border:1.5px solid var(--kdb-dot-off-border);width:26px;height:26px;color:var(--kdb-muted);border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:flex}.db-day.on{color:#fff;text-shadow:0 1px 2px #00000059;border-color:#1d1d2e40}.db-tablewrap{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:16px;overflow-x:auto;box-shadow:0 2px 10px #1d1d2e0d}.db-table{border-collapse:collapse;width:100%;font-size:14px}.db-table th,.db-table td{text-align:center;border-bottom:1px solid var(--kdb-line);white-space:nowrap;padding:11px 12px}.db-table .left{text-align:left}.db-table .strong{font-weight:700}.db-table thead th{background:var(--kdb-tint);color:var(--kdb-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.db-table tbody tr{cursor:pointer;transition:background .12s}.db-table tbody tr:hover{background:var(--kdb-tint)}.db-table tbody tr:last-child td{border-bottom:none}.db-yes{color:#22a06b;font-weight:800}.db-no{color:var(--kdb-muted);opacity:.6}.db-empty{text-align:center;color:var(--kdb-text-soft);border:1px dashed var(--kdb-line);background:var(--kdb-surface);border-radius:18px;justify-items:center;gap:4px;padding:44px 16px;display:grid}.db-empty-icon{font-size:2rem}@media (width<=900px){.db-stats{grid-template-columns:repeat(3,1fr)}.db-filters{grid-template-columns:1fr 1fr 1fr}.db-f-days{grid-column:1/-1}}@media (width<=700px){.sd.db{padding:6px 14px 24px}.db-title{font-size:1.5rem}.db-new{width:100%}.db-stats{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -14px 16px;padding:2px 14px 6px;display:flex;overflow-x:auto}.db-stats::-webkit-scrollbar{display:none}.db-stat{scroll-snap-align:start;flex:0 0 150px}.db-toolbar{flex-wrap:wrap}.db-search{flex:100%}.db-filter-btn{flex:1;justify-content:center}.db-view button span{display:none}.db-filters{grid-template-columns:1fr 1fr}.db-grid{grid-template-columns:1fr;gap:10px}}.pf{max-width:1100px;margin:0 auto}.pf-muted{color:var(--kdb-muted);margin:0;font-style:italic}.pf-label{text-transform:uppercase;letter-spacing:.07em;color:var(--kdb-text-soft);margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.pf-back{background:var(--kdb-surface);border:1px solid var(--kdb-line);color:var(--kdb-text-soft);border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:7px 16px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.pf-back:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.pf-hero{--st:#adb5bd;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:22px;margin-bottom:16px;overflow:hidden;box-shadow:0 6px 22px #1d1d2e12}.pf-hero.active{--st:#22a06b}.pf-hero.break{--st:#f5a400}.pf-hero.inactive{--st:#dc3545}.pf-band{background:linear-gradient(120deg, color-mix(in srgb, var(--st) 80%, #1b5fa3), color-mix(in srgb, var(--st) 40%, #7dcdf4));height:72px}.pf-hero-body{align-items:flex-start;gap:18px;padding:0 24px;display:flex}.pf-avatar{color:#fff;border:4px solid var(--kdb-surface);background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;margin-top:-44px;font-family:"Baloo 2",sans-serif;font-size:2rem;font-weight:700;display:flex;box-shadow:0 6px 16px #1d1d2e2e}.pf-id{flex:1;min-width:0;padding-top:14px}.pf-edit{white-space:nowrap;margin-top:14px;padding:10px 18px;box-shadow:0 4px 12px #1b5fa338}.pf-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pf-status{background:var(--kdb-surface-alt);color:var(--kdb-text-soft);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:700}.pf-status.active{background:var(--kdb-good-bg);color:var(--kdb-good-text)}.pf-status.break{background:var(--kdb-warn-bg);color:var(--kdb-warn-text)}.pf-status.inactive{background:var(--kdb-danger-bg);color:var(--kdb-danger-text)}.pf-grade{background:var(--kdb-tint);color:var(--kdb-accent);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:600}.pf-hero-extra{grid-template-columns:1fr minmax(180px,240px);align-items:stretch;gap:12px;padding:18px 24px 22px;display:grid}.pf-notes,.pf-barcode{background:var(--kdb-surface-alt);border:1px solid var(--kdb-line);border-radius:14px;padding:12px 16px}.pf-notes p{overflow-wrap:anywhere;margin:0;line-height:1.5}.pf-barcode{align-content:start;justify-items:center;display:grid}.pf-barcode .pf-label{justify-self:start}.pf-barcode img,.pf-barcode svg{border-radius:6px;width:100%;max-width:200px;height:auto;display:block}.pf-info{grid-template-columns:1fr 1.4fr 1fr;gap:12px;margin-bottom:16px;display:grid}.pf-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;align-content:start;padding:16px 18px;box-shadow:0 2px 10px #1d1d2e0d}.pf-subjects{flex-wrap:wrap;gap:6px;display:flex}.pf-days{flex-wrap:wrap;gap:8px;display:flex}.pf-day{justify-items:center;gap:4px;min-width:42px;display:grid}.pf-day-dot{background:var(--kdb-dot-off);border:1.5px solid var(--kdb-dot-off-border);width:36px;height:36px;color:var(--kdb-muted);border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:700;display:flex}.pf-day.on .pf-day-dot{color:#fff;text-shadow:0 1px 2px #00000059;border-color:#1d1d2e40}.pf-day-name{color:var(--kdb-muted);font-size:.72rem;font-weight:600}.pf-day.on .pf-day-name{color:var(--kdb-text)}.pf-break{color:var(--kdb-warn-text);background:var(--kdb-warn-bg);border-radius:10px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.88rem;display:inline-block}.pf-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px;display:grid}.pf-stat{--tone:#3fa9db;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid var(--tone);border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:16px 18px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.pf-stat.blue{--tone:#3fa9db}.pf-stat.green{--tone:#22a06b}.pf-stat.red{--tone:#dc3545}.pf-stat.amber{--tone:#f5a400}.pf-stat.slate{--tone:#8a8aa0}.pf-stat-icon{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:13px;grid-row:1/span 2;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.pf-stat b{font-family:JetBrains Mono,monospace;font-size:1.7rem;font-weight:500;line-height:1.1}.pf-stat-label{color:var(--kdb-text-soft);font-size:.8rem;font-weight:600}.pf-section{align-items:center;gap:10px;margin:0 0 12px;font-size:1.25rem;display:flex}.pf-section:not(:first-of-type){margin-top:28px}.pf-count{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:2px 10px;font-family:"Source Sans 3",sans-serif;font-size:.8rem;font-weight:700}.pf-empty{text-align:center;color:var(--kdb-text-soft);background:var(--kdb-surface);border:1px dashed var(--kdb-line);border-radius:16px;padding:28px 16px}.pf-tablewrap{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;max-height:460px;overflow:auto;box-shadow:0 2px 10px #1d1d2e0d}.pf-table{border-collapse:collapse;width:100%;font-size:14px}.pf-table th,.pf-table td{text-align:center;border-bottom:1px solid var(--kdb-line);white-space:nowrap;padding:11px 14px}.pf-table .left{text-align:left}.pf-table .strong{font-weight:600}.pf-table thead th{z-index:1;background:var(--kdb-tint);color:var(--kdb-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700;position:sticky;top:0}.pf-table tbody tr:hover{background:var(--kdb-tint)}.pf-table tbody tr:last-child td{border-bottom:none}.pf-att{border-radius:999px;padding:3px 11px;font-size:.78rem;font-weight:700}.pf-att.noshow{background:var(--kdb-surface-alt);color:var(--kdb-text-soft)}.pf-att.in{color:#8a6100;background:#fff3cd}.pf-att.out{color:#0f5132;background:#d1e7dd}.pf-att.absent{color:#842029;background:#f8d7da}.pf-att.pickup{background:var(--kdb-tint);color:var(--kdb-accent-dark)}.pf-problems{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.pf-problem{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid #dc3545;border-radius:18px;gap:6px;padding:16px 18px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.pf-problem.resolved{border-left-color:#22a06b}.pf-problem-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.pf-problem-subject{font-size:1rem}.pf-problem-subject span{color:var(--kdb-text-soft)}.pf-pstatus{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.pf-pstatus.open{background:var(--kdb-danger-bg);color:var(--kdb-danger-text)}.pf-pstatus.resolved{background:var(--kdb-good-bg);color:var(--kdb-good-text)}.pf-problem-date{color:var(--kdb-muted);font-size:.8rem}.pf-problem-issue,.pf-problem-res{overflow-wrap:anywhere;margin:0;line-height:1.45}.pf-problem-res{background:var(--kdb-surface-alt);border-radius:10px;padding:8px 10px;font-size:.92rem}@media (width<=900px){.pf-info{grid-template-columns:1fr 1fr}.pf-info .pf-card:nth-child(2){order:3;grid-column:1/-1}}@media (width<=700px){.sd.pf{padding:6px 14px 24px}.pf-avatar{width:64px;height:64px;margin-top:0;font-size:1.5rem}.pf-id{flex-basis:calc(100% - 84px);padding-top:0}.pf-hero-body{padding:18px 16px 0}.pf-name{font-size:1.5rem}.pf-edit{width:100%;margin:4px 0 0}.pf-hero-extra{grid-template-columns:1fr;padding:16px}.pf-barcode{max-width:none}.pf-info{grid-template-columns:1fr}.pf-info .pf-card:nth-child(2){order:0}.pf-stats{gap:8px}.pf-stat{grid-template-columns:1fr;justify-items:start;row-gap:2px;padding:12px}.pf-stat-icon{display:none}.pf-stat b{font-size:1.35rem}.pf-stat-label{font-size:.72rem}.pf-problems{grid-template-columns:1fr}}.pf-band{display:none}.pf-hero{border-top:4px solid var(--st)}.pf-hero-body{align-items:center;gap:18px;padding:22px 24px 0}.pf-avatar{width:76px;height:76px;box-shadow:0 0 0 4px color-mix(in srgb, var(--st) 30%, transparent);border:none;margin-top:0;font-size:1.7rem}.pf-id{padding-top:0}.pf-name{margin:0 0 6px}.pf-edit{margin-top:0}.pf-hero-extra{padding:18px 24px 22px}.pf-barcode img,.pf-barcode svg{max-width:170px}.modal.wide{border-radius:24px;width:min(720px,100%);padding:0 26px 22px;animation:.2s ease-out sf2-pop;box-shadow:0 24px 60px #1d1d2e47}.modal.wide .modal-head{z-index:3;background:var(--kdb-surface);border-bottom:1px solid var(--kdb-line);margin:0 -26px 16px;padding:18px 26px 14px;position:sticky;top:0}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes sf2-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes sf2-sheet{0%{transform:translateY(100%)}to{transform:none}}.sf2{gap:14px;display:grid}.sf2-preview{--st:#8a8aa0;background:color-mix(in srgb, var(--st) 9%, var(--kdb-surface));border:1px solid color-mix(in srgb, var(--st) 30%, transparent);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.sf2-preview.active{--st:#22a06b}.sf2-preview.break{--st:#f5a400}.sf2-preview.inactive{--st:#dc3545}.sf2-preview.new{--st:#3fa9db}.sf2-avatar{color:#fff;width:52px;height:52px;box-shadow:0 0 0 3px color-mix(in srgb, var(--st) 35%, transparent);background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:1.15rem;font-weight:700;display:flex}.sf2-preview-text{gap:2px;min-width:0;display:grid}.sf2-preview-text b{overflow-wrap:anywhere;font-family:"Baloo 2",sans-serif;font-size:1.2rem;line-height:1.2}.sf2-preview-text span{color:var(--kdb-text-soft);font-size:.85rem;font-weight:600}.sf2-sec{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;gap:12px;padding:16px 18px;display:grid}.sf2-sec-head{align-items:center;gap:12px;display:flex}.sf2-sec-icon{background:var(--kdb-tint);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex}.sf2-sec-head h3{margin:0;font-size:1.05rem}.sf2-sec-head p{color:var(--kdb-text-soft);margin:1px 0 0;font-size:.8rem}.sf2-grid{gap:12px;display:grid}.sf2-grid.g2{grid-template-columns:1fr 1fr}.sf2-grid.g3{grid-template-columns:repeat(3,1fr)}.sf2-field{gap:5px;min-width:0;display:grid}.sf2-fl{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.sf2-fl i{color:#dc3545;font-style:normal}.sf2 input[type=text],.sf2 input[type=date],.sf2 select{width:100%;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;padding:11px 12px;font-size:16px;font-weight:400;transition:border-color .15s,box-shadow .15s,background .15s}.sf2 input:focus,.sf2 select:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.sf2-sub{gap:8px;display:grid}.sf2-tiles{flex-wrap:wrap;gap:8px;display:flex}.sf2-tile{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--kdb-surface);border:1.5px solid var(--kdb-line);color:var(--kdb-text-soft);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:relative}.sf2-tile input{opacity:0;pointer-events:none;position:absolute}.sf2-tile-icon{font-size:1.2rem;line-height:1}.sf2-tick{border:1.5px solid var(--kdb-dot-off-border);background:var(--kdb-surface);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;font-size:.7rem;font-weight:800;transition:all .15s;display:inline-flex}.sf2-tile:hover:not(.on):not(.off){background:var(--kdb-tint);border-color:var(--kdb-blue-line)}.sf2-tile.on{background:var(--kdb-tint);border-color:var(--kdb-accent);color:var(--kdb-accent-dark);box-shadow:0 0 0 1px var(--kdb-accent) inset}.sf2-tile.on .sf2-tick{background:var(--kdb-accent);border-color:var(--kdb-accent)}.sf2-tile.on .sf2-tick:before{content:"✓"}.sf2-tile.sm{border-radius:999px;padding:8px 12px;font-size:.88rem}.sf2-tile.sm .sf2-tick{display:none}.sf2-tile.off{opacity:.5;cursor:not-allowed}.sf2-tile:has(input:focus-visible){outline:2px solid var(--kdb-accent);outline-offset:2px}.sf2-dot{border:1.5px solid #1d1d2e40;border-radius:50%;flex-shrink:0;width:12px;height:12px}.sf2-tile.toned.on{background:color-mix(in srgb, var(--tone) 14%, var(--kdb-surface));border-color:var(--tone);color:var(--kdb-text);box-shadow:0 0 0 1px var(--tone) inset}.sf2-tile.toned.on .sf2-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--tone) 30%, transparent)}.sf2-tile.toned:hover:not(.on):not(.off){border-color:var(--tone)}.sf2-seg{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:12px;gap:3px;padding:4px;display:inline-flex}.sf2-seg button{color:var(--kdb-text-soft);background:0 0;border:none;border-radius:9px;padding:9px 16px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.sf2-seg button:hover:not(.on){background:#fff9}.sf2-seg button.on{background:var(--kdb-surface);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.sf2-seg button.active.on{color:var(--kdb-good-text)}.sf2-seg button.break.on{color:var(--kdb-warn-text)}.sf2-seg button.inactive.on{color:var(--kdb-danger-text)}.sf2-switchrow{justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.sf2-switch{background:#cbd5e1;border:none;border-radius:999px;width:46px;height:28px;padding:0;transition:background .15s;position:relative}.sf2-switch i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.sf2-switch.on{background:var(--kdb-accent)}.sf2-switch.on i{transform:translate(18px)}.sf2-note{background:var(--kdb-warn-bg);color:var(--kdb-warn-text);border-radius:10px;margin:0;padding:10px 12px;font-size:.88rem}.sf2-error{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border:1px solid #f5c2c7;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}.sf2-danger{background:#fff8f8;border:1px solid #f1c2c7;border-radius:18px;gap:8px;padding:16px 18px;display:grid}.sf2-danger h3{color:var(--kdb-danger-text);margin:0;font-size:1rem}.sf2-danger p:not(.sf2-note){color:var(--kdb-text-soft);margin:0;font-size:.88rem}.sf2-danger .btn{justify-self:start}.sf2-danger .sf2-grid .btn{justify-self:stretch}.sf2-actions{z-index:3;background:color-mix(in srgb, var(--kdb-surface) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--kdb-line);grid-template-columns:1fr 1.6fr;gap:10px;margin:4px -26px -22px;padding:14px 26px;display:grid;position:sticky;bottom:-22px}.sf2-actions .btn{padding:13px 16px}@media (width<=700px){.modal-overlay:has(>.modal.wide){place-items:end center;padding:0}.modal.wide{border-radius:22px 22px 0 0;width:100%;max-height:94vh;padding:0 16px 16px;animation:.25s ease-out sf2-sheet}.modal.wide .modal-head{margin:0 -16px 14px;padding:16px 16px 12px}.sf2-grid.g3{grid-template-columns:1fr}.sf2-sec{padding:14px}.sf2-seg{display:flex}.sf2-seg button{flex:1;padding:10px 4px}.sf2-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin:4px -16px -16px;bottom:-16px}}.kp{max-width:1280px;margin:0 auto;padding:12px 28px 32px}.kp-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.kp-back{background:var(--kdb-surface);border:1px solid var(--kdb-line);color:var(--kdb-text-soft);border-radius:999px;align-items:center;gap:6px;padding:10px 20px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.kp-back:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.kp-walkin{cursor:pointer;border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);color:var(--kdb-accent);border-radius:12px;padding:11px 20px;font-size:.92rem;font-weight:700}.kp-walkin:hover{background:var(--kdb-tint);border-color:var(--kdb-accent)}.kp-hero{text-align:center;margin:10px 0 22px}.kp-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--kdb-muted);margin:0;font-size:.78rem;font-weight:700}.kp-title{margin:6px 0;font-size:2.4rem;line-height:1.1}.kp-prompt{color:var(--kdb-text-soft);margin:0;font-size:1.08rem}.kp-search{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:18px;align-items:center;gap:10px;max-width:480px;margin:0 auto 24px;padding:0 18px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 12px #1d1d2e0f}.kp-search:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--kdb-accent) 18%, transparent)}.kp-search input{min-width:0;color:var(--kdb-text);background:0 0;border:none;outline:none;flex:1;padding:16px 0;font-size:18px}.kp-x{background:var(--kdb-tint);width:30px;height:30px;color:var(--kdb-text-soft);cursor:pointer;border:none;border-radius:50%;font-size:.8rem}.kp-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.kp-tile{--c1:#5bbdea;--c2:#3fa9db;cursor:pointer;color:#fff;text-align:center;background:linear-gradient(160deg, var(--c1), var(--c2));width:100%;height:128px;box-shadow:0 6px 16px color-mix(in srgb, var(--c2) 35%, transparent), inset 0 1px 0 #ffffff47;border:none;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 14px;transition:transform .15s,box-shadow .15s,filter .15s;display:flex}.kp-tile.in{--c1:#3dd982;--c2:#27ae60}.kp-tile.out{--c1:#5c687c;--c2:#3e4757}.kp-tile:hover{filter:brightness(.96);box-shadow:0 14px 26px color-mix(in srgb, var(--c2) 40%, transparent);transform:translateY(-3px)}.kp-tile:active{transform:scale(.98)}.kp-tile:focus-visible{outline-offset:3px;outline:4px solid #ffc107}.kp-tile-name{text-shadow:0 1px 3px #0000004d;overflow-wrap:anywhere;font-family:"Baloo 2",sans-serif;font-size:1.7rem;font-weight:700;line-height:1.15}.kp-tile.full .kp-tile-name{font-size:1.4rem}.kp-tile-sub{white-space:pre-line;font-family:Inter,sans-serif;font-size:1.05rem;line-height:1.3}.kp-tile-hint{background:#ffffff38;border-radius:999px;margin-top:2px;padding:2px 12px;font-size:.8rem;font-weight:600}.kp-empty,.kp-holiday{text-align:center;color:var(--kdb-text-soft);border-radius:22px;justify-items:center;gap:6px;padding:48px 16px;display:grid}.kp-empty{border:1px dashed var(--kdb-line);background:var(--kdb-surface)}.kp-empty>div{font-size:2rem}.kp-holiday{border:1px solid var(--kdb-blue-line);background:linear-gradient(135deg, var(--kdb-sidebar-bg), var(--kdb-tint));margin-top:30px}.kp-holiday>div{font-size:3rem}.kp-holiday b{color:var(--kdb-text);font-size:1.6rem}.kp-holiday span{color:#4a6f9c;font-size:1.05rem}.kp-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d1d2e80;place-items:center;padding:16px;animation:.15s ease-out kp-fade;display:grid;position:fixed;inset:0}.kp-confirm{--tone:#3fa9db;text-align:center;background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:28px;justify-items:center;gap:14px;width:min(440px,100%);max-height:94vh;padding:30px 26px 24px;animation:.2s ease-out kp-pop;display:grid;overflow-y:auto;box-shadow:0 28px 70px #1d1d2e52}.kp-confirm.in{--tone:#f5a400}.kp-confirm.out{--tone:#22a06b}.kp-confirm.pickup{--tone:#6c7ae0}.kp-confirm.absent{--tone:#dc3545}.kp-handle{display:none}.kp-avatar{color:#fff;width:92px;height:92px;box-shadow:0 0 0 6px color-mix(in srgb, var(--tone) 30%, transparent);background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:2.1rem;font-weight:700;display:flex}.kp-confirm-name{overflow-wrap:anywhere;margin:0;font-size:2rem;line-height:1.15}.kp-confirm-times{background:var(--kdb-surface-alt);color:var(--kdb-text-soft);border-radius:999px;margin:-4px 0 0;padding:6px 18px;font-size:1rem;font-weight:600}.kp-done{background:color-mix(in srgb, var(--tone) 10%, #fff);width:100%;color:color-mix(in srgb, var(--tone) 55%, #000);border:1px solid color-mix(in srgb, var(--tone) 28%, transparent);border-radius:18px;margin:0;padding:16px;font-size:1.05rem;font-weight:600;line-height:1.4}.kp-go{--c1:#3dd982;--c2:#27ae60;cursor:pointer;color:#fff;background:linear-gradient(160deg, var(--c1), var(--c2));width:100%;min-height:96px;box-shadow:0 10px 24px color-mix(in srgb, var(--c2) 40%, transparent), inset 0 1px 0 #ffffff47;border:none;border-radius:22px;align-content:center;justify-items:center;gap:0;padding:12px;transition:transform .12s,filter .15s;display:grid}.kp-go.out{--c1:#5c687c;--c2:#3e4757}.kp-go:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.kp-go:active:not(:disabled){transform:scale(.99)}.kp-go:disabled{opacity:.65;cursor:default}.kp-go:focus-visible{outline-offset:3px;outline:4px solid #ffc107}.kp-go-icon{font-size:1.6rem;line-height:1.1}.kp-go b{font-size:1.5rem;line-height:1.2}.kp-go small{opacity:.9;font-size:.95rem;font-weight:600}.kp-cancel{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);width:100%;color:var(--kdb-text-soft);border-radius:16px;padding:15px;font-size:1rem;font-weight:600}.kp-cancel:hover{background:var(--kdb-tint);color:var(--kdb-text)}.kp-form{gap:14px;display:grid}.kp-form-text{color:var(--kdb-text-soft);margin:0;font-size:.92rem;line-height:1.45}.kp-field{gap:6px;display:grid}.kp-field>span{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.kp-field select{width:100%;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:12px;padding:13px 12px;font-size:16px}.kp-field select:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.kp-err{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border:1px solid #f5c2c7;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}.kp-actions{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.kp-actions .btn{padding:14px 16px}.kp-toast{z-index:100;text-align:center;background:var(--kdb-text);color:#fff;border-radius:18px;max-width:calc(100vw - 32px);padding:16px 28px;font-size:1.15rem;font-weight:600;animation:.25s ease-out kp-toast;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #1d1d2e59}@keyframes kp-fade{0%{opacity:0}to{opacity:1}}@keyframes kp-pop{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes kp-sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes kp-toast{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@media (width<=700px){.kp{padding:10px 14px 28px}.kp-title{font-size:1.7rem}.kp-grid{grid-template-columns:1fr;gap:10px}.kp-tile{height:112px}.kp-tile-name{font-size:1.55rem}.kp-overlay{place-items:end center;padding:0}.kp-confirm{width:100%;padding:10px 20px calc(22px + env(safe-area-inset-bottom));border-bottom:none;border-radius:26px 26px 0 0;gap:12px;animation:.25s ease-out kp-sheet}.kp-handle{background:#1d1d2e2e;border-radius:999px;width:42px;height:5px;display:block}.kp-avatar{width:76px;height:76px;font-size:1.8rem}.kp-confirm-name{font-size:1.7rem}}@media (prefers-reduced-motion:reduce){.kp-overlay,.kp-confirm,.kp-toast{animation:none}}.ag{max-width:1200px;margin:0 auto;padding:8px 28px 28px}.ag-title{margin:6px 0 14px;font-size:1.8rem}.ag-sec{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.ag-hint{color:var(--kdb-muted);font-size:.85rem}.ag-tabs{scrollbar-width:none;border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:14px;gap:4px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.ag-tabs::-webkit-scrollbar{display:none}.ag-tab{cursor:pointer;white-space:nowrap;min-height:42px;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:10px;flex:1 0 auto;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.93rem;font-weight:600;transition:background .15s,color .15s;display:flex}.ag-tab:hover:not(.on){color:var(--kdb-text);background:#fff9}.ag-tab.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.ag-tab-icon{font-size:1.1rem;line-height:1}.ag-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;gap:12px;padding:16px 18px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.ag-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ag-card-head h3,.ag-heading h3{margin:0;font-size:1.1rem}.ag-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ag-field{gap:6px;min-width:0;display:grid}.ag-field>span{text-transform:uppercase;letter-spacing:.05em;color:var(--kdb-text-soft);font-size:.78rem;font-weight:700}.ag-date{color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;max-width:220px;padding:10px 12px;font-family:inherit;font-size:16px}.ag-date:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.ag-range{width:100%;max-width:420px;accent-color:var(--kdb-accent)}.ag-dates{grid-template-columns:auto 1fr;align-items:start;gap:12px 28px;display:grid}.ag-err,.ag-warn{border-radius:10px;margin:0;padding:10px 14px;font-size:.9rem}.ag-err{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border:1px solid #f5c2c7}.ag-warn{background:var(--kdb-warn-bg);color:var(--kdb-warn-text)}.ag-empty{text-align:center;color:var(--kdb-text-soft);background:var(--kdb-surface);border:1px dashed var(--kdb-line);border-radius:18px;justify-items:center;gap:4px;padding:36px 16px;display:grid}.ag-empty>div{font-size:1.8rem}.ag-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.ag-datenav{align-items:center;gap:6px;display:flex}.ag-datenav .ag-date{background:var(--kdb-surface);border:1px solid var(--kdb-line);box-shadow:0 2px 8px #1d1d2e0d}.ag-step{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);width:40px;height:40px;color:var(--kdb-text-soft);border-radius:12px;font-size:1.3rem;line-height:1}.ag-step:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.ag-stats{flex-wrap:wrap;gap:10px;display:flex}.ag-stat{--tone:#3fa9db;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid var(--tone);border-radius:14px;align-items:baseline;gap:8px;padding:9px 16px;display:flex;box-shadow:0 1px 6px #1d1d2e0d}.ag-stat.green{--tone:#22a06b}.ag-stat.red{--tone:#dc3545}.ag-stat.purple{--tone:#8b5cf6}.ag-stat b{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500;line-height:1}.ag-stat span{color:var(--kdb-text-soft);font-size:.8rem;font-weight:600}.ag-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.ag-search{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:12px;flex:240px;align-items:center;gap:10px;padding:0 14px;display:flex;box-shadow:0 2px 8px #1d1d2e0d}.ag-search:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent)}.ag-search input{min-width:0;color:var(--kdb-text);background:0 0;border:none;outline:none;flex:1;padding:11px 0;font-size:16px}.ag-x{background:var(--kdb-tint);width:26px;height:26px;color:var(--kdb-text-soft);border:none;border-radius:50%;font-size:.75rem}.ag-chips{flex-wrap:wrap;gap:6px;display:flex}.ag-chip{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.ag-chip span{color:var(--kdb-accent-dark);background:#185fa51a;border-radius:999px;padding:0 7px;font-size:.75rem}.ag-chip:hover:not(.on){background:var(--kdb-tint)}.ag-chip.on{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.ag-chip.on span{color:#fff;background:#ffffff40}.ag-chip.dim{opacity:.55}.ag-tablewrap{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:16px;max-height:66vh;overflow:auto;box-shadow:0 2px 10px #1d1d2e0d}.ag-table{border-collapse:collapse;width:100%;font-size:14px}.ag-table th,.ag-table td{text-align:center;border-bottom:1px solid var(--kdb-line);white-space:nowrap;padding:11px 14px}.ag-table .left{text-align:left}.ag-table .strong{font-weight:700}.ag-table .mono{font-family:JetBrains Mono,monospace}.ag-table thead th{z-index:1;background:var(--kdb-tint);padding:0;position:sticky;top:0}.ag-sort{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;width:100%;color:var(--kdb-text-soft);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:11px 14px;font-size:.74rem;font-weight:700;display:inline-flex}.ag-table th.left .ag-sort{justify-content:flex-start}.ag-sort i{opacity:.35;font-size:.7rem;font-style:normal}.ag-sort:hover{color:var(--kdb-text);background:#185fa514}.ag-sort:hover i{opacity:.7}.ag-sort.on{color:var(--kdb-accent-dark)}.ag-sort.on i{opacity:1;color:var(--kdb-accent)}.ag-sort:focus-visible{outline:2px solid var(--kdb-accent);outline-offset:-2px}.ag-table tbody tr:hover{background:var(--kdb-tint)}.ag-table tbody tr:last-child td{border-bottom:none}.ag-pill{white-space:nowrap;border-radius:999px;padding:3px 12px;font-size:.78rem;font-weight:700;display:inline-block}.ag-pill.in{color:#8a6100;background:#fff3cd}.ag-pill.out{color:#0f5132;background:#d1e7dd}.ag-pill.pickup{background:var(--kdb-tint);color:var(--kdb-accent-dark)}.ag-pill.absent{color:#842029;background:#f8d7da}.ag-pill.noshow{color:#fff;background:#dc3545}.ag-dl{justify-self:start;padding:12px 22px}.ag-flags{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:stretch;gap:12px;display:grid}.ag-flag{--tone:#dc3545;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:5px solid var(--tone);border-radius:18px;align-content:start;gap:10px;padding:14px 16px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.ag-flag.amber{--tone:#f5a400}.ag-flag-top{align-items:center;gap:12px;display:flex}.ag-ini{background:color-mix(in srgb, var(--tone) 16%, transparent);width:40px;height:40px;color:color-mix(in srgb, var(--tone) 70%, #000);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:"Baloo 2",sans-serif;font-size:.95rem;font-weight:700;display:flex}.ag-flag-who{flex:1;gap:2px;min-width:0;display:grid}.ag-flag-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:1.02rem}.ag-badge{white-space:nowrap;background:var(--tone);color:#fff;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:.78rem;font-weight:700}.ag-flag.amber .ag-badge{color:#3a2c00}.ag-subjects{flex-wrap:wrap;gap:5px;display:flex}.ag-subjects i{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:1px 9px;font-size:.74rem;font-style:normal;font-weight:700}.ag-flag-row{grid-template-columns:110px 1fr;align-items:baseline;gap:8px;font-size:.88rem;display:grid}.ag-flag-label{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.72rem;font-weight:700}.ag-dates-list{flex-wrap:wrap;gap:5px;display:flex}.ag-date-chip{background:var(--kdb-surface-alt);border-radius:999px;padding:2px 10px;font-size:.78rem;font-style:normal;font-weight:600}.ag-facts{flex-wrap:wrap;gap:10px;display:flex}.ag-facts>div{background:var(--kdb-surface-alt);border-radius:12px;min-width:120px;padding:8px 14px;display:grid}.ag-facts span{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.7rem;font-weight:700}.ag-facts b{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:500}.ag-facts small{color:var(--kdb-muted);font-size:.74rem}.ag-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.ag-kpi{--tone:#3fa9db;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid var(--tone);border-radius:16px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:0 12px;padding:14px 16px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.ag-kpi.green{--tone:#22a06b}.ag-kpi.purple{--tone:#8b5cf6}.ag-kpi.red{--tone:#dc3545}.ag-kpi-icon{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:12px;grid-row:1/span 3;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.15rem;display:flex}.ag-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.ag-kpi b{font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:500;line-height:1.15}.ag-delta{font-size:.78rem;font-weight:700}.ag-delta.good{color:#2f855a}.ag-delta.bad{color:#c53030}.ag-delta.zero{color:#8a8a8a}.ag-daycards{grid-template-columns:repeat(var(--n,5), minmax(150px, 1fr));gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.ag-daycard{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:16px;align-content:start;gap:4px;padding:14px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.ag-daycard-head{justify-content:space-between;align-items:baseline;display:flex}.ag-daycard-head b{font-family:"Baloo 2",sans-serif;font-size:1.05rem}.ag-daycard-head span{color:var(--kdb-muted);font-size:.78rem}.ag-minibar{background:#185fa51f;border-radius:999px;height:6px;margin:4px 0 6px;overflow:hidden}.ag-minibar i{background:#22a06b;border-radius:999px;height:100%;display:block}.ag-statrow{color:var(--kdb-text-soft);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:.88rem;display:flex}.ag-statval{color:var(--kdb-text);align-items:center;gap:6px;font-weight:700;display:flex}.ag-trends{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.ag-trend{text-align:center;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;justify-items:center;gap:4px;padding:16px 14px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.ag-trend-label{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.ag-trend-value{font-family:"Baloo 2",sans-serif;font-size:2rem;font-weight:700;line-height:1.1}.ag-trend-delta{border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:700}.ag-trend-delta.good{color:#1e6b34;background:#e8f6ec}.ag-trend-delta.bad{background:var(--kdb-danger-bg);color:var(--kdb-danger-text)}.ag-trend-delta.zero{background:var(--kdb-surface-alt);color:#6b7280}.ag-trend-avg{color:var(--kdb-muted);font-size:.8rem}.ag-trend-bracket{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;margin-top:4px;padding:3px 11px;font-size:.74rem;font-weight:600}.chart-wrap{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:16px;padding:12px 14px;box-shadow:0 2px 10px #1d1d2e0d}.chart-legend{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:6px;font-size:13px;display:flex}.chart-legend i{vertical-align:middle;border-radius:2px;width:12px;height:3px;margin-right:6px;display:inline-block}.lc{min-width:0;max-width:100%;position:relative;overflow:hidden}.lc svg{touch-action:pan-y;cursor:crosshair;display:block}.lc-grid{stroke:var(--kdb-line);stroke-width:1px}.lc-axis{fill:var(--kdb-muted);font-family:Inter,sans-serif;font-size:11px}.lc-guide{stroke:var(--kdb-muted);stroke-width:1px;stroke-dasharray:4 4}.lc-tip{z-index:2;pointer-events:none;color:#fff;background:#0f172af0;border-radius:12px;gap:5px;min-width:190px;padding:10px 12px;font-size:.82rem;display:grid;position:absolute;top:12px;box-shadow:0 8px 20px #0f172a4d}.lc-tip b{letter-spacing:.03em;color:#ffffffbf;font-size:.78rem}.lc-tip>div{justify-content:space-between;align-items:center;gap:14px;display:flex}.lc-tip span{align-items:center;gap:7px;display:inline-flex}.lc-tip i{border-radius:50%;width:9px;height:9px;display:inline-block}.lc-tip strong{font-family:JetBrains Mono,monospace;font-weight:600}@media (width<=700px){.ag{padding:6px 14px 24px}.ag-title{font-size:1.5rem}.ag-dates{grid-template-columns:1fr}.ag-stats{width:100%}.ag-stat{flex-direction:column;flex:1;align-items:flex-start;gap:0;padding:9px 12px}.ag-datenav{width:100%}.ag-datenav .ag-date{flex:1;max-width:none}.ag-flags{grid-template-columns:1fr}.ag-flag-row{grid-template-columns:1fr;gap:3px}.ag-flag-top{flex-wrap:wrap}.ag-daycards{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}.ag-tablewrap{max-height:60vh}}.bc{max-width:1100px;margin:0 auto;padding:8px 28px 28px}.bc-title{margin:6px 0 14px;font-size:1.8rem}.bc-muted{color:var(--kdb-muted);font-size:.88rem}.bc-pdf{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.bc-pdf a{text-decoration:none;display:inline-block}.bc-picker{gap:8px;max-width:520px;display:grid}.bc-list{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:10px;gap:4px;max-height:240px;padding:8px 12px;display:grid;overflow-y:auto}.bc-list label{align-items:center;gap:8px;font-size:14px;display:flex}.bc-picker-foot{justify-content:space-between;align-items:center;font-size:14px;display:flex}.bc-hero{grid-template-columns:minmax(220px,300px) 1fr;gap:12px;margin-bottom:12px;display:grid}.bc-cover,.bc-next{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;padding:16px 18px;box-shadow:0 2px 10px #1d1d2e0d}.bc-cover{align-content:center;gap:8px;display:grid}.bc-cover-top{justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.bc-cover-top span{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem}.bc-cover-top b{font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:500}.bc-bar{background:#185fa51f;border-radius:999px;height:10px;overflow:hidden}.bc-bar i{background:#22a06b;border-radius:999px;height:100%;transition:width .4s;display:block}.bc-cover small{color:var(--kdb-text-soft)}.bc-next{--tone:#3fa9db;border-left:5px solid var(--tone);align-items:center;gap:14px;display:flex}.bc-next.amber{--tone:#f5a400}.bc-next.purple{--tone:#8b5cf6}.bc-next.green{--tone:#22a06b}.bc-next-icon{background:color-mix(in srgb, var(--tone) 16%, transparent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.3rem;display:flex}.bc-next-text{flex:1;gap:1px;min-width:0;display:grid}.bc-next-label{text-transform:uppercase;letter-spacing:.07em;color:var(--kdb-text-soft);font-size:.72rem;font-weight:700}.bc-next-text b{font-size:1.05rem}.bc-next-text>span:last-child{color:var(--kdb-text-soft);font-size:.88rem}.bc-next-btn{cursor:pointer;white-space:nowrap;background:var(--kdb-accent);color:var(--kdb-on-accent);border:none;border-radius:12px;flex-shrink:0;padding:11px 18px;font-size:.92rem;font-weight:700;box-shadow:0 4px 12px #1b5fa338}.bc-next-btn:hover{background:var(--kdb-accent-hover)}.bc-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.bc-stat{--tone:#3fa9db;text-align:left;cursor:pointer;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid var(--tone);border-radius:14px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 14px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 1px 6px #1d1d2e0d}.bc-stat.amber{--tone:#f5a400}.bc-stat.slate{--tone:#8a8aa0}.bc-stat.red{--tone:#dc3545}.bc-stat:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1d1d2e1a}.bc-stat-icon{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.bc-stat b{font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:500}.bc-stat-label{color:var(--kdb-text-soft);font-size:.8rem;font-weight:600;line-height:1.2}.bc-tabs{scrollbar-width:none;border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:14px;gap:4px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.bc-tabs::-webkit-scrollbar{display:none}.bc-tab{cursor:pointer;white-space:nowrap;min-height:42px;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:10px;flex:1 0 auto;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.93rem;font-weight:600;transition:background .15s,color .15s;display:flex}.bc-tab:hover:not(.on){color:var(--kdb-text);background:#fff9}.bc-tab.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.bc-tab-icon{font-size:1.1rem;line-height:1}.bc-badge{color:#fff;background:#f5a400;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.74rem;font-style:normal;font-weight:700;display:inline-flex}.bc-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:20px;padding:20px 22px;box-shadow:0 2px 12px #1d1d2e0f}.bc-sec{gap:14px;display:grid}.bc-sec-head h3{margin:0;font-size:1.2rem}.bc-sec-head p{color:var(--kdb-text-soft);max-width:680px;margin:3px 0 0;font-size:.9rem}.bc-hr{border:none;border-top:1px solid var(--kdb-line);width:100%;margin:10px 0}.bc-field{gap:6px;max-width:520px;display:grid}.bc-field>span{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.bc-field input,.bc-field select,.bc-field textarea{width:100%;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.bc-field input:focus,.bc-field select:focus,.bc-field textarea:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.bc textarea.st-input{width:100%;max-width:520px;font-family:inherit}.bc .st-input,.bc .st-select{max-width:520px}.bc-seg{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:12px;flex-wrap:wrap;gap:3px;width:fit-content;max-width:100%;padding:4px;display:inline-flex}.bc-seg button{cursor:pointer;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:9px;padding:9px 14px;font-size:.88rem;font-weight:600}.bc-seg button:hover:not(.on){background:#fff9}.bc-seg button.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.bc-chips{flex-wrap:wrap;gap:6px;display:flex}.bc-chip{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.86rem;font-weight:600;display:inline-flex}.bc-chip span{color:var(--kdb-accent-dark);background:#185fa51a;border-radius:999px;padding:0 7px;font-size:.75rem}.bc-chip:hover:not(.on){background:var(--kdb-tint)}.bc-chip.on{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.bc-chip.on span{color:#fff;background:#ffffff40}.bc-chip.dim{opacity:.55}.bc-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.bc-search{background:#eef0f4;border:1px solid #0000;border-radius:12px;flex:260px;align-items:center;gap:10px;padding:0 14px;display:flex}.bc-search:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff}.bc-search input{min-width:0;color:var(--kdb-text);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:16px}.bc-x{background:var(--kdb-tint);width:26px;height:26px;color:var(--kdb-text-soft);border:none;border-radius:50%;font-size:.75rem}.bc-rows{border:1px solid var(--kdb-line);overscroll-behavior:contain;border-radius:14px;max-height:min(560px,65vh);overflow:hidden auto}.bc-row{border-bottom:1px solid var(--kdb-line);grid-template-columns:minmax(180px,1.5fr) 150px minmax(130px,1fr) 120px;align-items:center;gap:10px;padding:10px 14px;display:grid}.bc-row:last-child{border-bottom:none}.bc-row:not(.head):hover{background:var(--kdb-tint)}.bc-row.head{background:var(--kdb-tint);text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);z-index:1;padding:8px 14px;font-size:.72rem;font-weight:700;position:sticky;top:0}.c-name{overflow-wrap:anywhere;align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.c-days{flex-wrap:wrap;gap:4px;display:flex}.bc-av{color:#fff;background:linear-gradient(135deg,#7dcdf4,#3c8fd6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:"Baloo 2",sans-serif;font-size:.8rem;font-style:normal;font-weight:700;display:flex}.bc-code{background:var(--kdb-surface-alt);border-radius:6px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:.85rem}.bc-day{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:2px 8px;font-size:.74rem;font-style:normal;font-weight:700}.bc-pill{white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:.75rem;font-weight:700;display:inline-block}.bc-pill.ok{background:var(--kdb-good-bg);color:var(--kdb-good-text)}.bc-pill.warn{background:var(--kdb-warn-bg);color:var(--kdb-warn-text)}.bc-action{background:var(--kdb-tint);border:1px solid var(--kdb-blue-line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.bc-result{background:#f0faf4;border:1px solid #b7e1c3;border-radius:14px;gap:8px;padding:14px 16px;display:grid}.bc-result-head{color:#0f5132;font-weight:700}.bc-result .bc-pdf{margin:0}.bc-result .btn{justify-self:start}.bc-ok,.bc-err{border-radius:10px;margin:0;padding:10px 14px;font-size:.9rem;line-height:1.4}.bc-ok{color:#1e6b34;background:#e8f6ec;border:1px solid #b7e1c3}.bc-err{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border:1px solid #f5c2c7}.bc-link{cursor:pointer;color:var(--kdb-accent);font-weight:700;font-size:inherit;background:0 0;border:none;margin-left:6px;padding:0}.bc-link:hover{text-decoration:underline}.bc-empty{text-align:center;color:var(--kdb-text-soft);border:1px dashed var(--kdb-line);border-radius:16px;justify-items:center;gap:4px;padding:30px 16px;display:grid}.bc-empty>div{font-size:1.8rem}.bc-minis{grid-template-columns:repeat(3,minmax(0,200px));gap:10px;display:grid}.bc-mini{background:var(--kdb-surface-alt);border-radius:14px;gap:2px;padding:12px 16px;display:grid}.bc-mini b{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500}.bc-mini span{color:var(--kdb-text-soft);font-size:.8rem}.bc-mini.warn{background:var(--kdb-warn-bg)}.bc-mini.warn b{color:var(--kdb-warn-text)}.bc-mini.ok{background:#e8f6ec}.bc-mini.ok b{color:#1e6b34}.bc-gen{gap:12px;max-width:520px;display:grid}.bc-gen .btn,.bc-sec>.btn{justify-self:start;padding:12px 22px}.bc-bulk{background:var(--kdb-tint);border:1px solid var(--kdb-blue-line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.bc-bulk.short{background:var(--kdb-warn-bg);border-color:#f0d98a}.bc-bulk-text{flex:260px;gap:2px;min-width:0;display:grid}.bc-bulk-text span{color:var(--kdb-text-soft);font-size:.88rem}.bc-confirm{background:#fff8f8;border:1px solid #f1c2c7;border-radius:14px;gap:10px;max-width:520px;padding:14px 16px;display:grid}.bc-confirm-btns{flex-wrap:wrap;gap:8px;display:flex}.bc-note{background:var(--kdb-surface-alt);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 14px;font-size:.9rem;display:flex}@media (width<=900px){.bc-hero{grid-template-columns:1fr}.bc-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.bc{padding:6px 14px 24px}.bc-title{font-size:1.5rem}.bc-next{flex-wrap:wrap}.bc-next-btn{width:100%}.bc-card{padding:14px}.bc-minis{grid-template-columns:1fr 1fr 1fr;gap:6px}.bc-mini{padding:10px}.bc-mini b{font-size:1.2rem}.bc-row.head{display:none}.bc-row{grid-template-columns:1fr auto;grid-template-areas:"name status""code days";gap:6px 10px}.c-name{grid-area:name}.c-status{grid-area:status}.c-code{grid-area:code}.c-days{grid-area:days;justify-content:flex-end}}.bc-row.inactive{background:var(--kdb-surface-alt)}.bc-row.inactive>span:not(.c-name),.bc-row.inactive .c-name{opacity:.6}.bc-row.inactive .c-name .bc-pill{opacity:1}.bc-row.inactive .bc-av{filter:grayscale()}.bc-pill.off{color:#5b6472;background:#e9ecef}.c-name .bc-pill{margin-left:4px}.pb{max-width:1200px;margin:0 auto;padding:8px 28px 28px}.pb-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.pb-title{margin:6px 0 2px;font-size:1.9rem;line-height:1.15}.pb-sub{color:var(--kdb-text-soft);margin:0;font-size:.95rem}.pb-new{padding:11px 20px;box-shadow:0 6px 16px #1b5fa340}.pb-stats{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.pb-stat{--tone:#dc3545;background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-left:4px solid var(--tone);border-radius:16px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;column-gap:14px;min-width:190px;padding:14px 20px 14px 16px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.pb-stat.green{--tone:#22a06b}.pb-stat-icon{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:12px;grid-row:1/span 2;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.15rem;display:flex}.pb-stat b{font-family:JetBrains Mono,monospace;font-size:1.7rem;font-weight:500;line-height:1.1}.pb-stat-label{color:var(--kdb-text-soft);font-size:.8rem;font-weight:600}.pb-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px;display:flex}.pb-search{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:14px;flex:280px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.pb-search:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent)}.pb-search input{min-width:0;color:var(--kdb-text);background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-size:16px}.pb-x{background:var(--kdb-tint);width:26px;height:26px;color:var(--kdb-text-soft);border:none;border-radius:50%;font-size:.75rem}.pb-seg{border:1px solid var(--kdb-blue-line);background:#185fa514;border-radius:12px;gap:3px;padding:4px;display:inline-flex}.pb-seg button{cursor:pointer;color:var(--kdb-text-soft);background:0 0;border:none;border-radius:9px;padding:9px 16px;font-size:.88rem;font-weight:600}.pb-seg button:hover:not(.on){background:#fff9}.pb-seg button.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.pb-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.pb-chip{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;padding:8px 14px;font-size:.86rem;font-weight:600}.pb-chip:hover:not(.on){background:var(--kdb-tint)}.pb-chip.on{background:var(--kdb-accent);border-color:var(--kdb-accent);color:var(--kdb-on-accent)}.pb-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));align-items:start;gap:12px;display:grid}.pb-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border);border-radius:18px;gap:10px;padding:14px 16px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.pb-card.resolved{background:var(--kdb-surface-alt);box-shadow:none}.pb-card.mid{border-color:#f0d98a}.pb-card.old{border-color:#f1aeb5}.pb-card-top{align-items:center;gap:12px;display:flex}.pb-ico{background:var(--kdb-tint);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.2rem;display:flex}.pb-who{flex:1;gap:1px;min-width:0;display:grid}.pb-name{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;overflow:hidden}.pb-days{color:var(--kdb-muted);font-size:.8rem}.pb-status{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 11px;font-size:.76rem;font-weight:700}.pb-status.open{background:var(--kdb-tint);color:var(--kdb-accent-dark)}.pb-status.open.mid{background:var(--kdb-warn-bg);color:var(--kdb-warn-text)}.pb-status.open.old{background:var(--kdb-danger-bg);color:var(--kdb-danger-text)}.pb-status.done{background:var(--kdb-good-bg);color:var(--kdb-good-text)}.pb-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pb-tag{color:var(--kdb-accent-dark);background:#185fa51a;border-radius:999px;padding:3px 11px;font-size:.78rem;font-weight:700}.pb-code{background:var(--kdb-tint);border-radius:6px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.8rem}.pb-issue{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.pb-resolution{color:#174d2b;overflow-wrap:anywhere;background:#e8f6ec;border-radius:12px;gap:2px;padding:10px 12px;font-size:.9rem;line-height:1.45;display:grid}.pb-resolution span{text-transform:uppercase;letter-spacing:.07em;color:#1e6b34;font-size:.7rem;font-weight:700}.pb-card-foot{border-top:1px solid var(--kdb-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.pb-meta{color:var(--kdb-muted);font-size:.8rem}.pb-btns{align-items:center;gap:8px;display:flex}.pb-del{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);width:36px;height:36px;color:var(--kdb-text-soft);border-radius:50%;font-size:.95rem}.pb-del:hover{background:#fdecee;border-color:#f1aeb5}.pb-more{margin-top:14px}.pb-empty{text-align:center;color:var(--kdb-text-soft);background:var(--kdb-surface);border:1px dashed var(--kdb-line);border-radius:18px;justify-items:center;gap:4px;padding:44px 16px;display:grid}.pb-empty>div{font-size:2rem}.pb-form{gap:14px;display:grid}.pb-block{gap:8px;display:grid}.pb-fl{text-transform:uppercase;letter-spacing:.06em;color:var(--kdb-text-soft);font-size:.74rem;font-weight:700}.pb-field{gap:6px;min-width:0;display:grid}.pb-form input[type=text],.pb-form select,.pb-text{width:100%;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.pb-text{resize:vertical;line-height:1.45}.pb-form input:focus,.pb-form select:focus,.pb-text:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.pb-subjects{flex-wrap:wrap;gap:8px;display:flex}.pb-subj{cursor:pointer;border:1.5px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:14px;align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.pb-subj input{opacity:0;pointer-events:none;position:absolute}.pb-subj:hover:not(.on){background:var(--kdb-tint);border-color:var(--kdb-blue-line)}.pb-subj.on{background:var(--kdb-tint);border-color:var(--kdb-accent);color:var(--kdb-accent-dark);box-shadow:0 0 0 1px var(--kdb-accent) inset}.pb-subj:has(input:focus-visible){outline:2px solid var(--kdb-accent);outline-offset:2px}.pb-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pb-two.one{grid-template-columns:1fr}.pb-quote{background:var(--kdb-surface-alt);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.pb-quote p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.pb-danger{color:var(--kdb-danger-text);background:#fff8f8;border:1px solid #f1c2c7;border-radius:12px;margin:0;padding:12px 14px;line-height:1.45}.pb-err{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border:1px solid #f5c2c7;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}.pb-actions{z-index:3;background:color-mix(in srgb, var(--kdb-surface) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--kdb-line);grid-template-columns:1fr 1.6fr;gap:10px;margin:4px -26px -22px;padding:14px 26px;display:grid;position:sticky;bottom:-22px}.pb-actions.plain{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:none;grid-template-columns:1fr 1fr;margin:4px 0 0;padding:0;position:static}.pb-actions .btn{padding:13px 16px}@media (width<=700px){.pb{padding:6px 14px 24px}.pb-title{font-size:1.5rem}.pb-new{width:100%}.pb-stat{flex:1;min-width:0;padding:12px}.pb-seg{width:100%;display:flex}.pb-seg button{flex:1;padding:10px 4px}.pb-grid{grid-template-columns:1fr}.pb-card-foot{flex-direction:column;align-items:stretch}.pb-btns{justify-content:space-between}.pb-btns .btn{flex:1}.pb-two{grid-template-columns:1fr}.pb-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin:4px -16px -16px;bottom:-16px}.pb-actions.plain{margin:4px 0 0;padding:0}}.sp-page{max-width:1100px;margin:0 auto;padding:8px 28px 40px}.sp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 12px;display:flex}.sp-title{font-size:2rem;line-height:1.15}.sp-sub{letter-spacing:.07em;text-transform:uppercase;color:var(--kdb-text-soft);margin:18px 0 8px;font-size:.76rem;font-weight:700}.sp-caption{color:var(--kdb-text-soft);margin:4px 0 14px;font-size:.92rem}.sp-empty{text-align:center;color:var(--kdb-text-soft);background:var(--kdb-surface);border:1px dashed var(--kdb-line);border-radius:18px;justify-items:center;gap:4px;padding:40px 16px;display:grid}.sp-empty-icon{font-size:1.8rem}.sp-error{background:var(--kdb-danger-bg);color:var(--kdb-danger-text);border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:.92rem;font-weight:600}.sp-warn{color:#8a6100;background:#fff3cd;border-radius:12px;padding:10px 14px;font-size:.92rem;font-weight:600;line-height:1.4}.sp-stack{gap:10px;display:grid}.sp-grow{flex:1;min-width:0}.sp-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--kdb-muted);margin:10px 10px 2px;font-size:.7rem;font-weight:700}.app.collapsed .sp-section-label{display:none}.sp-card{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;padding:16px 18px;box-shadow:0 2px 10px #1d1d2e0d}.sp-staffrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;transition:box-shadow .15s;display:flex}.sp-staffrow:hover{box-shadow:0 8px 20px #1d1d2e17}.sp-staffrow.dim{background:var(--kdb-surface-alt)}.sp-staffrow.dim .sp-card-head{opacity:.7}.sp-staffrow-act{justify-content:flex-end;min-width:150px;display:flex}.sp-staffrow-act .sp-btn{min-width:140px}.sp-card-head{align-items:center;gap:12px;display:flex}.sp-name{margin:0;font-family:"Baloo 2",sans-serif;font-size:1.15rem;font-weight:700;line-height:1.2}.sp-name.big{font-size:1.5rem}.sp-name.small{font-size:.98rem}.sp-sub-code{color:var(--kdb-muted);align-items:center;gap:8px;margin:2px 0 0;font-size:.8rem;display:flex}.sp-code{background:var(--kdb-surface-alt);color:var(--kdb-text-soft);border-radius:6px;padding:2px 9px;font-family:JetBrains Mono,monospace;font-size:.78rem}.sp-pillrow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.sp-times{color:var(--kdb-text-soft);font-size:.88rem;font-weight:600}.sp-histrow{grid-template-columns:2fr 3fr;align-items:center;gap:12px;display:grid}.sp-histrow.flagged{background:#fff7f7;border-color:#f1aeb5}.sp-avatar{--ring:#3c8fd6;color:#fff;width:46px;height:46px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 28%, transparent);border-radius:50%;flex-shrink:0;place-items:center;font:700 .95rem "Baloo 2",sans-serif;display:grid}.sp-avatar.active{background:linear-gradient(135deg,#7dcdf4,#3c8fd6)}.sp-avatar.done{--ring:#6b7686;background:#6b7686}.sp-avatar.inactive{--ring:#b6bcc7;background:#b6bcc7}.sp-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.sp-pill.in{background:var(--kdb-tint);color:var(--kdb-accent-dark)}.sp-pill.out{background:var(--kdb-surface-alt);color:var(--kdb-text-soft)}.sp-pill.none{background:var(--kdb-surface-alt);color:var(--kdb-muted)}.sp-pill.dur{color:#1b7f4b;background:#ddf3e6}.sp-pill.flag{color:#842029;background:#f8d7da}.sp-pill.editing{color:#166534;background:#dcfce7}.sp-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.sp-dot.blue{background:var(--kdb-accent)}.sp-dot.gray{background:#9ca3af}.sp-dot.amber{background:#f59e0b}.sp-status-text{align-items:center;gap:8px;margin:4px 0 14px;font-weight:600;display:flex}.sp-chipstats{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.sp-cs{--tone:#3fa9db;color:var(--kdb-text-soft);background:color-mix(in srgb, var(--tone) 12%, var(--kdb-surface));border:1px solid color-mix(in srgb, var(--tone) 35%, transparent);border-radius:999px;align-items:baseline;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.sp-cs b{color:var(--kdb-text);font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600}.sp-cs.green{--tone:#22a06b}.sp-cs.slate{--tone:#8a8aa0}.sp-cs.red{--tone:#dc3545}.sp-cs.amber{--tone:#f5a400}.sp-btn{cursor:pointer;border:1px solid var(--kdb-blue-line);background:var(--kdb-surface);min-height:40px;color:var(--kdb-accent);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:.95rem;font-weight:600;transition:background .15s,filter .15s,transform .1s;display:inline-flex}.sp-btn:hover:not(:disabled){background:var(--kdb-tint)}.sp-btn:active:not(:disabled){transform:scale(.99)}.sp-btn:disabled{opacity:.55;cursor:default}.sp-btn.primary{background:linear-gradient(135deg, var(--kdb-accent), #3c8fd6);color:var(--kdb-on-accent);border-color:#0000;box-shadow:0 4px 12px #1b5fa338}.sp-btn.primary:hover:not(:disabled){filter:brightness(1.05);background:linear-gradient(135deg, var(--kdb-accent), #3c8fd6)}.sp-btn.ghost{border-color:var(--kdb-line);color:var(--kdb-text-soft)}.sp-btn.danger{color:#b91c1c;border-color:#f1aeb5}.sp-btn.danger:hover:not(:disabled){background:#fef2f2}.sp-btn.danger.solid{color:#fff;background:#d64545;border-color:#d64545}.sp-btn.danger.solid:hover:not(:disabled){background:#bb2d3b}.sp-btn.small{border-radius:10px;min-height:34px;padding:6px 12px;font-size:.85rem}.sp-btn.grow{flex:1}.sp-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.sp-actions.wrap{flex-wrap:wrap;justify-content:flex-end;margin-top:0}.sp-actions.spaced{margin-top:18px}.sp-head .sp-actions{margin-top:0}.sp-modal .sp-actions .sp-btn{flex:1}.sp-seg,.sp-tabs{border:1px solid var(--kdb-blue-line);scrollbar-width:none;background:#185fa514;border-radius:12px;gap:3px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.sp-seg::-webkit-scrollbar{display:none}.sp-tabs::-webkit-scrollbar{display:none}.sp-tabs{margin:8px 0 16px}.sp-seg button,.sp-tabs button{cursor:pointer;color:var(--kdb-text-soft);white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:9px 18px;font-size:.92rem;font-weight:600}.sp-seg button:hover:not(.on),.sp-tabs button:hover:not(.on){background:#fff9}.sp-seg button.on,.sp-tabs button.on{background:var(--kdb-surface);color:var(--kdb-accent-dark);box-shadow:0 1px 3px #0f172a24, 0 0 0 1px var(--kdb-blue-line)}.sp-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:10px 0 14px;display:flex}.sp-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:12px;display:flex}.sp-filters.plain{box-shadow:none;background:0 0;border:none;padding:0}.sp-form{gap:14px;display:grid}.sp-grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.sp-grid2{grid-template-columns:1fr}}.sp-page label{letter-spacing:.05em;text-transform:uppercase;color:var(--kdb-text-soft);gap:5px;font-size:.76rem;font-weight:700;display:grid}.sp-page input:not([type=checkbox]),.sp-page select,.sp-page textarea,.sp-modal input{font:inherit;letter-spacing:0;text-transform:none;color:var(--kdb-text);background:#eef0f4;border:1px solid #0000;border-radius:12px;min-width:0;padding:11px 12px;font-size:16px;font-weight:400;transition:border-color .15s,box-shadow .15s,background .15s}.sp-page input:focus,.sp-page select:focus,.sp-page textarea:focus,.sp-modal input:focus{border-color:var(--kdb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--kdb-accent) 20%, transparent);background:#fff;outline:none}.sp-page input:disabled,.sp-modal input:disabled{background:var(--kdb-surface-alt);color:var(--kdb-muted)}.sp-search{flex:1;min-width:220px}.sp-search.block{width:100%;margin:6px 0}.sp-hr{border:none;border-top:1px solid var(--kdb-line);margin:6px 0}.sp-toggle-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sp-page label.sp-switch{cursor:pointer;letter-spacing:0;text-transform:none;color:var(--kdb-text);align-items:center;gap:12px;font-size:.95rem;display:inline-flex;position:relative}.sp-switch input{opacity:0;width:1px;height:1px;position:absolute}.sp-track{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:46px;height:28px;transition:background .15s;position:relative}.sp-track:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.sp-switch input:checked+.sp-track{background:var(--kdb-accent)}.sp-switch input:checked+.sp-track:after{transform:translate(18px)}.sp-switch input:focus-visible+.sp-track{outline:2px solid var(--kdb-accent);outline-offset:2px}.sp-preview{background:var(--kdb-surface-alt);border:1px solid var(--kdb-line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.sp-preview-times{flex:1;align-items:center;gap:10px;min-width:220px;display:flex}.sp-preview-pt{white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex}.sp-preview-bar{background:linear-gradient(to right, var(--kdb-accent), #9ca3af);border-radius:2px;flex:1;min-width:40px;height:4px}.sp-preview-bar.open{background:repeating-linear-gradient(to right, var(--kdb-accent) 0, var(--kdb-accent) 6px, transparent 6px, transparent 11px)}.sp-preview-dur{color:var(--kdb-accent);background:var(--kdb-tint);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700}.sp-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0;display:grid}.sp-metrics.two{grid-template-columns:repeat(2,1fr)}.sp-stat{--tone:#3fa9db;background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:16px;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:14px 16px;display:grid;box-shadow:0 2px 10px #1d1d2e0d}.sp-stat.purple{--tone:#8b5cf6}.sp-stat.green{--tone:#22a06b}.sp-stat.amber{--tone:#f5a400}.sp-stat.red{--tone:#dc3545}.sp-stat.slate{--tone:#8a8aa0}.sp-stat-icon{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:13px;grid-row:1/span 3;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.sp-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--kdb-text-soft);font-size:.72rem;font-weight:700}.sp-stat b{font-family:JetBrains Mono,monospace;font-size:1.7rem;font-weight:500;line-height:1.15}.sp-stat small{color:color-mix(in srgb, var(--tone) 60%, #000);font-size:.76rem;font-weight:600}.sp-tablewrap{border:1px solid var(--kdb-card-border,var(--kdb-line));background:var(--kdb-surface);border-radius:16px;max-height:68vh;margin-bottom:10px;overflow:auto;box-shadow:0 2px 10px #1d1d2e0d}.sp-table{border-collapse:collapse;width:100%;font-size:.92rem}.sp-table th{z-index:1;text-align:left;background:var(--kdb-tint);text-transform:uppercase;letter-spacing:.05em;color:var(--kdb-text-soft);padding:11px 14px;font-size:.74rem;font-weight:700;position:sticky;top:0}.sp-table td{border-top:1px solid var(--kdb-line);white-space:nowrap;padding:10px 14px}.sp-table tbody tr:hover td{background:var(--kdb-tint)}.sp-table.clickable tbody tr{cursor:pointer}.sp-table.clickable tbody tr:focus-visible{outline:2px solid var(--kdb-accent);outline-offset:-2px}.sp-table tr.open td{color:#9b1c1c;background:#fff1f2}.sp-table tr.open:hover td{background:#ffe4e6}.sp-table tr.short td{color:#854d0e;background:#fffbeb}.sp-table tr.short:hover td{background:#fef3c7}.sp-table th.sp-th-sort{padding:0}.sp-sort{cursor:pointer;width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:11px 14px;display:inline-flex}.sp-sort i{opacity:.35;font-size:.7rem;font-style:normal}.sp-sort:hover{color:var(--kdb-text);background:#185fa514}.sp-sort:hover i{opacity:.7}.sp-sort.on{color:var(--kdb-accent-dark)}.sp-sort.on i{opacity:1;color:var(--kdb-accent)}.sp-sort:focus-visible{outline:2px solid var(--kdb-accent);outline-offset:-2px}.sp-day{justify-content:space-between;align-items:baseline;gap:10px;margin:18px 4px 8px;display:flex}.sp-day b{font-family:"Baloo 2",sans-serif;font-size:1.05rem}.sp-day span{color:var(--kdb-muted);font-size:.82rem}.sp-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.sp-chip{cursor:pointer;border:1px solid var(--kdb-blue-line);background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600}.sp-chip:hover{background:var(--kdb-blue-line);color:#fff}.sp-cal{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;max-height:70vh;overflow:auto;box-shadow:0 2px 10px #1d1d2e0d}.sp-cal-inner{position:relative}.sp-cal-row{border-top:1px solid var(--kdb-line);height:54px;display:flex}.sp-cal-row.head{z-index:4;background:var(--kdb-tint);border-top:none;height:46px;position:sticky;top:0}.sp-cal-name{z-index:3;background:var(--kdb-surface);border:none;border-right:1px solid var(--kdb-line);text-align:left;width:170px;color:var(--kdb-text);cursor:pointer;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;font-size:.92rem;font-weight:600;display:flex;position:sticky;left:0}.sp-cal-row.head .sp-cal-name{background:var(--kdb-tint);text-transform:uppercase;letter-spacing:.05em;color:var(--kdb-text-soft);cursor:default;font-size:.74rem}.sp-cal-name.link:hover{background:var(--kdb-tint)}.sp-cal-track{flex-shrink:0;position:relative}.sp-cal-hour{color:var(--kdb-text-soft);border-left:1px solid #d1d5db;align-items:flex-end;padding:0 0 6px 8px;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:0;bottom:0}.sp-bar{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:#fff;text-align:left;background:linear-gradient(135deg,#7a8597,#5c687c);border:none;border-radius:12px;height:34px;padding:0 12px;font-size:.8rem;font-weight:700;position:absolute;top:10px;overflow:hidden;box-shadow:0 2px 6px #0f172a2e}.sp-bar.on{background:linear-gradient(135deg,#3dd982,#27ae60)}.sp-now{z-index:2;pointer-events:none;background:#dc3545;width:2px;position:absolute;top:0;bottom:0}.sp-clockbar{flex-wrap:wrap;align-items:center;gap:12px;margin:2px 0 14px;display:flex}.sp-clockbar-date{color:var(--kdb-text-soft);font-size:.95rem;font-weight:600}.sp-clockbar-time{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:999px;padding:5px 16px;font-family:"Baloo 2",sans-serif;font-size:1.35rem;font-weight:700;line-height:1.2;box-shadow:0 2px 10px #1d1d2e0f}.sp-now-tag{z-index:1;pointer-events:none;color:#fff;white-space:nowrap;background:#dc3545;border-radius:999px;padding:1px 9px;font-size:.68rem;font-weight:700;position:absolute;top:5px;transform:translate(-50%)}.sp-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1d1d2e73;place-items:center;padding:16px;animation:.15s ease-out sp-fade;display:grid;position:fixed;inset:0}.sp-modal{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:24px;width:min(460px,100%);max-height:92vh;padding:22px 24px 24px;animation:.2s ease-out sp-pop;overflow-y:auto;box-shadow:0 24px 60px #1d1d2e47}.sp-modal.wide{width:min(760px,100%)}.sp-grab{background:#1d1d2e2e;border-radius:999px;width:42px;height:5px;margin:0 auto 12px;display:none}.sp-modal-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.sp-modal-head h3{font-size:1.25rem}.sp-x{cursor:pointer;background:var(--kdb-surface-alt);width:34px;height:34px;color:var(--kdb-text-soft);border:none;border-radius:50%}.sp-x:hover{color:#a32d2d;background:#fdecee}.sp-toasts{z-index:120;pointer-events:none;gap:8px;width:min(420px,100vw - 24px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.sp-toast{text-align:center;color:#fff;background:var(--kdb-text);border-radius:14px;padding:13px 20px;font-weight:500;animation:.2s ease-out sp-in;box-shadow:0 8px 24px #1d1d2e40}.sp-toast.err{background:#a32d2d}@keyframes sp-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}@keyframes sp-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes sp-sheet{0%{transform:translateY(100%)}to{transform:none}}.sp-gridscroll{padding-bottom:8px;overflow-x:auto}.sp-taskgrid{gap:8px;min-width:760px;display:grid}.sp-dayhead{text-align:center;background:var(--kdb-tint);border:1px solid #0000;border-radius:12px;gap:1px;padding:8px 4px;display:grid}.sp-dayhead.today{background:#ddf3e6;border:1.5px solid #22a06b}.sp-dayhead small{color:#1b7f4b;letter-spacing:.03em;font-size:10px;font-weight:700}.sp-dayhead b{font-size:13px}.sp-dayhead span{color:var(--kdb-text-soft);font-size:11px}.sp-taskrow{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:16px;align-items:start;gap:8px;padding:10px;display:grid;box-shadow:0 1px 6px #1d1d2e0a}.sp-taskrow textarea{resize:vertical;min-height:72px;line-height:1.4;border-radius:10px!important;font-size:14px!important}.sp-taskcell{white-space:pre-wrap;overflow-wrap:anywhere;min-height:40px;color:var(--kdb-text);padding:8px 10px;font-size:13px;line-height:1.4}.sp-expander{border:1px solid var(--kdb-card-border,var(--kdb-line));background:var(--kdb-surface);border-radius:18px;margin-top:24px;padding:14px 18px}.sp-expander summary{cursor:pointer;font-weight:700}.sp-savebar{z-index:40;background:var(--kdb-text);color:#fff;border-radius:16px;align-items:center;gap:14px;padding:10px 12px 10px 18px;transition:transform .2s;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%,160%);box-shadow:0 8px 24px #1d1d2e4d}.sp-savebar.show{transform:translate(-50%)}.sp-skel{gap:10px;display:grid}.sp-skel i{background:linear-gradient(90deg,#eef0f4 25%,#f6f7f9 37%,#eef0f4 63%) 0 0/400% 100%;border-radius:18px;height:72px;animation:1.4s infinite sp-shimmer}@keyframes sp-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.sp-print-sheet{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:14px;display:grid}.sp-label{text-align:center;border:1px dashed #9ca3af;border-radius:8px;justify-items:center;gap:6px;padding:12px;display:grid}.sp-label svg{max-width:100%}@media print{body *{visibility:hidden!important}.sp-print-sheet,.sp-print-sheet *{visibility:visible!important}.sp-print-sheet{width:100%;margin:0;position:absolute;top:0;left:0}.sp-label{break-inside:avoid}}@media (width<=700px){.sp-page{padding:6px 12px 28px}.sp-title{font-size:1.6rem}.sp-seg,.sp-tabs{width:100%;display:flex}.sp-seg button,.sp-tabs button{flex:1;padding:9px 8px}.sp-histrow{grid-template-columns:1fr}.sp-staffrow-act,.sp-staffrow-act .sp-btn{width:100%}.sp-actions.wrap{justify-content:flex-start}.sp-metrics,.sp-metrics.two{grid-template-columns:repeat(2,1fr)}.sp-stat{grid-template-columns:1fr;row-gap:2px;padding:12px}.sp-stat-icon{display:none}.sp-overlay{place-items:end center;padding:0}.sp-modal,.sp-modal.wide{width:100%;padding:10px 18px calc(22px + env(safe-area-inset-bottom));border-bottom:none;border-radius:24px 24px 0 0;animation:.25s ease-out sp-sheet}.sp-grab{display:block}.sp-savebar{justify-content:space-between;width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.sp-overlay,.sp-modal,.sp-toast{animation:none}}.sc-page{gap:14px;max-width:760px;margin:0 auto;padding:8px 28px 60px;display:grid}.sc-back{background:var(--kdb-surface);border:1px solid var(--kdb-line);color:var(--kdb-text-soft);border-radius:999px;justify-self:start;padding:8px 18px;font-size:.9rem;font-weight:600;text-decoration:none}.sc-back:hover{background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.sc-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.sc-title{margin:0;font-size:1.9rem;line-height:1.15}.sc-pills{flex-wrap:wrap;gap:8px;display:flex}.sc-pill{background:var(--kdb-surface);border:1px solid var(--kdb-line);color:var(--kdb-text-soft);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.sc-pill i{background:currentColor;border-radius:50%;width:9px;height:9px}.sc-pill.ok{color:#0f7b4f;background:#ecf8f2;border-color:#bfe6d3}.sc-pill.ok i{animation:2s ease-in-out infinite sc-pulse}.sc-pill.bad{color:#b42318;background:#fdecee;border-color:#f5c2c7}.sc-pill.warn{color:#9a6200;background:#fff6e0;border-color:#f0d98a}.sc-tip{background:var(--kdb-tint);border:1px solid var(--kdb-blue-line);color:var(--kdb-accent-dark);border-radius:14px;margin:0;padding:12px 16px;font-size:.92rem;line-height:1.4}:is(.sc-hero,.sc-log li){--tone:#667085}:is(.sc-hero,.sc-log li).idle{--tone:#3fa9db}:is(.sc-hero,.sc-log li).checked_in{--tone:#1fa168}:is(.sc-hero,.sc-log li).checked_out{--tone:#2d6be0}:is(.sc-hero,.sc-log li).already_done{--tone:#667085}:is(.sc-hero,.sc-log li).not_found,:is(.sc-hero,.sc-log li).error{--tone:#d92d20}:is(.sc-hero,.sc-log li).invalid,:is(.sc-hero,.sc-log li).queued{--tone:#d98a00}.sc-hero{background:color-mix(in srgb, var(--tone) 9%, var(--kdb-surface));border:2px solid color-mix(in srgb, var(--tone) 35%, transparent);min-height:160px;box-shadow:0 12px 32px color-mix(in srgb, var(--tone) 18%, transparent);border-radius:28px;align-items:center;gap:22px;padding:26px 28px;animation:.28s ease-out sc-pop;display:flex}.sc-hero-icon{background:color-mix(in srgb, var(--tone) 16%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:2.7rem;display:flex}.sc-hero.idle .sc-hero-icon{animation:2.2s ease-out infinite sc-ping}.sc-hero-text{gap:4px;min-width:0;display:grid}.sc-hero-label{text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb, var(--tone) 70%, #000);font-size:.78rem;font-weight:700}.sc-hero-text b{color:var(--kdb-text);overflow-wrap:anywhere;font-size:1.9rem;line-height:1.2}.sc-hero.idle .sc-hero-text b{color:var(--kdb-text-soft);font-weight:600}.sc-manual{gap:10px;display:flex}.sc-field{background:var(--kdb-surface);border:1px solid var(--kdb-line);border-radius:16px;flex:1;align-items:center;gap:10px;min-width:0;padding:0 16px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #1d1d2e0d}.sc-field:focus-within{border-color:var(--kdb-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--kdb-accent) 18%, transparent)}.sc-input{min-width:0;color:var(--kdb-text);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:1;padding:15px 0;font-size:18px}.sc-go{cursor:pointer;color:var(--kdb-on-accent);background:linear-gradient(135deg, var(--kdb-accent), #3c8fd6);border:none;border-radius:16px;padding:0 26px;font-size:1rem;font-weight:700;box-shadow:0 6px 16px #1b5fa340}.sc-go:hover:not(:disabled){filter:brightness(1.05)}.sc-go:disabled{opacity:.5;cursor:default;box-shadow:none}.sc-tools{flex-wrap:wrap;gap:8px;display:flex}.sc-chip{cursor:pointer;border:1px solid var(--kdb-line);background:var(--kdb-surface);color:var(--kdb-text-soft);border-radius:999px;padding:10px 18px;font-size:.92rem;font-weight:600}.sc-chip:hover:not(:disabled){background:var(--kdb-tint);border-color:var(--kdb-blue-line);color:var(--kdb-accent)}.sc-chip:disabled{opacity:.5;cursor:default}.sc-chip[aria-pressed=true]{background:var(--kdb-tint);border-color:var(--kdb-accent);color:var(--kdb-accent-dark)}.sc-feed-head{align-items:center;gap:10px;margin-top:6px;display:flex}.sc-h2{margin:0;font-size:1.1rem}.sc-count{background:var(--kdb-tint);color:var(--kdb-accent-dark);border-radius:999px;padding:1px 10px;font-size:.8rem;font-weight:700}.sc-log{background:var(--kdb-surface);border:1px solid var(--kdb-card-border,var(--kdb-line));border-radius:18px;max-height:380px;margin:0;padding:0;list-style:none;overflow-y:auto;box-shadow:0 2px 10px #1d1d2e0d}.sc-log li{border-bottom:1px solid var(--kdb-line);align-items:center;gap:12px;padding:10px 14px;animation:.25s ease-out sc-in;display:flex}.sc-log li:last-child{border-bottom:none}.sc-log-dot{background:color-mix(in srgb, var(--tone) 15%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;font-style:normal;display:flex}.sc-log li span{overflow-wrap:anywhere;flex:1;min-width:0}.sc-log time{color:var(--kdb-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.82rem}.sc-log li.sc-log-empty{text-align:center;color:var(--kdb-muted);padding:28px;animation:none;display:block}@keyframes sc-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes sc-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes sc-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes sc-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tone) 30%, transparent)}70%,to{box-shadow:0 0 0 22px #0000}}@media (width<=600px){.sc-page{padding-left:14px;padding-right:14px}.sc-title{font-size:1.5rem}.sc-hero{border-radius:24px;gap:16px;min-height:130px;padding:20px}.sc-hero-icon{width:64px;height:64px;font-size:2rem}.sc-hero-text b{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){.sc-hero,.sc-log li,.sc-hero-icon,.sc-pill i{animation:none!important}}:root{--kdb-tint:#eaf5fc;--kdb-sidebar-bg:#ddeffa;--kdb-surface:#fff;--kdb-surface-alt:#f1f3f5;--kdb-text:#1d1d2e;--kdb-text-soft:#4a4a63;--kdb-muted:#8a8aa0;--kdb-accent:#1b5fa3;--kdb-accent-hover:#004b6e;--kdb-accent-dark:#0f3d5c;--kdb-on-accent:#fff;--kdb-line:#1d1d2e14;--kdb-blue-line:#7dcdf4;--kdb-bg:#e6f1fb;--st-noshow:#3fa9db;--st-in:#2ecc71;--st-out:#4a5568;--st-over:#de1c1c;--st-warn:#f29f05}*{box-sizing:border-box}body{color:var(--kdb-text);background-color:#eaf4fb;margin:0;font-family:"Source Sans 3",Source Sans Pro,system-ui,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(1000px 640px at -5% -10%,#378add33,#0000 60%),radial-gradient(900px 620px at 105% 110%,#7dcdf457,#0000 60%),radial-gradient(700px 480px at 100% -5%,#85b7eb38,#0000 60%),radial-gradient(#1b5fa312 1px,#0000 1.4px) 0 0/22px 22px,linear-gradient(#f0f8fd 0%,#e4f0fa 100%);position:fixed;inset:0}h1,h2,h3{margin:0;font-family:"Baloo 2",sans-serif;font-weight:700}button{cursor:pointer;font-family:inherit}
