@charset "UTF-8";:root,[data-theme=dark]{--bg: #0a0e16;--bg-glow-1: rgba(47, 107, 255, .22);--bg-glow-2: rgba(55, 211, 255, .12);--surface: #111827;--surface-2: #171f2e;--surface-3: #1b2433;--field: #1b2433;--field-hover: #202a3b;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #f3f6fc;--text-soft: #c9d2e2;--muted: #8b97ac;--shadow: none;--shadow-lg: 0 24px 60px rgba(0, 0, 0, .45);--glass: linear-gradient(135deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));--scrim: rgba(4, 7, 13, .72)}[data-theme=light]{--bg: #f3f5fa;--bg-glow-1: rgba(47, 107, 255, .13);--bg-glow-2: rgba(55, 211, 255, .1);--surface: #ffffff;--surface-2: #f8faff;--surface-3: #eef2fc;--field: #edf2fc;--field-hover: #e5ecfa;--border: #e2e8f3;--border-strong: #cfd8e8;--text: #17203a;--text-soft: #3c4864;--muted: #77839b;--shadow: 0 1px 2px rgba(16, 24, 40, .06);--shadow-lg: 0 20px 48px rgba(16, 24, 40, .12);--glass: none;--scrim: rgba(23, 32, 58, .42)}:root{--primary: #2f6bff;--primary-hover: #1f57e6;--primary-dark: #1749c9;--primary-soft: rgba(47, 107, 255, .12);--accent: #37d3ff;--success: #22c55e;--success-soft: rgba(34, 197, 94, .14);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .14);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .13);--info: #38bdf8;--brand-gradient: linear-gradient(135deg, #3b7bff, #1749c9);--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--rail-w: 76px;--rail-w-open: 248px;--topbar-h: 68px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}a{color:var(--primary);text-decoration:none}::selection{background:var(--primary-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:3px solid transparent;background-clip:content-box}.h1{font-size:26px;font-weight:700;letter-spacing:-.5px}.h2{font-size:22px;font-weight:700;letter-spacing:-.3px}.h3{font-size:18px;font-weight:700;letter-spacing:-.2px}.h4{font-size:15px;font-weight:600}.metric{font-size:32px;font-weight:800;letter-spacing:-1px;line-height:1.1}.muted{color:var(--muted)}.small{font-size:12.5px}.tiny{font-size:11.5px;font-weight:600;letter-spacing:.2px}.mono{font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center}.row-top{display:flex;align-items:flex-start}.col{display:flex;flex-direction:column}.between{justify-content:space-between}.center{justify-content:center}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.full{width:100%}.hide{display:none!important}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grid{display:grid;gap:16px}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.grid-form{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.grid-panels{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.env-option{align-items:flex-start;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.env-option:hover{border-color:var(--primary)}.env-active{border-color:var(--primary);background:var(--primary-soft)}.span-all{grid-column:1/-1}.card{background:var(--surface);background-image:var(--glass);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px}.card-flush{padding:0;overflow:hidden}.card-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .05s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{border-color:var(--border-strong);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--field)}.btn-ghost{color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--field);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-tracking{background:var(--success-soft);color:var(--success)}.btn-tracking:hover:not(:disabled){background:var(--success);color:#fff}.btn-lg{height:50px;width:100%;font-size:15px}.btn-sm{height:34px;padding:0 12px;font-size:13px}.btn-icon{width:38px;height:38px;padding:0;border-radius:var(--r-sm)}.field{display:flex;flex-direction:column;gap:7px}.label{font-size:12.5px;font-weight:600;color:var(--muted)}.label .req{color:var(--danger)}.input,.select,.textarea{width:100%;min-height:46px;padding:12px 14px;color:var(--text);background:var(--field);border:1px solid transparent;border-radius:var(--r-sm);font-family:inherit;font-size:14px;transition:border-color .15s ease,background-color .15s ease}[data-theme=dark] .input,[data-theme=dark] .select,[data-theme=dark] .textarea{border-color:var(--border)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:hover,.select:hover{background:var(--field-hover)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);background:var(--surface)}.input.invalid,.select.invalid{border-color:var(--danger)}.input:disabled,.select:disabled{opacity:.6;cursor:not-allowed}.textarea{min-height:88px;resize:vertical}.select{appearance:none;padding-right:38px;background-image: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='%238b97ac' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:42px}.input-group .icon-left{position:absolute;left:14px;display:flex;color:var(--muted);pointer-events:none}.input-group .btn-inline{position:absolute;right:6px;height:34px}.error-text{font-size:12px;color:var(--danger)}.help-text{font-size:12px;color:var(--muted)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.dot{width:8px;height:8px;border-radius:50%;flex:none}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{padding:12px 16px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:var(--surface-2)}.table .actions{text-align:right;white-space:nowrap}.table .num{text-align:right;font-variant-numeric:tabular-nums}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand-gradient);color:#fff;font-size:12.5px;font-weight:800;flex:none}.avatar-sm{width:32px;height:32px;font-size:11px}.avatar{position:relative;overflow:hidden}button.avatar{border:0;padding:0;cursor:pointer}button.avatar:disabled{opacity:.6;cursor:progress}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.avatar-lg{width:72px;height:72px;font-size:24px}.logo-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--brand-gradient);color:#fff;font-size:22px;font-weight:900;flex:none}.logo-lg{width:62px;height:62px;border-radius:20px;font-size:31px;box-shadow:0 18px 40px #2f6bff59}.metric-row{display:flex;align-items:center;gap:14px;color:var(--text);transition:border-color .15s ease,transform .12s ease}.metric-row .metric{font-size:26px}.metric-row .h4{line-height:1.25}a.metric-row:hover{border-color:var(--primary);transform:translateY(-2px)}.metric-icon{width:40px;height:40px;border-radius:12px;flex:none}.metric-card{display:flex;flex-direction:column;gap:2px;padding:16px 18px;color:var(--text);transition:border-color .15s ease}.quick{display:flex;align-items:center;gap:14px;color:var(--text);transition:border-color .15s ease,transform .12s ease}.quick:hover{border-color:var(--primary);transform:translateY(-2px)}.quick .logo-mark{width:42px;height:42px;border-radius:13px}.empty{display:grid;place-items:center;gap:10px;padding:56px 24px;text-align:center}.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--field) 25%,var(--field-hover) 50%,var(--field) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.scrim{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:var(--scrim);overflow-y:auto}.dialog{width:100%;max-width:720px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:rise .18s ease-out}.dialog-sm{max-width:440px}.dialog-body{padding:20px}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border);flex-wrap:wrap}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.toasts{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:10px;max-width:min(380px,100vw - 36px)}.toast{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);animation:rise .18s ease-out}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--info)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--border);flex-wrap:wrap}@media (pointer: coarse){.input,.select,.textarea{font-size:16px;min-height:48px}.btn{height:48px}.btn-sm{height:44px;padding:0 14px}.btn-icon{width:44px;height:44px}.switch input{width:20px;height:20px}.table td{padding:16px}.result{padding:14px}}@media (max-width: 699px){.table{min-width:620px}.scrim{padding:0;align-items:stretch}.dialog,.dialog-sm{max-width:100%;min-height:100dvh;border-radius:0;border:none;display:flex;flex-direction:column}.dialog .dialog-body{flex:1 1 auto;overflow-y:auto}.dialog-foot{position:sticky;bottom:0;background:var(--surface);padding-bottom:max(16px,env(safe-area-inset-bottom))}.dialog-foot .btn{flex:1 1 auto}.grid-form{grid-template-columns:1fr}.toasts{right:12px;left:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none}.metric{font-size:26px}.h1{font-size:22px}.h2{font-size:19px}}@media (min-width: 700px) and (max-width: 1023px){.grid-metrics,.grid-form{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1600px){.grid-metrics{grid-template-columns:repeat(4,1fr)}}.picker{position:relative}.picker-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;text-align:left;font:inherit;color:var(--text);background:none;border:none;border-radius:var(--r-sm);cursor:pointer}.picker-item:hover{background:var(--field)}.line{padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.line .input{min-height:38px;padding:8px 10px}.flow{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}.flow li{padding:4px 9px;border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--muted)}.flow li.done{border-color:var(--success);color:var(--success)}.flow li.now{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}.print-box,.done-box{max-width:480px;margin:0 auto;padding:18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.done-box{text-align:left}@media print{.rail,.topbar,.bottombar,.toasts,.btn{display:none!important}.card{border:1px solid #ccc;box-shadow:none}body{background:#fff}}.ico{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ico-sm{width:16px;height:16px}.ico-lg{width:26px;height:26px}.brand-logo{width:52px;height:52px;border-radius:13px;object-fit:contain;background:var(--surface-2);flex:0 0 auto}.auth-page{position:relative;display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px 20px;overflow:hidden;background:var(--bg)}.halo{position:absolute;width:460px;height:460px;border-radius:50%;filter:blur(10px);pointer-events:none}.halo-1{top:-170px;left:-150px;background:radial-gradient(circle,var(--bg-glow-1),transparent 70%)}.halo-2{bottom:-190px;right:-160px;background:radial-gradient(circle,var(--bg-glow-2),transparent 70%)}.theme-toggle{position:absolute;top:16px;right:16px;z-index:2}.auth-card{position:relative;z-index:1;width:100%;max-width:430px;padding:28px 24px;border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.login-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-sm);color:var(--danger);background:var(--danger-soft);border:1px solid rgba(239,68,68,.35)}.sep{margin:26px 0 18px;border:none;border-top:1px solid var(--border)}.section-line{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.section-line:after{content:"";flex:1;height:1px;background:var(--border)}.code-input{font-size:18px;font-weight:700;letter-spacing:.14em;text-align:center}.credential-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--field);border:1px solid var(--border);border-radius:var(--r-sm)}.credential-row.clickable{cursor:pointer;border-style:dashed;border-color:var(--primary)}.credential-row.clickable:hover{background:var(--primary-soft)}.credential-row .strong{font-size:17px;font-weight:700;letter-spacing:.05em;-webkit-user-select:all;user-select:all}@media (min-width: 700px){.auth-card{padding:36px 34px}}.sheet-brand{margin-top:8px;padding-top:12px;border-top:1px solid var(--border);text-align:center}.logo-mark.logo-lg{font-size:24px;letter-spacing:-.5px}.logo-mark{letter-spacing:-.3px}.repair-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.repair-bg .board{position:absolute;top:50%;left:-4%;width:min(720px,62vw);height:min(720px,62vw);transform:translateY(-50%);color:var(--primary);opacity:.1}.repair-bg .board .pulse{color:var(--accent);opacity:.85;stroke-dasharray:26 300;animation:trace-pulse 3.6s linear infinite}.repair-bg .board .pulse path:nth-child(2){animation-delay:-1.2s}.repair-bg .board .pulse path:nth-child(3){animation-delay:-2.4s}@keyframes trace-pulse{0%{stroke-dashoffset:326}to{stroke-dashoffset:0}}.repair-bg .board .chips{opacity:.7}.repair-bg .device{position:absolute;top:50%;right:8%;width:min(230px,20vw);transform:translateY(-50%) rotate(-8deg);color:var(--primary);opacity:.11}.repair-bg .device .screen{opacity:.55}.repair-bg .device .screen-scan{color:var(--accent);opacity:.9;animation:screen-scan 4.2s ease-in-out infinite}@keyframes screen-scan{0%,to{transform:translateY(0);opacity:.25}50%{transform:translateY(152px);opacity:.95}}.repair-bg .gear{position:absolute;color:var(--primary);opacity:.09}.repair-bg .gear-a{top:8%;right:24%;width:148px;height:148px;animation:gear-spin 22s linear infinite}.repair-bg .gear-b{top:21%;right:15%;width:104px;height:104px;animation:gear-spin 15.4s linear infinite reverse}@keyframes gear-spin{to{transform:rotate(360deg)}}.repair-bg .solder{position:absolute;bottom:26%;left:24%;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px 6px var(--accent);opacity:0;animation:solder-flash 5.5s ease-in-out infinite}@keyframes solder-flash{0%,84%,to{opacity:0;transform:scale(.5)}88%{opacity:.5;transform:scale(1.1)}92%{opacity:.18;transform:scale(.9)}96%{opacity:.42;transform:scale(1)}}@media (max-width: 700px){.repair-bg .gear,.repair-bg .solder{display:none}.repair-bg .board{width:130vw;height:130vw;left:-30%;opacity:.07}.repair-bg .device{right:-6%;width:150px;opacity:.08}}@media (prefers-reduced-motion: reduce){.repair-bg .pulse,.repair-bg .screen-scan,.repair-bg .gear,.repair-bg .solder{animation:none}.repair-bg .solder{display:none}.repair-bg .board .pulse{stroke-dasharray:none;opacity:.4}}.input-color{height:42px;padding:4px;cursor:pointer}.preview-doc{border:1px solid var(--border);border-radius:12px;overflow:hidden}.preview-top{color:#fff;font-weight:700;font-size:13px;padding:14px 16px}.preview-body{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface)}.preview-body strong{font-size:18px}.preview-foot{color:#aeb6c2;font-size:11px;text-align:center;padding:7px}
