:root{--color-bg: #f7f8fa;--color-surface: #ffffff;--color-border: #e0e3e8;--color-text: #1c2128;--color-text-muted: #5b6472;--color-accent: #2f5fd1;--color-accent-hover: #24479e;--color-danger: #b3261e;--color-danger-bg: #fbe9e7;--color-success: #1d7a4c;--color-success-bg: #e4f6ec;--color-warning: #9a6700;--color-warning-bg: #fff3d6;--color-neutral-bg: #eceff2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}button{font-family:inherit;font-size:.9rem;padding:.5rem 1rem;border-radius:6px;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;cursor:pointer}button:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}button.danger{background:var(--color-danger);border-color:var(--color-danger)}button.danger:hover:not(:disabled){background:#8f1e18;border-color:#8f1e18}input{font-family:inherit;font-size:.95rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:6px;width:100%}label{font-size:.85rem;color:var(--color-text-muted);margin-top:.75rem;display:block}.form-error{color:var(--color-danger);font-size:.9rem}.page-loading{padding:2rem;color:var(--color-text-muted)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-brand{font-weight:700;font-size:1.05rem;color:var(--color-text);text-decoration:none}.app-brand span{font-weight:400;color:var(--color-text-muted)}.app-header-account{display:flex;align-items:center;gap:.9rem;font-size:.9rem;color:var(--color-text-muted)}.app-main{flex:1;padding:1.75rem;max-width:960px;width:100%;margin:0 auto}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:2rem 2.25rem;width:320px;display:flex;flex-direction:column}.login-card h1{margin:0 0 .25rem}.login-subtitle{color:var(--color-text-muted);font-size:.85rem;margin:0 0 .5rem}.login-card button{margin-top:1.25rem}.tenant-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.tenant-table th,.tenant-table td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--color-border);font-size:.92rem}.tenant-table th{color:var(--color-text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.tenant-table tr:last-child td{border-bottom:none}.tenant-table a{color:var(--color-accent);text-decoration:none;font-weight:600}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--color-neutral-bg);color:var(--color-text-muted)}.status-active,.status-running{background:var(--color-success-bg);color:var(--color-success)}.status-pending,.status-provisioning{background:var(--color-warning-bg);color:var(--color-warning)}.status-suspended,.status-failed{background:var(--color-danger-bg);color:var(--color-danger)}.back-link{color:var(--color-text-muted);text-decoration:none;font-size:.85rem;display:inline-block;margin-bottom:1rem}.tenant-detail h1{margin:0 0 1rem}.tenant-detail h2{font-size:1rem;margin-top:1.75rem;margin-bottom:.5rem}.detail-grid{display:grid;grid-template-columns:140px 1fr;row-gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;margin:0}.detail-grid dt{color:var(--color-text-muted);font-size:.85rem}.detail-grid dd{margin:0}.tenant-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;align-items:flex-start}.suspend-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;width:320px}.suspend-form-actions{display:flex;gap:.5rem;margin-top:1rem}
