:root{--bg-primary: #F7F2EC;--bg-surface-1: #FFFFFF;--bg-surface-2: #FDFAF6;--bg-surface-3: #EDE6DC;--border-subtle: rgba(26, 43, 60, .1);--text-primary: #1A2B3C;--text-secondary: rgba(26, 43, 60, .55);--text-tertiary: rgba(26, 43, 60, .3);--color-copper: #C8664A;--color-copper-light: #E07B5C;--color-sage: #7A9E86;--color-sage-light: #A8C4B0;--status-online: #7A9E86;--status-amber: #D4A84E;--status-offline: #C45C5C;--status-unclaimed: #8A9AB4;--shadow-card: 0 1px 4px rgba(26, 43, 60, .02), 0 4px 12px rgba(26, 43, 60, .03);--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-h1-size: 20px;--font-h2-size: 16px;--font-body-size: 14px;--font-label-size: 12px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-card: 10px;--radius-pill: 16px;--screen-pad: 24px}@media (prefers-color-scheme: dark){:root{--bg-primary: #1C2836;--bg-surface-1: #1D2A38;--bg-surface-2: #253549;--bg-surface-3: #2B3D52;--border-subtle: rgba(255, 255, 255, .06);--text-primary: #F7F2EC;--text-secondary: rgba(247, 242, 236, .55);--text-tertiary: rgba(247, 242, 236, .3);--shadow-card: none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);font-size:var(--font-body-size);color:var(--text-primary);background:var(--bg-primary);min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.admin-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--screen-pad);background:var(--bg-surface-1);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:10}.admin-header-title{font-size:var(--font-h1-size);font-weight:var(--weight-semibold);color:var(--color-copper);letter-spacing:-.01em}.admin-header-sub{font-size:var(--font-label-size);color:var(--text-secondary);margin-top:1px}.admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-1);padding:0 var(--screen-pad)}.admin-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-body-size);font-weight:var(--weight-medium);color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--color-copper);border-bottom-color:var(--color-copper)}.admin-content{flex:1;padding:var(--space-6) var(--screen-pad);max-width:1200px;width:100%;margin:0 auto}.admin-card{background:var(--bg-surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:var(--space-5)}.admin-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.admin-card-title{font-size:var(--font-h2-size);font-weight:var(--weight-semibold)}.admin-card-body{padding:var(--space-5)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-body-size)}.admin-table th{text-align:left;font-size:var(--font-label-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.admin-table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.clickable{cursor:pointer}.admin-table tr.clickable:hover td{background:var(--bg-surface-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-pill);font-size:var(--font-label-size);font-weight:var(--weight-medium)}.badge-dot{width:6px;height:6px;border-radius:50%}.badge-online{background:#7a9e8626;color:var(--status-online)}.badge-online .badge-dot{background:var(--status-online)}.badge-amber{background:#d4a84e26;color:var(--status-amber)}.badge-amber .badge-dot{background:var(--status-amber)}.badge-offline{background:#c45c5c26;color:var(--status-offline)}.badge-offline .badge-dot{background:var(--status-offline)}.badge-unclaimed{background:#8a9ab426;color:var(--status-unclaimed)}.badge-unclaimed .badge-dot{background:var(--status-unclaimed)}.badge-stable{background:#7a9e8626;color:var(--status-online)}.badge-draft{background:#d4a84e26;color:var(--status-amber)}.admin-form{display:flex;flex-direction:column;gap:var(--space-4)}.admin-form-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.admin-form-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:180px}.admin-form-group label{font-size:var(--font-label-size);font-weight:var(--weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}input,select,textarea{font-family:var(--font-ui);font-size:var(--font-body-size);color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-2) var(--space-3);width:100%;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-copper)}input[type=range]{padding:0;background:none;border:none}textarea{min-height:72px;resize:vertical}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:6px;font-family:var(--font-ui);font-size:var(--font-body-size);font-weight:var(--weight-medium);cursor:pointer;border:none;transition:opacity .15s;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-copper);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-copper-light)}.btn-secondary{background:var(--bg-surface-3);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){opacity:.8}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-ghost:hover:not(:disabled){color:var(--text-primary)}.btn-danger{background:#c45c5c1f;color:var(--status-offline)}.btn-danger:hover:not(:disabled){background:#c45c5c33}.btn-sm{padding:4px var(--space-3);font-size:var(--font-label-size)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.stat-tile{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-3) var(--space-4)}.stat-tile-label{font-size:var(--font-label-size);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.stat-tile-value{font-size:20px;font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1.2}.stat-tile-sub{font-size:var(--font-label-size);color:var(--text-tertiary);margin-top:2px}.page-title{font-size:var(--font-h1-size);font-weight:var(--weight-semibold);margin-bottom:var(--space-5)}.section-title{font-size:var(--font-h2-size);font-weight:var(--weight-semibold);margin-bottom:var(--space-4)}.text-secondary{color:var(--text-secondary)}.text-small{font-size:var(--font-label-size)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-body-size);color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:0;margin-bottom:var(--space-5)}.back-btn:hover{color:var(--text-primary)}.empty-state{padding:var(--space-8) 0;text-align:center;color:var(--text-secondary)}.warning-box{background:#d4a84e1a;border:1px solid rgba(212,168,78,.3);border-radius:6px;padding:var(--space-3) var(--space-4);font-size:var(--font-body-size);color:var(--status-amber)}.error-box{background:#c45c5c1a;border:1px solid rgba(196,92,92,.3);border-radius:6px;padding:var(--space-3) var(--space-4);font-size:var(--font-body-size);color:var(--status-offline)}.success-msg{font-size:var(--font-label-size);color:var(--status-online);margin-top:var(--space-2)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-subtle);border-top-color:var(--color-copper);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mono{font-family:SF Mono,Fira Code,monospace;font-size:13px}
