:root{--bg:#f5f4f6;--surface:#fff;--surface-2:#f0eff1;--text:#1a1a1a;--text-2:#5c5c60;--text-3:#8e8e92;--border:#ececed;--border-2:#dcdce0;--accent:#ff620a;--accent-bg:#fff0e6;--accent-2:#e0550a;--dark:#1a1a1a;--ok-bg:#e1f5ee;--ok-text:#0f6e56}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}.center .card{max-width:400px;width:100%;box-shadow:0 18px 50px rgba(30,28,40,.12)}.brandbar{background:var(--dark);color:#fff;padding:16px 22px;font-weight:600;display:flex;align-items:center;gap:12px}.bb-logo{width:34px;height:34px;border-radius:7px;object-fit:contain;flex-shrink:0}.brandbar small{display:block;font-size:11px;color:#9c98c4;letter-spacing:1.5px;text-transform:uppercase;font-weight:400;margin-top:2px}.pad{padding:22px}h1{font-size:21px;margin:0 0 4px}.sub{font-size:13.5px;margin:0 0 18px}.sub,label{color:var(--text-2)}label{display:block;font-size:12.5px;font-weight:600;margin:0 0 6px}input{width:100%;height:42px;border:1px solid var(--border-2);border-radius:10px;padding:0 12px;font-size:14.5px;margin-bottom:14px;font-family:inherit;background:#fff}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.center button.primary{width:100%;height:46px;border:1px solid #1a1a1a;background:#1a1a1a;color:#fff;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.center button.primary:hover{background:#000}.center button.primary:disabled{opacity:.6;cursor:default}.err{background:#fcebeb;color:#a32d2d;font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:14px}.layout{min-height:100vh}.topbar{background:var(--dark);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.topbar b{font-weight:600}.topbar a{color:#cfcde6;font-size:13px;text-decoration:none}.topbar a:hover{color:#fff}.content{padding:24px;max-width:1000px;margin:0 auto}.section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:18px}.section h2{font-size:16px;margin:0 0 12px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);padding:8px 10px}td,th{border-bottom:1px solid var(--border)}td{padding:9px 10px}tr:last-child td{border-bottom:none}.muted{color:var(--text-2)}.app{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;background:#1a1a1a;color:#cfcfd2;padding:18px 12px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{color:#fff;font-weight:600;padding:6px 12px 16px;border-bottom:1px solid #34334a;margin-bottom:6px}.brand small{display:block;font-size:11px;color:#9c98c4;letter-spacing:1.5px;text-transform:uppercase;font-weight:400;margin-top:2px}.nav-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:#cfcfd2;padding:10px 12px;border-radius:10px;font-size:14px;cursor:pointer;font-family:inherit}.nav-item:hover{background:#2a2a2c}.nav-item.active{background:#fff;color:#1a1a1a;font-weight:600}.nav-logout{margin-top:auto;color:#9c98c4;font-size:13px;padding:10px 12px;text-decoration:none}.nav-logout:hover{color:#fff}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.panel-topbar{height:54px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;padding:0 26px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.main .content{padding:26px;max-width:1240px;margin:0}.page-title{font-size:21px;margin:0 0 20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.grid2max{grid-template-columns:repeat(2,1fr);grid-gap:12px;max-width:560px}.grid2max,.grid4{display:grid;gap:12px}.grid4{grid-template-columns:repeat(4,1fr);grid-gap:12px}.scan-wrap{display:grid;grid-template-columns:1.1fr minmax(300px,420px);grid-gap:20px;gap:20px;align-items:start}@media(max-width:860px){.scan-wrap{grid-template-columns:1fr}}.scanner{background:#15141c;border-radius:14px;padding:16px;color:#cfcde6}.scanner #reader{border-radius:10px;overflow:hidden}.scanner .hint{font-size:12.5px;color:#807ca6;text-align:center;margin-top:10px}.scan-result .empty-state{border:1.5px dashed var(--border-2);border-radius:14px;padding:48px 24px;text-align:center;color:var(--text-3)}.scan-result .empty-state .big{font-size:30px;margin-bottom:10px}.person-head{gap:13px}.avatar,.person-head{display:flex;align-items:center}.avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-bg);color:var(--accent-2);justify-content:center;font-weight:600;font-size:15px;flex-shrink:0}.pass-card{border:1px solid var(--border);border-radius:16px;padding:15px 16px;margin-bottom:12px;background:var(--surface)}.pass-card.done{border-color:var(--ok-text);background:var(--ok-bg)}.pass-card .pc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pass-card .pc-grp{font-weight:600;font-size:14.5px}.pass-card .pc-meta{font-size:12.5px;color:var(--text-2);margin-top:3px}.big-punch{width:100%;margin-top:13px;justify-content:center;font-size:15px;padding:12px}.scan-success{display:flex;align-items:center;gap:8px;color:var(--ok-text);font-size:13.5px;justify-content:center}.scan-blocked,.scan-success{font-weight:600;margin-top:11px}.scan-blocked{padding:10px 12px;border-radius:10px;background:#fcebeb;border:1px solid #e0b4b4;color:#a32d2d;font-size:13px;line-height:1.4;text-align:center}.sdots{display:inline-flex;gap:5px;vertical-align:middle;margin-left:6px}.sdots i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--accent);display:inline-block}.sdots i.full{background:var(--accent)}.metric{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.metric .label{font-size:12.5px;color:var(--text-2)}.metric .value{font-size:28px;font-weight:600;margin-top:5px;letter-spacing:-.5px}.section-h{font-size:13px;font-weight:600;color:var(--text-2);margin:24px 0 11px}.sec-title{font-size:15px;font-weight:600;margin:0 0 10px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.cards{grid-template-columns:1fr}}.group-card{padding:16px;display:flex;flex-direction:column;height:100%}.gname{font-weight:600;font-size:15.5px;margin-bottom:4px}.gmeta{color:var(--text-2);margin:2px 0}.gmeta,.gmeta2{font-size:12.5px}.gmeta2{margin-bottom:2px}.gfoot,.gmeta2,.gplec{color:var(--text-3)}.gfoot{margin-top:4px;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.gfoot .badge,.gfoot span{white-space:nowrap}.gfoot .badge{flex-shrink:0}.glvl{margin:4px 0}.ginstr{font-size:12.5px;color:var(--text-2);margin:3px 0}.gdiv{border-top:1px solid var(--border);margin:10px 0}.gcount{color:var(--text-2);margin:2px 0}.gspacer{flex:1 1}.gactions{display:flex;gap:8px;margin-top:14px}.gactions .btn{flex:1 1}.gactions .btn,.gjoin{justify-content:center}.gjoin{width:100%;margin-top:10px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px}.badge.lvl{background:var(--accent-bg);color:var(--accent-2)}.badge.ok{background:var(--ok-bg);color:var(--ok-text)}.list{padding:2px 0}.row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.who{font-weight:600;font-size:14px}.row .sub{font-size:12.5px;color:var(--text-2);margin:3px 0 0}.rowchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.chip{display:inline-block;background:var(--accent-bg);color:var(--accent-2);font-size:11px;padding:3px 9px;border-radius:20px}.small{font-size:11.5px}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.pill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok-text)}.pill.off{background:var(--surface-2);color:var(--text-2)}.btn,.pill.off{border:1px solid var(--border-2)}.btn{background:var(--surface);color:var(--text);padding:8px 13px;border-radius:10px;font-size:13.5px;font-weight:500;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:7px}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.primary{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.btn.primary:hover{background:#000}.btn.danger{border-color:#e0b4b4;color:#a32d2d;background:#fff}.btn.danger:hover{background:#fcebeb}.btn.del-solid{background:#571111;border-color:#571111;color:#fff}.btn.del-solid:hover{background:#420c0c;border-color:#420c0c}.btn.sm{padding:5px 10px;font-size:12.5px}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.modal .btn.ghost{border-color:var(--border-2)}.sub-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.sub-head .page-title{margin:0}.actions{display:flex;gap:7px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;align-items:center}.actions .assign-select,.actions .btn.sm{height:32px}.topbar-refresh{margin-left:auto;margin-right:8px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:34px;border:1px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:10px;cursor:pointer;padding:0;flex-shrink:0}.topbar-refresh:hover{background:var(--surface-2)}.topbar-refresh:disabled{cursor:default;opacity:.65}.topbar-refresh svg{width:17px;height:17px;display:block}.topbar-refresh.spin svg{animation:tb-spin .7s linear infinite}@keyframes tb-spin{to{transform:rotate(1turn)}}.topbar-logout{border:1px solid var(--border-2);background:var(--surface);color:var(--text);padding:7px 13px;border-radius:10px;font-size:13px;text-decoration:none}.topbar-logout:hover{background:var(--surface-2)}.brand-logo{display:flex;align-items:center;gap:11px;padding:2px 8px 16px;border-bottom:1px solid #2e2e30;margin-bottom:6px}.brand-logo img{width:34px;height:34px;border-radius:7px;object-fit:cover;flex-shrink:0}.brand-logo .bn{display:flex;flex-direction:column;line-height:1.15}.brand-logo .bn b{color:#fff;font-size:13.5px;font-weight:600}.brand-logo .bn small{font-size:11px;color:#9a9a9e;letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.search{flex:1 1;min-width:220px}.search input{width:100%;height:38px;border:1px solid var(--border-2);border-radius:10px;padding:0 12px;font-size:14px;background:#fff;margin:0;font-family:inherit}.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.fselect{height:38px;border:1px solid var(--border-2);border-radius:10px;background:#fff;padding:0 10px;min-width:170px;font-size:13.5px;font-family:inherit}.overlay{position:fixed;inset:0;background:rgba(30,28,40,.5);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--surface);border-radius:22px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.25)}.modal.wide{max-width:560px}.modal.xwide{max-width:1080px}.modal-tbl-wrap{overflow-x:auto}.chev-btn{border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--text-2);padding:2px 6px;transition:transform .12s}.chev-btn.open{transform:rotate(90deg)}.entry-detail{background:var(--surface-2)}.entry-detail .ed-in{padding:10px 14px}.entry-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border-2);border-radius:999px;padding:3px 10px;font-size:12.5px;margin:3px 6px 3px 0}.entry-chip.act{border-color:var(--accent);color:var(--accent-2);font-weight:600}.modal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-h h3{font-size:17px;margin:0}.modal-b{padding:18px 20px}.modal-f{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.x-btn{border:none;background:transparent;font-size:20px;color:var(--text-3);line-height:1;padding:2px 6px;border-radius:6px;cursor:pointer}.x-btn:hover{background:var(--surface-2);color:var(--text)}.field{margin-bottom:15px}.field input,.field select{height:42px;border-radius:10px}.field .hint{font-size:11.5px;color:var(--text-3);margin-top:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.day-pick{display:flex;gap:7px;flex-wrap:wrap}.day-pick button{width:38px;height:38px;border-radius:50%;border:1px solid var(--border-2);background:#fff;color:var(--text-2);font-weight:600;cursor:pointer;font-family:inherit}.day-pick button.on{background:var(--accent);border-color:var(--accent);color:#fff}.segp{display:flex;gap:8px}.segp button{flex:1 1;height:40px;border:1px solid var(--border-2);background:#fff;border-radius:8px;color:var(--text-2);font-weight:600;cursor:pointer;font-family:inherit}.segp button.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-2)}.check{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:600;font-size:13px;color:var(--text-2)}.check input{width:17px;height:17px;accent-color:var(--accent);margin:0;flex-shrink:0}.chipfield{display:flex;flex-wrap:wrap;gap:7px;border:1px solid var(--border-2);border-radius:8px;padding:8px;min-height:42px;align-items:center}.chipfield select{border:none;height:26px;background:transparent;flex:1 1;min-width:130px;outline:none;margin:0;font-family:inherit}.chip.soft{background:var(--accent-bg);color:var(--accent-2);display:inline-flex;align-items:center;gap:6px}.chip .x{cursor:pointer;opacity:.7;font-weight:700}.chip .x:hover{opacity:1}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#2c2c2a;color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;z-index:60}.att-wrap{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface);margin-top:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.att-scroll{overflow-x:auto}table.att{border-collapse:separate;border-spacing:0;font-size:13px;width:100%}table.att td,table.att th{padding:0;text-align:center;white-space:nowrap}table.att .stick{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;min-width:200px;padding:10px 14px;border-right:1px solid var(--border-2);font-weight:600}table.att thead .stick{font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3)}table.att .yhead,table.att thead .stick{background:var(--surface-2);font-weight:600}table.att .yhead{font-size:12px;padding:6px 0;border-left:1px solid var(--border)}table.att .dcol,table.att .yhead{color:var(--text-2);border-bottom:1px solid var(--border)}table.att .dcol{min-width:54px;font-size:11.5px;padding:8px 0;background:var(--surface-2)}table.att tbody td{min-width:54px;height:46px;border-bottom:1px solid var(--border);border-left:1px solid #f0eee7}table.att tbody tr:hover .stick,table.att tbody tr:hover td{background:#faf9f5}table.att .dcol.next{background:var(--accent-bg);color:var(--accent-2);font-weight:600;box-shadow:inset 0 -3px 0 var(--accent)}table.att tbody td.next{background:rgba(255,98,10,.06)}.mark{width:22px;height:22px;border-radius:50%;border:2px solid #c9c7bd;background:transparent;display:inline-block;cursor:pointer;vertical-align:middle}.mark:hover{border-color:var(--accent)}.mark.present{background:#1a1a1a;border-color:#1a1a1a}.mark.locked{opacity:.4;cursor:default}.tkt{font-size:18px;cursor:pointer;line-height:1;filter:grayscale(1);opacity:.55;transition:all .12s;vertical-align:middle}.tkt:hover{opacity:.85}.tkt.active{filter:none;opacity:1}.att-plus{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--accent);background:var(--accent-bg);color:var(--accent-2);font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;vertical-align:middle}.att-plus:hover{background:var(--accent);color:#fff}.att-legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2)}.att-legend span{display:flex;align-items:center;gap:7px}table.att .dcol.odw{color:var(--text-3);text-decoration:line-through;background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 5px,#ece9e0 5px,#ece9e0 10px)}table.att tbody td.odw{background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.035) 0,rgba(0,0,0,.035) 10px);cursor:not-allowed}.att-odw{color:var(--text-3);opacity:.55;font-size:14px;vertical-align:middle}.mark.absent{border:2px dashed #b6b3a8;background:repeating-linear-gradient(45deg,#f0eee7,#f0eee7 3px,#e4e1d8 0,#e4e1d8 6px)}.mark.absent:hover{border-color:var(--accent)}.tkt-absent{width:24px;height:24px;border-radius:50%;border:2px dashed #b6b3a8;background:repeating-linear-gradient(45deg,#f0eee7,#f0eee7 3px,#e4e1d8 0,#e4e1d8 6px);display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;cursor:pointer;vertical-align:middle;filter:grayscale(1);opacity:.85}.tkt-absent:hover{border-color:var(--accent);opacity:1}.tkt-absent.active{filter:none;opacity:1;background:transparent}.mark.present.absent-came{outline:2px dashed #9a978c;outline-offset:2px}.abst{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 18px 16px;margin-top:18px}.abst-h{font-size:15px;font-weight:700;margin-bottom:3px}.abst-sub{font-size:12.5px;color:var(--text-3);margin-bottom:16px}.abst-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.abst-box{border:1px solid var(--border-2);border-radius:13px;padding:14px 15px}.abst-hd{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;margin-bottom:13px}.abst-dot{width:11px;height:11px;border-radius:50%}.abst-dot.k{background:#d6457a}.abst-dot.m{background:#3f78c4}.abst-count{margin-left:auto;font-size:12px;color:var(--text-3);font-weight:500}.abst-line{display:flex;align-items:center;gap:10px;margin-bottom:11px}.abst-line:last-child{margin-bottom:0}.abst-ln{font-size:12.5px;color:var(--text-2);width:104px;flex-shrink:0}.abst-ln b{color:var(--text);font-weight:700;font-size:14px}.abst-bar{flex:1 1;height:9px;border-radius:6px;background:#f1efe8;overflow:hidden}.abst-bar i{display:block;height:100%;border-radius:6px}.abst-bar i.ok{background:#0f6e56}.abst-bar i.no{background:#c0453a}.abst-bar i.na{background:#b6b3a8}.abst-row{margin-bottom:11px}.abst-row:last-child{margin-bottom:0}.abst-toggle{width:100%;margin:0;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.abst-toggle .abst-ln{width:120px}.abst-chev{flex-shrink:0;display:flex;align-items:center;color:#a7a297;transition:transform .18s}.abst-toggle.open .abst-chev{transform:rotate(180deg)}.abst-names{display:flex;flex-direction:column;gap:2px;margin-top:9px;padding:7px 11px;border:1px solid #9c9789;border-radius:10px;background:#fdfcf9}.abst-name{font-size:12.5px;color:#4a4640;padding:2px 0}.abst-name.empty{color:#a7a297}.ndk-list{display:flex;flex-direction:column}.ndk-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--border);flex-wrap:wrap}.ndk-name{font-size:13.5px}.ndk-sub{font-size:12.5px;color:var(--text-3);margin-top:2px}.ndk-act{display:flex;gap:8px;flex-shrink:0}@media(max-width:560px){.abst-grid{grid-template-columns:1fr}}.subtabs{margin-bottom:16px}.subtab,.subtabs{display:flex;gap:8px}.subtab{border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:8px 14px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;align-items:center}.subtab.on{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.subtab-c{background:var(--surface-2);color:var(--text-2);border-radius:20px;padding:1px 8px;font-size:11.5px}.subtab.on .subtab-c{background:hsla(0,0%,100%,.18);color:#fff}.rowchips .chip.grp{background:var(--accent-bg);color:var(--accent-2)}.assign-block{margin-bottom:6px}.assign-h{display:flex;align-items:center;gap:10px;margin:4px 0 11px;flex-wrap:wrap}.assign-h .cnt{background:var(--accent);color:#fff;font-size:12px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}.assign-h .t{font-size:14px;font-weight:600}.assign-h .desc{font-size:12px;color:var(--text-3)}.assign-card{border:1px solid #f3d9c6;border-radius:20px;background:#fffaf6;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}.assign-card .row{border-bottom-color:#f6e3d5;border-left:3px solid var(--accent)}.assign-select{min-width:0;width:auto;max-width:100%;height:32px;font-size:12.5px;padding:0 9px}.divider-all{font-size:13px;font-weight:600;color:var(--text-2);margin:24px 0 12px}.search{position:relative}.search input{padding-right:32px}.search .clear-x{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-3);font-size:13px;cursor:pointer;padding:3px 6px;border-radius:6px;line-height:1}.search .clear-x:hover{background:var(--surface-2);color:var(--text)}.pill.warn{background:#faeeda;color:#854f0b}.pill.done{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-2)}.pill.cancel{background:#f3dede;color:#571111}.tgl{display:inline-flex;align-items:center;gap:11px;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tgl input{position:absolute;opacity:0;width:0;height:0}.tgl-track{box-sizing:border-box;width:44px;height:24px;border-radius:999px;background:#fff;border:2px solid #111;position:relative;transition:background .22s ease,border-color .22s ease;flex-shrink:0}.tgl-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#111;transition:transform .22s ease,background .22s ease}.tgl input:checked+.tgl-track{background:#111;border-color:#111}.tgl input:checked+.tgl-track .tgl-knob{transform:translateX(20px);background:#fff}.tgl input:focus-visible+.tgl-track{box-shadow:0 0 0 3px rgba(0,0,0,.18)}.tgl-lbl{line-height:1.3}