:root{--primary: #c2410c;--primary-hover: #9a3412;--primary-light: #fff1e6;--accent: #ff7a1a;--bg: #f6f6f4;--panel: #ffffff;--border: #e4e4e0;--border-strong: #d4d4cf;--text: #15171c;--text-secondary: #5e6470;--text-tertiary: #6f7683;--green: #137333;--red: #d93026}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font:13.5px/1.6 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.shell-top{height:56px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:10px;position:fixed;inset:0 0 auto 0;z-index:100}.shell-top .brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}.shell-top .brand img{width:30px;height:30px}.shell-top .brand .divider{width:1px;height:16px;background:var(--border)}.shell-top .brand .product{font-weight:400;font-size:13.5px;color:var(--text-secondary)}.shell-top .spacer{flex:1}.shell-top .who{color:var(--text-secondary)}.lang-switch{display:inline-flex;background:#ecece8;border-radius:999px;padding:3px;gap:2px}.lang-switch button{border:none;background:transparent;color:var(--text-secondary);border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:500;line-height:1.4}.lang-switch button:hover{color:var(--text)}.lang-switch button.active{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 2px #0000001f}.auth-lang{position:absolute;top:20px;right:24px}.shell-top .signout{color:var(--primary);background:transparent;border:none;border-radius:8px;padding:8px 14px;font-weight:500}.shell-top .signout:hover{background:var(--primary-light)}.shell-side{position:fixed;top:56px;left:0;bottom:0;width:232px;padding:12px 12px 24px;overflow-y:auto}.group-title{padding:18px 16px 6px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.side-item{display:block;width:100%;text-align:left;border:none;background:transparent;margin:1px 0;padding:0 16px;height:40px;line-height:40px;border-radius:999px;font-size:13.5px;font-weight:500;color:#3c4043}.side-item:hover{background:#0000000d;color:var(--text)}.side-item.external{display:flex;justify-content:space-between;align-items:center}.side-item .ext{color:var(--text-tertiary);font-size:12px}.side-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}main.shell-main{margin:56px 0 0 232px;padding:32px 40px 72px;max-width:1280px}.page-header{margin-bottom:24px;display:flex;align-items:center;gap:8px}.err:empty{display:none}.page-header h2{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0}.help{position:relative;display:inline-flex;width:18px;height:18px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-tertiary);font-size:11px;font-weight:600;align-items:center;justify-content:center;cursor:help;-webkit-user-select:none;user-select:none;flex:none}.help:hover,.help:focus{border-color:var(--primary);color:var(--primary);outline:none}.help .tip{display:none;position:absolute;left:26px;top:-10px;width:340px;background:#2d2e30;color:#f1f3f4;font-size:12.5px;font-weight:400;line-height:1.55;text-align:left;border-radius:10px;padding:12px 14px;box-shadow:0 8px 28px -6px #00000059;z-index:200;white-space:normal}.help .tip code{color:#ffb27a}.help:hover .tip,.help:focus .tip{display:block}.card{background:var(--panel);border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:26px 28px;margin-bottom:20px;box-shadow:0 1px 2px #3c40430f}.card h3{margin:0 0 16px;font-size:15px;font-weight:600}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:7px}.label-hint{font-weight:400;color:var(--text-tertiary);font-size:12px}input,select{height:40px;border-radius:8px;font-size:14px;border:1px solid #dadce0;padding:0 12px;background:#fff;color:var(--text);outline:none;width:100%}input:focus,select:focus{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),0 0 0 3px #ff7a1a2e}textarea{width:100%;border-radius:8px;border:1px solid #dadce0;padding:10px 12px;font:inherit;outline:none}textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff7a1a2e}button.primary{height:38px;border-radius:8px;font-size:14px;font-weight:500;padding:0 22px;border:none;background:var(--primary);color:#fff}button.primary:hover{background:var(--primary-hover)}button.primary:disabled{background:#fbe3d3;color:#c9936f;cursor:not-allowed}button.ghost{height:38px;border-radius:8px;font-size:14px;font-weight:500;border:none;background:transparent;color:var(--primary);padding:0 14px}button.ghost:hover{background:var(--primary-light)}button.mini{height:30px;border-radius:999px;font-size:12.5px;padding:0 14px;border:none;background:transparent;color:var(--primary)}button.mini:hover{background:var(--primary-light)}button.mini.danger{color:var(--red)}button.mini.danger:hover{background:#fce8e6}.actions{display:flex;gap:10px;align-items:center;margin-top:6px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{background:transparent;color:#5f6368;font-size:12px;letter-spacing:.02em;font-weight:500;padding:12px 16px;text-align:left;white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid #f1f3f4;text-align:left;vertical-align:top}td:first-child{font-weight:500;color:#202124}tbody tr:hover td{background:#f8f9fa}tr.off td{background:#fef7f7}.badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500}.badge.on{background:#e6f4ea;color:var(--green)}.badge.off{background:#f1f3f4;color:#5f6368}.hint{color:var(--text-tertiary);font-size:12.5px}.err{color:var(--red);font-size:13px;min-height:20px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{width:auto}.empty{color:var(--text-tertiary);padding:40px 16px;text-align:center}tbody td:has(>.empty){border-bottom:none}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(255,122,26,.12),transparent 60%),#f9f9f7;position:relative}.auth-card{width:420px;background:#fff;border:.5px solid rgba(0,0,0,.08);border-radius:20px;padding:52px 48px 44px;box-shadow:0 1px 2px #0000000a,0 12px 40px -12px #0000001f;text-align:center}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:6px}.auth-brand img{width:64px;height:64px;filter:drop-shadow(0 6px 12px rgba(255,122,26,.3))}.auth-brand h1{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em}.auth-sub{font-size:15px;color:#6e6e73;margin:0 0 32px;letter-spacing:-.01em}.auth-card .field{text-align:left;margin-bottom:18px}.auth-card button.primary{width:100%;margin-top:8px}.auth-setup .auth-card{box-shadow:0 0 0 3.5px #ff7a1a38,0 12px 40px -12px #0000001f}.auth-footer{font-size:12px;color:#86868b;margin-top:28px}.info-banner{background:#fef7e0;border:1px solid #fde293;color:#7a3d00;border-radius:12px;padding:14px 18px;margin-bottom:20px;font-size:13px;line-height:1.55}.info-banner code{background:#0000000d;border-radius:4px;padding:1px 5px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px 18px;align-items:end;margin-bottom:4px}.form-grid .field{margin-bottom:0}.form-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.form-actions .hint{margin-left:4px}.toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:18px;background:#f1f3f4;border-radius:12px;padding:6px}.toolbar input,.toolbar select{width:auto;min-width:150px;height:34px;background:#fff;border:1px solid transparent;box-shadow:none;font-size:13px}.toolbar input:focus,.toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff7a1a2e}.toolbar input[type=file]{min-width:0}.toolbar .hint{margin-left:6px}.zselect{position:relative;width:100%}.zselect-trigger{width:100%;height:40px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dadce0;border-radius:8px;padding:0 12px;font:inherit;font-size:14px;color:var(--text);text-align:left}.zselect.open .zselect-trigger,.zselect-trigger:focus-visible{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),0 0 0 3px #ff7a1a2e;outline:none}.zselect-trigger:disabled{opacity:.5;cursor:default}.zselect-value.placeholder{color:var(--text-tertiary)}.zselect-chevron{margin-left:auto;color:var(--text-tertiary);transition:transform .15s ease;flex:none}.zselect.open .zselect-chevron{transform:rotate(180deg)}.zselect-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:300;background:#fff;border:.5px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 4px 8px #0000000f,0 16px 44px -10px #00000038;padding:6px;max-height:280px;overflow-y:auto}.zselect-option{width:100%;display:flex;align-items:center;gap:8px;height:36px;background:transparent;border:none;border-radius:8px;padding:0 10px;font:inherit;font-size:13.5px;color:var(--text);text-align:left}.zselect-option.active{background:#f5f5f7}.zselect-option.selected{font-weight:600;color:var(--primary)}.zselect-check{margin-left:auto;color:var(--primary);flex:none}.zselect-empty{padding:14px 12px;color:var(--text-tertiary);font-size:13px;text-align:center}.zselect-sm .zselect-trigger{height:34px;font-size:13px;border-color:transparent;background:#fff}.zselect-sm .zselect-trigger:focus-visible{border-color:var(--primary)}.fdrop{display:flex;align-items:center;gap:16px;padding:22px 24px;border:1.5px dashed var(--border-strong);border-radius:14px;cursor:pointer;color:var(--text-secondary);background:#fafafa;transition:border-color .15s,background .15s}.fdrop:hover,.fdrop:focus-visible,.fdrop.over{border-color:var(--primary);background:var(--primary-light);color:var(--primary);outline:none}.fdrop-text{font-size:13.5px}.fdrop-hint{display:block;font-size:12px;color:var(--text-tertiary);margin-top:2px}.fdrop-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fdrop-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:4px 6px 4px 12px;font-size:12.5px}.fdrop-chip button{border:none;background:transparent;color:var(--text-tertiary);font-size:14px;line-height:1;width:20px;height:20px;border-radius:50%;cursor:pointer}.fdrop-chip button:hover{background:#fce8e6;color:var(--red)}.page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.adv-link{color:var(--primary);font-weight:500;padding:6px 12px;border-radius:8px;white-space:nowrap}.adv-link:hover{background:var(--primary-light)}.badge.warn{background:#fef7e0;color:#7a3d00;margin-left:6px}.badge.bad{background:#fce8e6;color:var(--red)}.ok-banner{background:#e6f4ea;border:1px solid #b7e1c1;color:var(--green);border-radius:12px;padding:12px 18px;margin-bottom:20px;font-size:13px}input.check-input,.check input{width:16px;height:16px;padding:0;box-shadow:none;accent-color:var(--primary)}.check-row{display:flex;flex-wrap:wrap;gap:8px 20px}.check{display:inline-flex;align-items:center;gap:8px;font-weight:400;font-size:13.5px}.quota-models{margin-top:16px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:4px}.card.stat{padding:18px 22px}.stat-value{font-size:22px;font-weight:600;margin:2px 0 8px}.meter{height:8px;border-radius:999px;background:#f1f3f4;overflow:hidden}.meter span{display:block;height:100%;background:var(--accent);border-radius:999px}.gpu-row{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(110px,1fr));gap:16px 24px;align-items:end}.gpu-mem .meter{margin-top:8px}.card.conflict{border-color:#fde293;background:#fffbf0}td .badge,button.mini{white-space:nowrap}button.mini:disabled{color:var(--text-tertiary);background:transparent;cursor:not-allowed}.steps{list-style:none;margin:8px 0;padding:0}.steps .step{padding:4px 0}details>summary{cursor:pointer;margin-top:4px}pre.raw{margin:4px 0 0;padding:6px 8px;white-space:pre-wrap;word-break:break-word;font-size:12px;background:var(--bg-soft, rgba(127,127,127,.12));border-radius:4px}
