:root{--bg: #f4f5f7;--card-bg: #ffffff;--border: #d9dce1;--text: #1f2430;--muted: #6b7280;--primary: #1a5fb4;--primary-hover: #164a8f;--danger: #b91c1c;--success: #15803d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.layout{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--card-bg);border-bottom:1px solid var(--border)}.brand{font-weight:700}.topbar nav{display:flex;gap:16px;flex:1}.topbar nav a{color:var(--muted);text-decoration:none;font-size:14px}.topbar nav a.active{color:var(--primary);font-weight:600}.user-info{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}main{padding:24px;max-width:1100px;width:100%;margin:0 auto}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:16px}.inline-form{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-top:12px}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);margin-bottom:10px}input,select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text)}button{padding:8px 14px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px}button:hover{background:#f0f1f3}button.primary,a.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover,a.primary:hover{background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}.divider{text-align:center;color:var(--text-muted, #888);font-size:13px;margin:4px 0}.secondary-button{display:block;text-align:center;padding:8px 14px;border-radius:6px;border:1px solid var(--border);background:#fff;color:var(--text);text-decoration:none;font-size:14px}.secondary-button:hover{background:#f0f1f3}a.button-link{display:block;text-align:center;padding:8px 14px;border-radius:6px;text-decoration:none;font-size:14px}.error{color:var(--danger);font-size:14px}.warn{color:var(--danger);font-size:13px}.muted{color:var(--muted);font-size:13px}.centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:360px;display:flex;flex-direction:column}.login-card h1{font-size:18px;margin-bottom:16px}.zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.zone-card{text-decoration:none;color:var(--text);display:block}.zone-code{font-family:monospace;color:var(--primary);font-weight:700}.quota-card .quota-bar{background:var(--border);border-radius:4px;height:10px;overflow:hidden;margin:8px 0}.quota-bar-fill{background:var(--primary);height:100%}.data-table{width:100%;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px}.data-table th{background:#fafafa;font-size:12px;text-transform:uppercase;color:var(--muted)}.inactive-row{opacity:.55}.actions-cell{display:flex;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--card-bg);border-radius:8px;padding:24px;width:420px;max-width:90vw}.credential-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;margin-bottom:10px}.credential-row code{background:#f0f1f3;padding:6px 8px;border-radius:4px;font-size:14px;overflow-wrap:anywhere}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
