:root{color:#111827;background:#eef2f7;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit}button,input,select{font:inherit}.admin-shell{min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1.25rem 1.5rem;background:#111827;color:#f9fafb}.admin-kicker{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.admin-title{margin:.15rem 0 0;font-size:1.35rem}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem}.admin-nav__link{padding:.45rem .75rem;border-radius:999px;text-decoration:none;color:#d1d5db}.admin-nav__link.is-active,.admin-nav__link:hover{background:#ffffff1f;color:#fff}.admin-main{max-width:1180px;margin:0 auto;padding:1.5rem}.page-header{margin-bottom:1rem}.page-header.row{display:flex;justify-content:space-between;align-items:start;gap:1rem}.page-header h2,.card h3{margin:0 0 .35rem}.card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:1.25rem;box-shadow:0 1px 2px #0f172a0d}.form-grid{display:grid;gap:.85rem}.form-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-grid label,.toolbar__form label{display:grid;gap:.35rem;font-weight:600}.form-grid textarea{border:1px solid #cbd5e1;border-radius:8px;padding:.65rem .75rem;background:#fff;min-height:8rem;resize:vertical}.form-grid input[type=file]{border:0;padding:0;background:transparent}.form-grid input,.form-grid select,.toolbar__form input,.toolbar__form select,.data-table select{border:1px solid #cbd5e1;border-radius:8px;padding:.65rem .75rem;background:#fff}.form-actions{grid-column:1 / -1}.import-type-fieldset{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem}.import-type-fieldset legend{padding:0 .25rem;font-weight:600}.checkbox-row{display:flex;align-items:center;gap:.5rem}.import-result-list{margin:0;padding-left:1.25rem}.btn{border:0;border-radius:8px;padding:.7rem 1rem;font-weight:600;cursor:pointer}.btn--primary{background:#111827;color:#fff}.btn--primary:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.save-feedback{margin:.35rem 0 0;color:#166534;font-size:.9rem;font-weight:600}.btn--secondary{background:#e5e7eb;color:#111827}.btn--danger{background:#b91c1c;color:#fff}.button-row{display:flex;flex-wrap:wrap;gap:.5rem}.alert{border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert--success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.muted{color:#6b7280}.text-link{color:#1d4ed8;text-decoration:none}.text-link:hover{text-decoration:underline}.external-link{display:inline-flex;align-items:center;gap:.3rem;color:#1d4ed8;text-decoration:none;font-weight:600}.external-link:hover{text-decoration:underline}.external-link--icon{color:#6b7280;padding:.15rem;border-radius:4px}.external-link--icon:hover{color:#1d4ed8;background:#eff6ff;text-decoration:none}.external-link__icon{width:.85rem;height:.85rem;flex-shrink:0}.host-link{display:inline-flex;align-items:center;gap:.35rem}.infra-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;font-size:.92rem}.stat-grid,.detail-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-value{margin:.35rem 0;font-size:2rem;font-weight:700}.stat-list{list-style:none;padding:0;margin:0}.stat-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #e5e7eb}.toolbar{margin-bottom:1rem}.toolbar__form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid #e5e7eb;padding:.75rem .5rem;text-align:left;vertical-align:top}.data-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.82rem;font-weight:600;text-transform:capitalize}.badge--active{background:#dcfce7;color:#166534}.badge--suspended{background:#fee2e2;color:#991b1b}.badge--provisioning{background:#fef9c3;color:#854d0e}.app-shell{max-width:420px;margin:4rem auto 0;padding:0 1rem}
