:root{box-sizing:border-box;color-scheme:dark;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--bg:#0b1715;--card:#122220;--ink:#eef5f4;--soft:#a8bfbb;--faint:#7d9793;--line:#1f3430;--sbar:#081210;--sbar-line:#132a26;--sbar-text:#a8bfbb;--sbar-active:#16302c;--accent:#0d9488;--accent-hi:#14b8a6;--accent-deep:#5eead4;--mint:#10302c;--mint-bd:#1d5049;--green:#4ade80;--green-soft:#10301f;--amber:#fbbf24;--amber-soft:#3a2d10;--red:#fb7185;--red-soft:#3d1c22;--blue:#7dd3fc;--blue-soft:#102a38;--gray-soft:#16302c;--shadow:0 2px 10px rgba(0,0,0,.45);--sbar-ink:#eef5f4;--sbar-sub:#7d9793;--sbar-hover:rgba(45,212,191,.08);--ind:#14b8a6;--btn-ink:#04201c;--btn-hover:#14b8a6;--seg-on:#1d3b36;--step-ink:#04201c;--toast-bg:#122220;--toast-bd:#1f3430;--toast-ink:#eef5f4;--ch1:#14b8a6;--ch2:#2f6f68;--ch-ok:#4ade80;--ch-warn:#fbbf24;--ch-bad:#fb7185;--ch-long:#5eead4;--r:14px;--rs:9px;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237d9793' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-arrow-focus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2314b8a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--cal-filter:invert(.8) hue-rotate(130deg)}:root[data-theme=light]{color-scheme:light;--bg:#f2f6f6;--card:#ffffff;--ink:#0f2220;--soft:#5b6f6d;--faint:#8ba09d;--line:#e1e9e8;--sbar:#0f2220;--sbar-line:#1d3b36;--sbar-text:#b9cfcb;--sbar-active:#1a332f;--accent:#0f766e;--accent-hi:#0d9488;--accent-deep:#0b5f58;--mint:#e6f2f0;--mint-bd:#bcdcd7;--green:#15803d;--green-soft:#dcfce7;--amber:#b45309;--amber-soft:#fef3c7;--red:#be123c;--red-soft:#fee2e6;--blue:#0369a1;--blue-soft:#e0f2fe;--gray-soft:#f1f5f4;--shadow:0 1px 2px rgba(15,34,32,.05),0 2px 8px rgba(15,34,32,.06);--sbar-ink:#ffffff;--sbar-sub:#8ba09d;--sbar-hover:rgba(255,255,255,.07);--ind:#2dd4bf;--btn-ink:#ffffff;--btn-hover:#0d9488;--seg-on:#ffffff;--step-ink:#ffffff;--toast-bg:#0f2220;--toast-bd:#0f2220;--toast-ink:#ffffff;--ch1:#0f766e;--ch2:#99cdc7;--ch-ok:#15803d;--ch-warn:#d97706;--ch-bad:#be123c;--ch-long:#0d9488;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6f6d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-arrow-focus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f766e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--cal-filter:none}.themebtn{background:none;border:1px solid var(--sbar-line);color:var(--sbar-text);border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.themebtn:hover{background:var(--sbar-hover);color:var(--sbar-ink)}.stat.click{cursor:pointer;transition:transform .12s,border-color .15s}.stat.click:hover{transform:translateY(-2px);border-color:var(--accent-hi)}.stat.click .go{position:absolute;right:14px;top:14px;font-size:12px;color:var(--faint)}html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand-text .t1,.stat .num{font-family:Sora,Inter,sans-serif}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;color:var(--ink);background:var(--card)}a{color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--line);border-radius:99px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--faint)}*::-webkit-scrollbar-corner{background:transparent}::selection{background:var(--mint-bd);color:var(--accent-deep)}:focus-visible{outline:2px solid var(--accent-hi);outline-offset:1px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}textarea{resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px!important;height:15px!important;flex-shrink:0;cursor:pointer;margin:0;padding:0!important;vertical-align:middle}input[type=checkbox]{border-radius:4px}input[type=radio]{border-radius:50%}input[type=date],input[type=time],input[type=datetime-local]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65;filter:var(--cal-filter);transition:opacity .15s ease,transform .12s ease}input[type=date]:hover::-webkit-calendar-picker-indicator,input[type=time]:hover::-webkit-calendar-picker-indicator,input[type=datetime-local]:hover::-webkit-calendar-picker-indicator{opacity:1;transform:scale(1.1)}input[type=file]{font-size:12.5px;color:var(--soft);cursor:pointer}input[type=file]::file-selector-button{font-family:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--gray-soft);color:var(--ink);cursor:pointer;margin-right:12px;transition:background .15s,border-color .15s,color .15s}input[type=file]::file-selector-button:hover{background:var(--mint);border-color:var(--mint-bd);color:var(--accent-deep)}select,.f select,.fld select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-color:var(--card)!important;background-image:var(--select-arrow)!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px 14px!important;padding:8.5px 34px 8.5px 12px!important;border:1px solid var(--line)!important;border-radius:9px!important;color:var(--ink)!important;font-size:13px!important;line-height:normal!important;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-image .15s ease}select::-ms-expand,.f select::-ms-expand,.fld select::-ms-expand{display:none}select:focus,.f select:focus,.fld select:focus{background-image:var(--select-arrow-focus)!important;border-color:var(--accent-hi)!important;box-shadow:0 0 0 3px #2dd4bf40!important;outline:none!important}select:disabled,.f select:disabled,.fld select:disabled{opacity:.55!important;cursor:not-allowed!important;background-color:var(--gray-soft)!important}select option,.f select option,.fld select option{background-color:#122220;color:#eef5f4;padding:10px 14px}:root[data-theme=light] select option,:root[data-theme=light] .f select option,:root[data-theme=light] .fld select option{background-color:#fff;color:#0f2220}select optgroup,.f select optgroup,.fld select optgroup{background-color:#122220;color:var(--soft);font-weight:700}:root[data-theme=light] select optgroup,:root[data-theme=light] .f select optgroup,:root[data-theme=light] .fld select optgroup{background-color:#fff;color:var(--soft)}.cselect{position:relative;width:100%}.cselect-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background-color:var(--card);border:1px solid var(--line);border-radius:9px;padding:8.5px 12px;font-size:13px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;-webkit-user-select:none;user-select:none}.cselect-trigger:hover{border-color:var(--faint)}.cselect.open .cselect-trigger,.cselect-trigger:focus-visible{border-color:var(--accent-hi);box-shadow:0 0 0 3px #2dd4bf40;outline:none}.cselect-trigger[disabled]{opacity:.55;cursor:not-allowed;background-color:var(--gray-soft)}.cselect-arrow{width:15px;height:15px;flex-shrink:0;color:var(--soft);transition:transform .2s ease,color .15s ease}.cselect.open .cselect-arrow{transform:rotate(180deg);color:var(--accent-hi)}.cselect-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:100;background-color:var(--card);border:1px solid var(--mint-bd);border-radius:11px;padding:5px;box-shadow:0 14px 35px -6px #0009,0 2px 8px #0003;max-height:260px;overflow-y:auto;animation:dropIn .15s cubic-bezier(.16,1,.3,1)}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cselect-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8.5px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:background-color .12s ease,color .12s ease}.cselect-option:hover{background-color:var(--mint);color:var(--accent-deep)}.cselect-option.selected{background-color:var(--mint);color:var(--accent-deep);font-weight:600}.cselect-check{width:14px;height:14px;color:var(--accent-hi);flex-shrink:0}.app{display:flex;min-height:100%}.sidebar{width:222px;flex-shrink:0;background:var(--sbar);display:flex;flex-direction:column;padding:18px 12px calc(14px + env(safe-area-inset-bottom,0px));position:sticky;top:env(safe-area-inset-top,0px);height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 22px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#14b8a6,#0f766e);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;box-shadow:0 4px 12px -2px #0f766e73}.brand-text .t1{color:var(--sbar-ink);font-weight:700;font-size:14px;letter-spacing:.2px}.brand-text .t2{color:var(--sbar-sub);font-size:10.5px;margin-top:1px}.nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;font-size:13px;font-weight:500;color:var(--sbar-text);border:none;background:none;text-align:left;width:100%;position:relative;transition:background .18s,color .18s}.nav-item svg{width:17px;height:17px;flex-shrink:0}.nav-item:hover{background:var(--sbar-hover);color:var(--sbar-ink)}.nav-item.active{background:var(--sbar-active);color:var(--sbar-ink)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--ind)}.nav-badge{margin-left:auto;background:#c42b1c;color:#fff;font-size:10px;font-weight:700;border-radius:99px;padding:2px 7px}.sidebar-footer{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px 8px 0;border-top:1px solid var(--sbar-line)}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#14b8a6,#0f766e);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.sidebar-footer .name{color:var(--sbar-ink);font-size:12.5px;font-weight:600}.sidebar-footer .role{color:var(--sbar-sub);font-size:10.5px}.content{flex:1;padding:26px 34px 70px;min-width:0}h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.2px}.sub{margin:4px 0 0;color:var(--soft);font-size:13px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page{display:none}.page.on{display:block;animation:pageIn .28s ease}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.btn{border:none;border-radius:10px;font-size:13px;font-weight:600;padding:9.5px 15px;display:inline-flex;align-items:center;gap:7px;transition:background .15s,transform .12s,box-shadow .15s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--btn-ink);box-shadow:0 1px 3px #0006}.btn-primary:hover{background:var(--btn-hover)}.btn-plain{background:var(--card);border:1px solid var(--line);color:var(--ink)}.btn-plain:hover{border-color:var(--faint)}.btn-red{background:#c42b1c;color:#fff}.btn-ghost{background:none;color:var(--soft)}.btn-sm{padding:6px 11px;font-size:12px;border-radius:8px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat .lab{color:var(--soft);font-size:12px;font-weight:500;display:flex;align-items:center;gap:7px}.stat .ic{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.stat .num{font-size:27px;font-weight:700;margin-top:8px;letter-spacing:-.5px}.stat .hint{font-size:11.5px;color:var(--faint);margin-top:3px}.stat.warn .num{color:var(--amber)}.stat.bad .num{color:var(--red)}.stat.good .num{color:var(--accent-hi)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.card-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}.card-h h2{margin:0;font-size:14.5px;font-weight:700}.card-h .note{font-size:12px;color:var(--faint)}.card-b{padding:16px 18px}.reveal{opacity:0;transform:translateY(10px);animation:rise .5s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:calc(var(--i,0)*70ms)}@keyframes rise{to{opacity:1;transform:none}}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}.f label{display:block;font-size:11px;font-weight:600;color:var(--soft);margin-bottom:5px}.f input,.f select,.fld input,.fld select,.fld textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8.5px 10px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.f input:focus,.f select:focus,.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--accent-hi);box-shadow:0 0 0 3px #2dd4bf40}.chipline{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fchip{background:var(--mint);border:1px solid var(--mint-bd);color:var(--accent-deep);font-size:11.5px;font-weight:600;border-radius:99px;padding:4px 11px;display:inline-flex;gap:6px;align-items:center}.fchip button{background:none;border:none;color:inherit;font-weight:700;padding:0;font-size:12px}.charts{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px;margin:18px 0}.chart-box{height:236px;position:relative}@media (max-width:1100px){.charts{grid-template-columns:1fr}}.alerts{display:flex;flex-direction:column;gap:8px}.alert{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:10px;padding:10px 14px;background:var(--card);font-size:12.5px;transition:transform .15s}.alert:hover{transform:translate(2px)}.alert.expired{border-left-color:var(--red)}.alert .t{font-weight:600}.alert .m{color:var(--soft)}.alert .right{margin-left:auto;display:flex;gap:8px;align-items:center}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}th{text-align:left;font-size:11px;font-weight:600;color:var(--faint);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background .12s}tbody tr:hover{background:var(--gray-soft)}tr.click{cursor:pointer}.cname{font-weight:600;display:flex;align-items:center;gap:9px}.dot{width:30px;height:30px;border-radius:9px;background:var(--mint);color:var(--accent-deep);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:99px;padding:3.5px 10px;white-space:nowrap}.p-green{background:var(--green-soft);color:var(--green)}.p-amber{background:var(--amber-soft);color:var(--amber)}.p-red{background:var(--red-soft);color:var(--red)}.p-blue{background:var(--blue-soft);color:var(--blue)}.p-gray{background:var(--gray-soft);color:var(--soft)}.p-mint{background:var(--mint);color:var(--accent-deep)}.sdot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.phasebar{width:120px}.phasebar .lbl{font-size:11px;color:var(--soft);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.track{height:5px;background:var(--gray-soft);border-radius:99px;overflow:hidden}.track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-hi),var(--accent));border-radius:99px;transition:width .6s cubic-bezier(.2,.7,.3,1)}.legend{display:flex;gap:10px;flex-wrap:wrap}.lchip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:9px 14px;font-size:12.5px;font-weight:600;background:var(--card);cursor:pointer;transition:border-color .15s,transform .12s}.lchip:hover{transform:translateY(-1px)}.lchip.sel{border-color:var(--accent-hi);box-shadow:0 0 0 3px #2dd4bf38}.lchip .n{font-family:Sora;font-size:15px}.back{display:inline-flex;align-items:center;gap:6px;color:var(--soft);background:none;border:none;font-size:12.5px;font-weight:600;padding:0 0 12px}.back:hover{color:var(--accent)}.ptop{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.pavatar{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#14b8a6,#0f766e);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;font-family:Sora}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.tab{background:none;border:none;padding:10px 14px;font-size:13px;font-weight:600;color:var(--soft);border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:900px){.grid2{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:150px 1fr;gap:7px 12px;font-size:13px}.kv b{color:var(--soft);font-weight:500}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fgrid .full{grid-column:1/-1}@media (max-width:700px){.fgrid{grid-template-columns:1fr}}.fld label{display:block;font-size:11.5px;font-weight:600;color:var(--soft);margin-bottom:5px}.stepper{display:flex;flex-direction:column;gap:0}.step{display:flex;gap:12px;position:relative;padding-bottom:16px}.step:before{content:"";position:absolute;left:10px;top:22px;bottom:0;width:2px;background:var(--line)}.step:last-child:before{display:none}.step .b{width:21px;height:21px;border-radius:50%;border:2px solid var(--line);background:var(--card);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--step-ink);z-index:1;transition:background .3s,border-color .3s}.step.done .b{background:var(--accent);border-color:var(--accent)}.step.cur .b{border-color:var(--accent-hi);box-shadow:0 0 0 4px #2dd4bf40}.step .t{font-size:12.5px;font-weight:500;color:var(--faint);padding-top:2px}.step.done .t{color:var(--soft)}.step.cur .t{color:var(--ink);font-weight:700}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.list-row:last-child{border-bottom:none}.tag{background:var(--gray-soft);color:var(--soft);font-size:10.5px;font-weight:600;border-radius:6px;padding:2px 7px;margin-left:6px}.note-item{border:1px solid var(--line);border-radius:10px;padding:10px 13px;margin-bottom:9px;font-size:13px;background:var(--card)}.note-item .meta{color:var(--faint);font-size:11px;margin-top:5px}.add-inline{background:var(--gray-soft);border:1px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:16px}.ggroup{margin-bottom:16px}.ggroup h3{font-size:12px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.6px;margin:0 0 9px}.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:11px}.gfield{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:8px}.gfield>label{font-size:12.5px;font-weight:600;color:var(--ink)}.gline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gline input{flex:1;min-width:110px;border:1px solid var(--line);border-radius:8px;padding:7.5px 10px;font-size:12.5px}.gunit{font-size:11.5px;color:var(--faint)}.seg{display:inline-flex;background:var(--gray-soft);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:none;background:none;color:var(--soft);font-size:12px;font-weight:600;padding:5.5px 12px;border-radius:7px;transition:background .12s,color .12s}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--seg-on);color:var(--ink);box-shadow:0 1px 3px #0000002e}.seg button.on[data-tone=yes]{color:var(--green)}.seg button.on[data-tone=no]{color:var(--red)}.seg button.on[data-tone=na]{color:var(--faint)}.oschips{display:flex;gap:7px;flex-wrap:wrap}.oschip{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:5.5px 13px;font-size:12px;font-weight:600;color:var(--soft);cursor:pointer;transition:all .12s}.oschip.on{background:var(--mint);border-color:var(--mint-bd);color:var(--accent-deep)}.mcard{border:1px solid var(--line);border-radius:13px;margin-bottom:13px;background:var(--bg);overflow:hidden}.mhead{display:grid;grid-template-columns:30px 1.5fr 1fr 1fr 1fr 34px;gap:9px;padding:12px 13px;align-items:end;border-bottom:1px dashed var(--line)}.mhead .mf label{display:block;font-size:10.5px;font-weight:600;color:var(--faint);margin-bottom:4px}.mhead .mf input{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12.5px}.mnum{font-family:Sora;font-weight:700;color:var(--faint);font-size:13px;padding-bottom:8px}.msol{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:9px;padding:12px 13px}.si{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--card);display:flex;flex-direction:column;gap:7px}.si .sl{font-size:11px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.4px}.ssel{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--line);border-radius:8px;padding:6.5px 24px 6.5px 8px;font-size:12px;font-weight:600;background-color:var(--card);background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 7px center;background-size:12px 12px;color:var(--ink);display:block;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-image .15s}.ssel:focus{background-image:var(--select-arrow-focus);outline:none;border-color:var(--accent-hi);box-shadow:0 0 0 3px #2dd4bf40}.ssel.s-yes{color:var(--green);border-color:var(--green)}.ssel.s-no{color:var(--red);border-color:var(--red)}.ssel.s-na{color:var(--faint)}@media (max-width:860px){.mhead{grid-template-columns:26px 1fr 1fr;grid-auto-rows:auto}}.wafeed{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow:auto;padding:4px 2px}.wamsg{max-width:78%;border-radius:12px;padding:8px 12px;font-size:12.5px;line-height:1.5;position:relative}.wamsg.client{align-self:flex-start;background:var(--gray-soft);border:1px solid var(--line)}.wamsg.team{align-self:flex-end;background:var(--mint);border:1px solid var(--mint-bd)}.wamsg .who{font-size:10.5px;font-weight:700;color:var(--accent-deep);margin-bottom:2px}.wamsg.client .who{color:var(--soft)}.wamsg .when{font-size:10px;color:var(--faint);margin-top:3px;text-align:right}.wabadge{font-size:9.5px;font-weight:700;border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:1px}.wabadge.q{background:var(--amber-soft);color:var(--amber)}.wabadge.p{background:var(--blue-soft);color:var(--blue)}.hidden{display:none!important}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60;opacity:0;pointer-events:none;transition:opacity .2s}.ov.open{opacity:1;pointer-events:auto;cursor:pointer}.sheet{cursor:default;background:var(--card);border-radius:16px;width:600px;max-width:100%;max-height:88vh;display:flex;flex-direction:column;transform:scale(.96) translateY(8px);transition:transform .22s cubic-bezier(.2,.7,.3,1);box-shadow:0 24px 60px -12px #00000059}.ov.open .sheet{transform:none}.shead{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.shead h3{margin:0;font-size:15px}.sbody{padding:18px 20px;overflow-y:auto}.sfoot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.x{background:none;border:none;font-size:17px;color:var(--faint)}.toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%,14px);background:var(--toast-bg);border:1px solid var(--toast-bd);color:var(--toast-ink);font-size:13px;font-weight:500;border-radius:10px;padding:11px 18px;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;z-index:99;box-shadow:0 10px 30px -8px #0006}.toast.show{opacity:1;transform:translate(-50%)}.recips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.recip{background:var(--mint);border:1px solid var(--mint-bd);color:var(--accent-deep);border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex;gap:7px;align-items:center}.recip button{background:none;border:none;color:inherit;padding:0;font-weight:700}.mono{background:var(--gray-soft);border-radius:6px;padding:2px 7px;font-size:12px}.report-box{border:1px solid var(--line);border-radius:12px;padding:16px;font-size:12.5px;white-space:pre-wrap;background:var(--gray-soft);max-height:420px;overflow:auto;line-height:1.55}.empty{color:var(--faint);font-size:12.5px;padding:14px 0;text-align:center}.tsw{display:flex;gap:6px}.tswb{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--soft)}.tswb.on{background:var(--mint);border-color:var(--mint-bd);color:var(--accent-deep);font-weight:600}.login{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:120;display:flex;align-items:center;justify-content:center;padding:20px}.login.hidden{display:none}.lcard{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);width:420px;max-width:100%;padding:28px 26px}.lcard h2{margin:14px 0 4px;font-size:19px;font-family:Sora}.lcard .fld{margin-top:12px}.lerr{color:var(--red);font-size:12.5px;margin-top:10px;min-height:16px}.demo{background:var(--amber-soft);color:var(--amber);border-radius:9px;padding:9px 12px;font-size:12px;margin-top:12px;line-height:1.5}.otp{letter-spacing:8px;font-size:20px!important;text-align:center;font-family:Sora}.meet{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:11px;background:var(--card)}.meet .mh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.meet .rc{white-space:pre-wrap;font-size:13px;line-height:1.55;margin-top:9px}.meet .ai{white-space:pre-wrap;font-size:12.5px;line-height:1.5;margin-top:8px;padding:8px 11px;border-radius:9px;background:var(--gray-soft)}.step .h{font-size:11px;color:var(--faint);margin-top:2px}.step .h.warn{color:var(--amber);font-weight:600}.step .mk{margin-left:auto;font-size:10.5px}.tsec{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--bg)}.tsec input:not([type=checkbox]):not([type=radio]),.tsec textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px}.tsec textarea{font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.5;margin-top:8px}.gap-q-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease}.gap-q-row:hover{background:var(--gray-soft)}.gap-q-row:last-child{border-bottom:none}.chk{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.chk:last-child{border-bottom:none}.money{font-variant-numeric:tabular-nums;white-space:nowrap}tfoot td{font-weight:700;border-top:2px solid var(--line)}.soon{opacity:.6}@media (max-width:840px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:10px 12px;overflow-x:auto}.brand{padding:0 10px 0 4px}.nav{flex-direction:row}.nav-item{white-space:nowrap}.sidebar-footer{display:none}.content{padding:20px 16px 60px}}@media (prefers-reduced-motion: reduce){*,.reveal,.page.on{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}.gtiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.gtier{position:relative;text-align:left;background:var(--gray-soft);border:2px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;color:var(--ink)}.gtier.on{border-color:var(--accent);background:var(--mint)}.gtier .n{font-size:12px;font-weight:700;color:var(--accent)}.gtier .t{font-size:15px;font-weight:700;margin:4px 0 2px}.gtier .r{font-size:12.5px;color:var(--soft)}.gtier .d{font-size:12px;color:var(--faint);margin-top:8px}.gtier .chk{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px}.gtier.on .chk{background:var(--accent);border-color:var(--accent);color:var(--btn-ink)}.spinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;vertical-align:-2px;animation:spin .7s linear infinite;flex-shrink:0}.btn-sm .spinner{width:11px;height:11px;border-width:1.75px}@keyframes spin{to{transform:rotate(360deg)}}.btn:disabled{cursor:not-allowed;opacity:.55}.btn:disabled:active{transform:none}.btn.is-loading,.btn.is-loading:disabled{cursor:progress;opacity:.8}.pill:disabled{cursor:default}.pill.is-loading{cursor:progress;opacity:.75}.activity-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:100000;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .2s}.activity-bar.on{opacity:1}.activity-bar:before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(90deg,transparent,var(--accent-hi),transparent);animation:activity 1.1s ease-in-out infinite}@keyframes activity{to{left:100%}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.8s}.activity-bar:before{animation:none;left:0;width:100%;opacity:.6}}.pdf-frame{width:100%;height:min(72vh,900px);border:1px solid var(--line);border-radius:10px;background:#fff}.row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.toasts{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:100001;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;max-width:calc(100vw - 32px)}.toast-item{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:260px;max-width:420px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--accent-hi);border-radius:11px;padding:11px 12px 11px 13px;font-size:13px;box-shadow:0 14px 35px -8px #00000073,0 2px 8px #00000026;animation:toastIn .22s cubic-bezier(.16,1,.3,1)}.toast-item.success{border-left-color:var(--green)}.toast-item.error{border-left-color:var(--red)}.toast-ic{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;background:var(--mint);color:var(--accent-deep)}.toast-item.success .toast-ic{background:var(--green-soft);color:var(--green)}.toast-item.error .toast-ic{background:var(--red-soft);color:var(--red)}.toast-text{flex:1;line-height:1.4}.toast-x{background:none;border:none;color:var(--faint);font-size:12px;padding:2px 4px;border-radius:6px}.toast-x:hover{color:var(--ink);background:var(--gray-soft)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.confirm-ov{z-index:100000}.confirm-sheet{width:440px}.confirm-body{display:flex;gap:14px;padding:22px 22px 18px}.confirm-body h3{margin:2px 0 6px;font-size:15.5px}.confirm-body p{margin:0;color:var(--soft);font-size:13px;line-height:1.5}.confirm-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;background:var(--mint);color:var(--accent-deep)}.confirm-icon.danger{background:var(--red-soft);color:var(--red)}@media (max-width:520px){.toasts{left:16px;right:16px;align-items:stretch}.toast-item{max-width:none;min-width:0}}@media (prefers-reduced-motion:reduce){.toast-item{animation:none}}.combo-input{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.combo-input:focus{border-color:var(--accent-hi);box-shadow:0 0 0 3px #2dd4bf40}.combo-menu{max-height:280px}.combo-option{align-items:flex-start}.combo-option.active{background-color:var(--mint);color:var(--accent-deep)}.combo-name{display:flex;flex-direction:column;gap:2px;min-width:0}.combo-cat{font-size:10.5px;font-weight:600;color:var(--faint)}.combo-price{font-size:12px;font-weight:600;color:var(--soft);white-space:nowrap}.combo-option.active .combo-price{color:var(--accent-deep)}.combo-empty{padding:10px 12px;font-size:12.5px;color:var(--faint)}.evidence-list{width:100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.evidence-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:11.5px;line-height:1.3;background:var(--card)}.evidence-ic{font-size:12px;flex-shrink:0}.evidence-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.evidence-date{color:var(--soft);white-space:nowrap}.evidence-chip .tag{margin-left:0}.evidence-x{color:var(--red);padding:0 4px;min-height:0;line-height:1}
