.col-act[data-v-15bed6ce]{text-align:right;width:7.5rem}.act-dd[data-v-15bed6ce]{text-align:left;display:inline-block;position:relative}.act-toggle[data-v-15bed6ce]{white-space:nowrap;padding:.35rem .65rem;font-size:.8rem}.act-menu[data-v-15bed6ce]{z-index:90;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:10.5rem;padding:.35rem;position:fixed;box-shadow:0 12px 28px #0b3b4a24}.act-menu button[data-v-15bed6ce]{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.5rem .65rem;font-size:.84rem;font-weight:600;display:block}.act-menu button[data-v-15bed6ce]:hover{background:var(--soft);color:var(--navy)}.act-menu button.danger[data-v-15bed6ce]{color:var(--danger)}.act-menu button.danger[data-v-15bed6ce]:hover{background:#fff1f0}.pwd-row[data-v-15bed6ce]{align-items:stretch;gap:.4rem;display:flex}.pwd-row input[data-v-15bed6ce]{flex:1;min-width:0}.pwd-row .btn[data-v-15bed6ce]{flex:none;padding:.42rem .7rem;font-size:.8rem}.pwd-reveal[data-v-15bed6ce]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pwd-reveal code[data-v-15bed6ce]{color:#e2e8f0;background:#0b1220;border-radius:6px;padding:.25rem .5rem;font-size:.9rem}.client-modal-back[data-v-15bed6ce]{z-index:80}.client-modal[data-v-15bed6ce]{max-width:480px;max-height:min(90vh,720px);overflow:hidden}.client-form[data-v-15bed6ce]{flex-direction:column;gap:.7rem;padding-right:.15rem;display:flex;overflow:auto}.client-form .field[data-v-15bed6ce]{flex-direction:column;gap:.28rem;margin:0;display:flex}.client-form .field>span[data-v-15bed6ce]{color:var(--muted);font-size:.78rem;font-weight:600}.client-form .field input[data-v-15bed6ce],.client-form .field textarea[data-v-15bed6ce]{box-sizing:border-box;width:100%}.checks[data-v-15bed6ce]{flex-direction:column;gap:.45rem;padding:.15rem 0;display:flex}.opt[data-v-15bed6ce]{color:var(--ink);cursor:pointer;align-items:flex-start;gap:.55rem;margin:0;font-size:.88rem;font-weight:600;line-height:1.35;display:flex}.opt input[data-v-15bed6ce]{width:1rem;height:1rem;accent-color:var(--turuncu,#f66924);flex:none;margin:.15rem 0 0}.modal-actions[data-v-15bed6ce]{gap:.5rem;margin-top:.2rem}.appt-modal[data-v-2bbb7a44]{max-width:640px;max-height:min(90vh,780px)}:root{--bg:#f4f1ec;--card:#fff;--ink:#102033;--muted:#66707c;--line:#e8ddd3;--teal:#f66924;--teal-2:#ff7a00;--teal-dark:#d95d18;--navy:#062657;--navy-2:#041c42;--danger:#c2414b;--ok:#15803d;--soft:#fff1e8;--shadow:0 12px 32px #06265712;--radius:16px;font-family:DM Sans,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;color:var(--ink);margin:0}#app{min-height:100%}button,input,select,textarea{font:inherit}a{color:var(--teal);text-decoration:none}a.btn-primary{color:#fff}a.btn-ghost{color:var(--ink)}img{max-width:100%}.topbar{background:var(--navy);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.4rem;display:flex}.brand{letter-spacing:.04em;color:#ffc4a0;font-weight:800}.topbar nav{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.topbar a{color:#ffe8d6;font-size:.92rem}.topbar a.router-link-active{color:#ffc4a0}.phone{color:#fbbf24;font-weight:700}.page{max-width:1180px;margin:0 auto;padding:1.2rem 1rem 3rem}.hero{color:#fff;background:radial-gradient(900px 220px at 100% -40%,#f669246b,#0000 58%),linear-gradient(145deg,#041c42 0%,#062657 72%);border-radius:20px;margin-bottom:1.25rem;padding:1.45rem 1.55rem 1.4rem;box-shadow:0 18px 40px #0626572e}.hero h1{letter-spacing:-.02em;margin:.15rem 0 .4rem;font-size:1.55rem}.hero p{color:#ffe8d6d1;max-width:46rem;margin:0;line-height:1.5}.grid{gap:1rem;display:grid}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.layout-3{grid-template-columns:280px 1fr 260px}.layout-2{grid-template-columns:1fr 260px}@media (width<=980px){.layout-3,.layout-2{grid-template-columns:1fr}.summary-panel{position:static}.fill-split{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.3rem 1.35rem 1.4rem}.card h2,.card h3{letter-spacing:-.02em;margin:0 0 .6rem}.card.scenario{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.card.scenario:hover{border-color:#f3c7aa;transform:translateY(-3px);box-shadow:0 16px 28px #f669241f}.letter{background:var(--soft);width:2.15rem;height:2.15rem;color:var(--teal);letter-spacing:0;border-radius:10px;place-items:center;margin-bottom:.55rem;font-weight:800;display:grid}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:.8rem;margin-bottom:.7rem;padding-bottom:.7rem;display:flex}.card-head h1{letter-spacing:-.02em;color:var(--navy);margin:0;font-size:1.12rem;line-height:1.2}.card-head p{color:var(--muted);max-width:46rem;margin:.18rem 0 0;font-size:.8rem;line-height:1.35}.card-head .pill{margin-bottom:.25rem}.toolbar{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.4rem;width:100%;margin-bottom:.65rem;display:flex}.toolbar input,.toolbar select{border-radius:8px;flex:1 1 0;width:auto;min-width:0;max-width:none;padding:.38rem .55rem;font-size:.8rem}.toolbar .toolbar-wide{flex:1.7 1 0}.toolbar .btn{flex:none;padding:.38rem .75rem;font-size:.8rem}.toolbar .muted{white-space:nowrap;margin:0 0 0 auto;font-size:.8rem}.pager{flex-shrink:0;align-items:center;gap:.45rem;margin-top:.6rem;display:flex}.pager .btn{min-width:2.2rem;padding:.32rem .65rem}.side-form{min-height:0;padding-right:.75rem;overflow:auto}.side-form label{margin:.4rem 0 .18rem;font-size:.76rem}.side-form label:first-child{margin-top:0}.side-form input,.side-form select,.side-form textarea{padding:.48rem .6rem}.side-form h3{margin-bottom:.45rem;font-size:.95rem}.side-form .row{gap:.4rem;margin-top:.7rem}.side-form .btn{width:auto;min-width:0;box-shadow:none;flex:none;padding:.42rem .9rem;font-size:.82rem}.side-form .btn-block{width:auto;margin-top:.65rem}label{color:var(--muted);margin:.75rem 0 .35rem;font-size:.82rem;font-weight:600;display:block}.row{flex-wrap:wrap;gap:.75rem;display:flex}.row>*{flex:1;min-width:140px}.row>.btn{flex:none;width:auto;min-width:0}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:11px;width:100%;padding:.7rem .8rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #f6692424}.btn{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;padding:.72rem 1.05rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 8px 18px #f6692438}.btn-primary:hover:not(:disabled){background:var(--teal-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#fff}.btn-ghost:hover{background:#fffaf6;border-color:#ddc8b8}.btn-danger{background:var(--danger);color:#fff}.btn-block{width:100%;margin-top:1rem}.alert{border-radius:10px;margin:.7rem 0;padding:.7rem .8rem;font-size:.9rem}.alert-err{color:#991b1b;background:#fee2e2}.alert-ok{color:#166534;background:#dcfce7}.alert-info{background:var(--soft);color:#9a3412}.pill{background:var(--soft);color:var(--teal);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.muted{color:var(--muted);font-size:.9rem}.steps{color:var(--muted);margin:0;padding-left:1.1rem}.slot{border:1px solid var(--line);cursor:pointer;text-align:center;font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;padding:.55rem .2rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.slot:hover{border-color:var(--teal-2);color:var(--teal)}.slot.on{background:var(--teal);color:#fff;border-color:var(--teal)}.slot.dead{opacity:.4;pointer-events:none}.cal{border:1px solid var(--line);background:linear-gradient(#fff6f0 0%,#fff 40%);border-radius:16px;margin-top:1.1rem;padding:1rem}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.cal-head h3{margin:0 0 .2rem}.cal-head .muted{margin:0}.cal-nav{align-items:center;gap:.55rem;display:flex}.cal-nav strong{text-align:center;text-transform:capitalize;min-width:9.5rem;font-size:.95rem}.cal-nav-btn{border:1px solid var(--line);cursor:pointer;width:2.1rem;height:2.1rem;color:var(--navy);background:#fff;border-radius:999px;font-size:1.2rem;line-height:1}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cal-nav-btn:not(:disabled):hover{border-color:var(--teal);color:var(--teal)}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.day-chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.1rem;min-width:0;padding:.55rem .2rem .5rem;display:flex}.day-chip-dow{color:var(--muted);text-transform:capitalize;font-size:.72rem}.day-chip-num{font-size:1.2rem;font-weight:800;line-height:1.15}.day-chip-mon{color:var(--muted);text-transform:capitalize;font-size:.68rem}.day-chip:hover:not(.off){border-color:var(--teal-2)}.day-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.day-chip.on .day-chip-dow,.day-chip.on .day-chip-mon{color:#ffc4a0}.day-chip.off{opacity:.38;cursor:not-allowed;background:#f3f6f7}.time-block{margin-top:1rem}.time-label{color:var(--muted);margin:0 0 .55rem;font-size:.78rem;font-weight:700}.time-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.45rem;display:grid}.cal-picked{background:var(--soft);color:var(--teal);border-radius:10px;margin:.9rem 0 0;padding:.55rem .75rem;font-size:.9rem;font-weight:700}@media (width<=640px){.day-strip{grid-template-columns:repeat(7,minmax(42px,1fr));overflow-x:auto}.day-chip-dow{font-size:.62rem}.day-chip-num{font-size:1.05rem}}.branch{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;padding:.85rem .8rem;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.branch:hover{border-color:#f3c7aa}.branch.on{border-color:var(--teal);background:var(--soft);box-shadow:0 0 0 3px #f669241f}.summary{margin:0}.summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.85rem;font-size:.72rem;font-weight:700}.summary dt:first-child{margin-top:0}.summary dd{border-bottom:1px solid var(--line);margin:.2rem 0 0;padding-bottom:.75rem;font-size:.98rem;font-weight:700}.summary dd:last-of-type{border-bottom:0;padding-bottom:0}.summary-panel{background:linear-gradient(#fff8f3 0%,#fff 42%);border:1px solid #f0d4c2;border-radius:12px;align-self:start;padding:.95rem 1rem;position:sticky;top:0}.summary-panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin-bottom:1rem;font-size:.78rem}.scene-grid{flex:1;align-items:start;min-height:0;overflow:auto}.scene-main{min-width:0}.check{align-items:flex-start;gap:.5rem;margin:.75rem 0;font-size:.88rem;display:flex}.check input{width:auto;margin-top:.2rem}.table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:max(100%,720px);font-size:.88rem}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;padding:.68rem .7rem;overflow:hidden}.table td .muted{text-overflow:ellipsis;display:block;overflow:hidden}.table .btn{width:auto;margin:0 .2rem 0 0;padding:.38rem .62rem;font-size:.78rem}.table td:has(.btn){white-space:nowrap;overflow:visible}.table .col-time{white-space:normal;width:7.6rem;line-height:1.25}.table .col-time .time-date{font-weight:650;display:block}.table .col-time .time-clock{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;display:block}.table .col-code{width:4.4rem;overflow:visible}.table .col-method{width:5.2rem}.table .col-ip{width:8.2rem}.table .col-actions{width:5.6rem}.report-body{white-space:normal;margin-top:.6rem;font-size:.92rem;line-height:1.45}.table-scroll{border:1px solid var(--line);background:#fff;border-radius:12px;flex:auto;height:auto;min-height:0;margin-top:.75rem;overflow:auto}.table-scroll .table{margin:0}.table-scroll thead th{z-index:3;box-shadow:0 1px 0 var(--line);background:#fff8f3;position:sticky;top:0}.report-scroll{border:1px solid var(--line);background:#fff;border-radius:12px;flex:auto;height:calc(100dvh - 16rem);min-height:280px;margin-top:.75rem;padding:.8rem 1rem;overflow:auto}.modal-back{z-index:50;background:#0b3b4a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:920px;max-height:85vh;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;padding:1rem 1.1rem;display:flex;overflow:hidden}.modal .table-scroll,.modal .report-scroll{flex:1;height:auto;min-height:280px;max-height:calc(85vh - 6.5rem)}.modal-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.modal-head h3{color:var(--navy);margin:0;font-size:1.02rem}.modal-head .muted{margin:.15rem 0 0;font-size:.8rem}.modal-head .btn{padding:.38rem .75rem;font-size:.8rem}.log-modal{max-width:980px;max-height:88vh}.modal-body{min-height:0;margin-top:.65rem;overflow:auto}.modal-body h3{margin:.75rem 0 .35rem;font-size:.88rem}.modal-body .log-pre{max-height:220px}.tabs{gap:.4rem;margin-bottom:.8rem;display:flex}.tab{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.45rem .8rem}.tab.on{background:var(--teal);color:#fff;border-color:var(--teal)}.footer{text-align:center;color:var(--muted);flex-shrink:0;margin-top:0;padding:1rem 0 1.1rem;font-size:.78rem}.footer a{color:var(--muted)}.footer a:hover{color:var(--teal)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.panel-shell{background:var(--bg);height:100vh;min-height:100vh;display:flex;overflow:hidden}.panel-side{color:#fff;background:radial-gradient(420px 180px at 0 0,#f6692438,#0000 60%),linear-gradient(#041c42 0%,#062657 58%,#071f46 100%);border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:.35rem;width:272px;height:100vh;padding:1.15rem .85rem 1rem;transition:width .18s;display:flex;position:sticky;top:0;overflow:auto}.side-top{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:.35rem;margin-bottom:.2rem;padding-bottom:.55rem;display:flex}.side-brand{flex:1;align-items:center;gap:.75rem;min-width:0;margin:0;padding:.35rem .2rem .2rem;display:flex;color:#fff!important}.side-toggle{color:#ffffffd1;cursor:pointer;background:#ffffff14;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;margin-top:.4rem;display:grid}.side-toggle svg{width:16px;height:16px}.side-toggle:hover{color:#fff;background:#f6692461}.side-mark{color:#fff;background:linear-gradient(145deg,#f66924,#ff8a3d);border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:1.15rem;font-weight:800;display:grid;box-shadow:0 8px 16px #f6692459}.side-brand-text{flex-direction:column;line-height:1.15;display:flex}.side-brand-text strong{letter-spacing:.12em;font-size:.95rem;font-style:normal}.side-brand-text em{color:#ffc4a0;margin-top:.18rem;font-size:.72rem;font-style:normal;font-weight:500}.side-nav{flex-direction:column;gap:.15rem;display:flex}.side-group{flex-direction:column;gap:.12rem;display:flex}.side-label{letter-spacing:.14em;text-transform:uppercase;color:#ffe8d66b;margin:.85rem .7rem .28rem;font-size:.66rem;font-weight:700}.side-group:first-child .side-label{margin-top:.25rem}.side-link{border-radius:11px;align-items:center;gap:.65rem;padding:.58rem .7rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s;display:flex;color:#ffffffc7!important}.side-link:hover{background:#ffffff12;color:#fff!important}.side-link.on{background:#f6692433;box-shadow:inset 0 0 0 1px #f6692473;color:#fff!important}.nav-ico{opacity:.8;flex-shrink:0;width:18px;height:18px}.side-link.on .nav-ico{color:#ff8a3d;opacity:1}.panel-user{border-top:1px solid #ffffff14;align-items:center;gap:.65rem;margin-top:auto;padding:.9rem .45rem 0;display:flex}.avatar{color:#ffc4a0;background:#f6692438;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.92rem;font-weight:800;display:grid}.panel-user-meta{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.panel-user-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.panel-user-meta em{color:#ffe8d68c;font-size:.7rem;font-style:normal}.side-logout{color:#ffffffb3;cursor:pointer;background:0 0;border:0;padding:.3rem .35rem;font-size:.78rem;font-weight:700}.side-logout:hover{color:#ffc4a0}.side-collapsed .panel-side{width:76px;padding:.9rem .42rem .8rem;overflow-x:hidden}.side-collapsed .side-top{flex-direction:column;align-items:center}.side-collapsed .side-brand{justify-content:center;padding:.15rem 0}.side-collapsed .side-brand-text,.side-collapsed .side-label,.side-collapsed .side-link span,.side-collapsed .panel-user-meta{display:none}.side-collapsed .side-link{justify-content:center;padding:.62rem .35rem}.side-collapsed .side-toggle{margin:.2rem 0 0}.side-collapsed .panel-user{flex-direction:column;gap:.4rem;padding:.75rem .1rem 0}.side-collapsed .side-logout{padding:0;font-size:.68rem}.panel-main{flex-direction:column;flex:1;min-width:0;min-height:0;padding:1.2rem 1.4rem 0;display:flex;overflow:hidden}.panel-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.panel-view:has(.fill-page){overflow:hidden}.panel-view>.fill-page{flex:1;width:100%;min-height:0}.panel-main .page{max-width:none;padding:0}.fill-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.fill-page>.card{flex-direction:column;flex:1;min-height:0;padding:1rem 1.1rem;display:flex;overflow:hidden}.fill-page .table-scroll,.fill-split .table-scroll{flex:1;height:auto;min-height:0;margin-top:0}.fill-split{flex:1;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem;min-height:0;display:grid;overflow:hidden}.fill-split>*{min-height:0}.fill-page .scene-grid{flex:1;min-height:0;overflow:auto}.panel-login{background:radial-gradient(900px 320px at 85% 10%,#f669248c,#0000 50%),linear-gradient(145deg,#041c42,#062657);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{width:100%;max-width:420px;padding:1.6rem 1.5rem 1.7rem}.login-brand{align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.login-brand strong{letter-spacing:.12em;color:var(--navy);display:block}.login-brand span{color:var(--muted);font-size:.85rem}.page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.8rem;margin-bottom:.9rem;padding-bottom:.7rem;display:flex}.page-head h1{letter-spacing:-.02em;color:var(--navy);margin:.1rem 0 .15rem;font-size:1.2rem}.page-head .muted{max-width:40rem;margin:0;font-size:.82rem}.page-head-actions{flex-wrap:wrap;gap:.55rem;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0;font-size:.72rem;font-weight:800}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem;display:grid}.stat-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:1.05rem 1.1rem 1.1rem;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--teal);width:3px;position:absolute;top:0;bottom:0;left:0}.stat-card.tone-navy:before{background:var(--navy)}.stat-card.tone-danger:before{background:var(--danger)}.stat-card.tone-ok:before{background:var(--ok)}.stat-label{color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.stat-num{letter-spacing:-.04em;color:var(--navy);margin:.35rem 0 .15rem;font-size:1.85rem;font-weight:800;line-height:1.1}.stat-hint{color:var(--muted);margin:0;font-size:.75rem}.quick-section{margin-top:1.6rem}.quick-section h2{color:var(--navy);margin:0 0 .8rem;font-size:1.05rem}.quick-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;display:grid}.quick-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;flex-direction:column;gap:.35rem;padding:1.05rem 1.1rem;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;color:var(--ink)!important}.quick-card:hover{border-color:#f3c7aa;transform:translateY(-2px);box-shadow:0 14px 28px #f669241a}.quick-card strong{font-size:.98rem}.quick-card span{color:var(--muted);font-size:.85rem;line-height:1.4}.pill-danger{color:#991b1b;background:#fee2e2}.table th.has-tip{overflow:visible}.table td:has(.has-tip){overflow:visible}.table tbody tr:has(.has-tip:hover){z-index:8;position:relative}.has-tip{cursor:help;position:relative}.has-tip:after{content:attr(data-tip);z-index:20;color:#fff;letter-spacing:0;white-space:normal;opacity:0;pointer-events:none;background:#062657;border-radius:8px;width:max-content;max-width:min(18rem,70vw);padding:.4rem .55rem;font-size:.72rem;font-weight:600;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;top:auto;bottom:calc(100% + 7px);left:0;transform:translateY(4px);box-shadow:0 8px 18px #06265747}.table thead .has-tip:after{top:calc(100% + 7px);bottom:auto;transform:translateY(-4px)}.has-tip:hover:after,.table thead .has-tip:hover:after{opacity:1;transform:none}.click-row{cursor:pointer}.click-row:hover td{background:var(--soft)}.log-pre{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0b1220;border-radius:10px;min-height:120px;max-height:420px;margin:0;padding:1rem;font-size:.82rem;line-height:1.45;overflow:auto}@media (width<=860px){.panel-shell{flex-direction:column;height:auto;min-height:100vh;overflow:visible}:is(.panel-main,.panel-view,.panel-view:has(.fill-page)){height:auto;overflow:auto}.fill-page,.fill-page>.card{height:auto;min-height:0;overflow:visible}.fill-split{grid-template-columns:1fr;min-height:0;overflow:visible}.table-scroll,.fill-page .table-scroll,.fill-split .table-scroll{height:min(70vh,36rem);min-height:16rem}.panel-side{z-index:20;width:100%;height:auto;padding:.75rem .8rem .65rem;position:sticky;top:0}.side-top{align-items:center;margin-bottom:0;padding-bottom:.35rem}.side-brand{padding:0}.side-toggle{margin-top:0}.side-nav{flex-direction:row;gap:.35rem;padding-bottom:.15rem;overflow-x:auto}.side-group{flex-direction:row;gap:.35rem}.side-label{display:none}.side-link{white-space:nowrap}.panel-user{display:none}.side-collapsed .panel-side{width:100%;padding:.75rem .8rem .65rem;overflow:visible}.side-collapsed .side-top{flex-direction:row;align-items:center}.side-collapsed .side-brand{justify-content:flex-start}.side-collapsed .side-brand-text{display:flex}.side-collapsed .side-nav{display:none}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{flex:8rem}}.dp{position:relative}.dp-field{border:1px solid var(--line);cursor:pointer;width:100%;color:var(--muted);text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .75rem;font-weight:600;display:flex}.dp-field.filled{color:var(--ink)}.dp-field.on{border-color:var(--teal);box-shadow:0 0 0 3px #f669242e}.dp-ico{color:var(--teal);place-items:center;display:grid}.dp-pop{z-index:30;border:1px solid var(--line);background:#fff;border-radius:16px;width:min(100%,340px);padding:.7rem;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 40px #0b3b4a29}.dp-bar{align-items:center;gap:.4rem;margin-bottom:.55rem;display:flex}.dp-bar select{border-radius:8px;flex:1;padding:.4rem .45rem;font-weight:700}.dp-nav{border:1px solid var(--line);cursor:pointer;background:#fff6f0;border-radius:8px;width:2rem;height:2rem;font-size:1.1rem}.dp-nav:hover{border-color:var(--teal);color:var(--teal)}.dp-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.dp-dow{margin-bottom:.25rem}.dp-dow span{text-align:center;color:var(--muted);padding:.2rem 0;font-size:.72rem;font-weight:700}.dp-day{aspect-ratio:1;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:10px;font-weight:700}.dp-day:hover:not(:disabled):not(.on){background:var(--soft);color:var(--teal)}.dp-day.on{background:var(--teal);color:#fff}.dp-day.empty,.dp-day:disabled{cursor:default;background:0 0}
