:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f7f8fa;--border:#e7e9ee;--border-strong:#dcdfe6;--text:#11131a;--text-mut:#5a6472;--text-faint:#98a1b0;--accent:#4f46e5;--accent-2:#6366f1;--accent-soft:#eef0ff;--pos:#0f9d6b;--neg:#e5484d;--warn:#d18016;--font-sans:"Geist",-apple-system,system-ui,sans-serif;--mono:"Geist Mono","SF Mono",ui-monospace,monospace;--radius:14px;--radius-sm:10px;--pad:18px;--gap:16px;--shadow:0 1px 2px rgba(17,19,26,.04),0 4px 12px rgba(17,19,26,.04);--shadow-sm:0 1px 2px rgba(17,19,26,.05)}[data-theme=dark]{--bg:#0a0b0f;--surface:#101218;--surface-2:#161922;--border:#23262f;--border-strong:#2c3039;--text:#f2f4f8;--text-mut:#9aa3b3;--text-faint:#646d7d;--accent-soft:#1c1d34;--pos:#2bbd85;--neg:#ff6166;--warn:#e9a13b;--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.35);--shadow-sm:0 1px 2px rgba(0,0,0,.35)}[data-variant=b]{--radius:7px;--radius-sm:6px;--pad:14px;--gap:11px;--shadow:none;--shadow-sm:none;--border:var(--border-strong)}body{background:#f5f6f8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@keyframes ccpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.82)}}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-skel{display:inline-block;vertical-align:middle;background:linear-gradient(90deg,var(--surface-2) 25%,color-mix(in srgb,var(--border) 70%,var(--surface-2)) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:ui-shimmer 1.3s ease-in-out infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;border:1px solid transparent;font-family:inherit;font-size:12.5px;font-weight:550;line-height:1;cursor:pointer;transition:background .14s,color .14s,border-color .14s,box-shadow .14s,opacity .14s;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-variant=b] .ui-btn{border-radius:var(--radius-sm)}.ui-btn--sm{height:30px;padding:0 11px;font-size:12px}.ui-btn--full{width:100%}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}.ui-btn--primary:hover:not(:disabled){filter:brightness(1.05)}.ui-btn--secondary{background:var(--surface);color:var(--text-mut);border-color:var(--border)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.ui-btn--ghost{background:transparent;color:var(--text-mut)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.ui-btn--danger{background:var(--neg);color:#fff}.ui-btn--danger:hover:not(:disabled){filter:brightness(1.05)}.ui-spinner{width:14px;height:14px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:ui-spin .6s linear infinite}.ui-iconbtn{position:relative;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-mut);transition:all .14s}[data-variant=b] .ui-iconbtn{border-radius:var(--radius-sm)}.ui-iconbtn:hover{color:var(--text);border-color:var(--border-strong)}.ui-iconbtn--active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft)}.ui-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;font-weight:550;padding:2px 9px;border-radius:20px}.ui-badge__dot{width:5px;height:5px;border-radius:50%;background:currentColor}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--pad)}.ui-seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px}[data-variant=b] .ui-seg{border-radius:var(--radius-sm)}.ui-seg__item{border:none;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:550;padding:4px 11px;border-radius:6px;transition:all .14s;background:transparent;color:var(--text-mut)}.ui-seg__item:hover{color:var(--text)}.ui-seg__item--active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}.ui-dd{position:relative;display:inline-block}.ui-dd__trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 11px;min-width:150px;border:1px solid var(--border);background:var(--surface);border-radius:9px;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--text);transition:all .14s}[data-variant=b] .ui-dd__trigger{border-radius:var(--radius-sm)}.ui-dd__trigger:hover{border-color:var(--border-strong)}.ui-dd__trigger[aria-disabled=true]{opacity:.55;cursor:not-allowed}.ui-dd__value{flex:1 1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-dd__value--placeholder{color:var(--text-faint)}.ui-dd__menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;min-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:5px;display:flex;flex-direction:column;gap:1px;max-height:280px;overflow:auto;animation:ui-toast-in .12s ease}.ui-dd__search{display:flex;align-items:center;gap:7px;padding:6px 8px;margin-bottom:4px;border-bottom:1px solid var(--border)}.ui-dd__search input{flex:1 1;border:none;outline:none;font-family:inherit;color:var(--text)}.ui-dd__opt,.ui-dd__search input{background:transparent;font-size:12.5px}.ui-dd__opt{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;cursor:pointer;color:var(--text-mut);border:none;text-align:left;width:100%}.ui-dd__opt:hover{background:var(--surface-2);color:var(--text)}.ui-dd__opt--selected{color:var(--accent);background:var(--accent-soft);font-weight:550}.ui-dd__empty{padding:10px;text-align:center;font-size:12px;color:var(--text-faint)}.ui-table{display:flex;flex-direction:column;width:100%}.ui-table__head{display:grid;grid-gap:12px;gap:12px;padding:0 6px 9px;border-bottom:1px solid var(--border)}.ui-table__h{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.ui-table__row{display:grid;grid-gap:12px;gap:12px;align-items:center;padding:11px 6px;border-bottom:1px solid var(--border);transition:background .12s}.ui-table__row--click{cursor:pointer}.ui-table__row:hover{background:var(--surface-2)}.ui-table__c{font-size:12.5px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-table__empty{padding:28px 0;text-align:center;font-size:12.5px;color:var(--text-faint)}.ui-input,.ui-select{height:38px;padding:0 12px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:13px;width:100%;outline:none;transition:border-color .14s}.ui-select{padding-right:8px;cursor:pointer}.ui-input:focus,.ui-select:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.ui-input::placeholder{color:var(--text-faint)}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-field__labelrow{display:flex;align-items:center;justify-content:space-between;gap:8px}.ui-field__label{font-size:11.5px;font-weight:600;color:var(--text-mut)}.ui-field__req{color:var(--neg);margin-left:1px;font-weight:700}.ui-field__hint{font-weight:400;color:var(--text-faint)}.ui-field__info{position:relative;display:inline-flex}.ui-field__infobtn{width:18px;height:18px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.ui-field__infobtn:hover{color:var(--accent)}.ui-field__pop{position:absolute;right:0;top:22px;z-index:60;width:210px;background:var(--text);color:var(--surface);font-size:11px;line-height:1.45;padding:8px 10px;border-radius:8px;box-shadow:var(--shadow);font-weight:400}.ui-field__err{font-size:11px;color:var(--neg)}.ui-field--error .ui-input,.ui-field--error .ui-input:focus,.ui-field--error .ui-select,.ui-field--error .ui-select:focus{border-color:var(--neg)}.ui-overlay{position:fixed;inset:0;background:rgba(17,19,26,.42);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;animation:ui-fade .14s ease}[data-theme=dark] .ui-overlay{background:rgba(0,0,0,.6)}.ui-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.28);width:100%;display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:ui-modal-in .16s ease}.ui-modal__head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--border)}.ui-modal__title{font-size:14px;font-weight:600;letter-spacing:-.01em}.ui-modal__close{width:28px;height:28px;border:1px solid var(--border);background:var(--surface-2);border-radius:7px;color:var(--text-mut);cursor:pointer;display:flex;align-items:center;justify-content:center}.ui-modal__close:hover{color:var(--text)}.ui-modal__body{padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.ui-modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--border)}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.ui-toast-wrap{position:fixed;z-index:1000;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;max-width:380px}.ui-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);animation:ui-toast-in .16s ease;color:var(--text)}.ui-toast__bar{width:3px;align-self:stretch;border-radius:3px;flex:0 0 3px}.ui-toast__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.ui-toast__title{font-size:12.5px;font-weight:600}.ui-toast__msg{font-size:11.5px;color:var(--text-mut);word-break:break-word}.ui-toast__detail{font-family:var(--mono);font-size:10.5px;color:var(--text-faint);margin-top:3px;white-space:pre-wrap}.ui-toast__close{border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:2px;line-height:0}:root{--phone-max:480px;--nav-h:60px;--topbar-h:54px}body,html{margin:0;padding:0;background:var(--bg,#eef0f3);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}.sw-frame{position:relative;width:100%;max-width:var(--phone-max);margin:0 auto;min-height:100dvh;background:var(--bg,#f6f7f9);display:flex;flex-direction:column}@media (min-width:520px){body{padding:0}.sw-frame{border-left:1px solid var(--border);border-right:1px solid var(--border);box-shadow:0 0 60px rgba(0,0,0,.06)}}.sw-scroll{overflow-y:auto;padding:14px 14px calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);gap:14px}.sw-auth,.sw-scroll{flex:1 1;display:flex;flex-direction:column}.sw-auth{justify-content:center;padding:24px 18px calc(env(safe-area-inset-bottom) + 24px);gap:16px}.sw-section{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin:2px 2px -4px}.sw-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.sw-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border)}.sw-row:first-child{border-top:none}.sw-scroll::-webkit-scrollbar{width:0;height:0}