:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#edf6ff;background:#050d1d}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 5%,#123766 0,transparent 28%),#050d1d}
.shell{min-height:100vh;padding:2rem;max-width:1440px;margin:auto}
.login{width:min(100%,26rem);margin:12vh auto;padding:2rem;border:1px solid #234b7a;border-radius:26px;background:linear-gradient(145deg,#112646,#081326);box-shadow:0 24px 60px #0008}
.eyebrow{margin:0 0 .5rem;color:#62d9d1;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
.login h1{font-size:2rem;margin-bottom:.5rem}
.muted{color:#a8bbd3;line-height:1.5}
.form{display:grid;gap:1rem}
.form label{display:grid;gap:.42rem;color:#cad9ee;font-size:.87rem;font-weight:700}
.form input,.form select,.form textarea{width:100%;padding:.85rem .9rem;border:1px solid #284969;border-radius:12px;background:#071224;color:#eef6ff;font:inherit}
.form textarea{min-height:5rem;resize:vertical}
.form label small{color:#8fa6c2;font-size:.75rem;font-weight:500;line-height:1.4}
.button{border:0;border-radius:12px;padding:.82rem 1rem;background:linear-gradient(135deg,#36b7ed,#2568e8);box-shadow:0 12px 24px #1959bb4a;color:white;font:inherit;font-weight:800;cursor:pointer}
.button.secondary{background:#101d33;border:1px solid #2c405d;box-shadow:none}
.button:disabled{opacity:.55;cursor:not-allowed}
.error{margin:0;padding:.82rem 1rem;border:1px solid #a8485b;border-radius:12px;background:#351624;color:#ffd1d8}
.form-feedback{margin:0;padding:.82rem 1rem;border:1px solid #315675;border-radius:12px;background:#0b1b31;color:#bfd0e6}
.form-feedback.success{border-color:#28756c;background:#0e302f;color:#c8fff2}
.header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem}
.brand{display:flex;gap:.8rem;align-items:center}
.brand-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:15px;background:linear-gradient(135deg,#4de4d3,#1c5edf);color:#06142d;font-weight:900}
.brand h1{margin:0;font-size:1.35rem}
.brand span{display:block;color:#9db4d2;font-size:.82rem}
.header-actions{display:flex;gap:.7rem}
.app-layout{display:grid;grid-template-columns:15.5rem minmax(0,1fr);gap:1.25rem;align-items:start}
.nav{position:sticky;top:1.25rem;display:grid;gap:.45rem;padding:.8rem;border:1px solid #25476c;border-radius:20px;background:linear-gradient(145deg,#102540,#091426);box-shadow:0 18px 42px #0004}
.nav-title{margin:.2rem .45rem .55rem;color:#82a4c8;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nav button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.72rem .78rem;text-align:left;white-space:nowrap;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.nav button:hover:not(.active){transform:translateX(2px);border-color:#3d668f;background:#152a47}
.nav button.active{border-color:#57d4ff;background:linear-gradient(135deg,#1c4b71,#17375c);box-shadow:inset 3px 0 #62d9d1,0 8px 22px #0a6b9a33}
.nav-icon{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:8px;background:#193553;color:#8ee8e0;font-size:.95rem;font-weight:900;line-height:1}.nav button.active .nav-icon{background:#246480;color:#e8ffff}
#view{min-width:0}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}
.metric,.panel{border:1px solid #203c60;border-radius:20px;background:linear-gradient(145deg,#10213c,#091427)}
.metric{padding:1.15rem}
.metric span{display:block;color:#97abc6;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.metric strong{display:block;margin-top:.45rem;font-size:1.8rem}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 23rem;gap:1.2rem}
.list-page{display:grid}
.entity-editor{display:grid;gap:1.2rem;max-width:58rem;margin:0 auto}
.entity-editor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.entity-editor-head .muted{margin:0;text-align:right}
.entity-editor-panel{padding:1.5rem}
.panel{padding:1.2rem}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem}
.panel h2{margin:0;font-size:1.2rem}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.8rem .45rem;border-bottom:1px solid #203653;text-align:left;vertical-align:top}
.table th{color:#9fb4cf;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.table td{font-size:.9rem}
.table tr:last-child td{border:0}
.plans-table{table-layout:fixed}.plans-table th:nth-child(1){width:18%}.plans-table th:nth-child(2){width:13%}.plans-table th:nth-child(3){width:12%}.plans-table th:nth-child(4){width:auto}.plans-table th:nth-child(5){width:5.5rem}.plans-table td:nth-child(3) span{color:#a8bbd3}.feature-tags{display:flex;flex-wrap:wrap;gap:.38rem}.feature-tags span{display:inline-flex;align-items:center;padding:.28rem .5rem;border:1px solid #285775;border-radius:999px;background:#0b2035;color:#c4e7f5;font-size:.7rem;font-weight:700;line-height:1.2}
.plans-table td.row-actions{display:table-cell;vertical-align:middle;white-space:nowrap}.plans-table td.row-actions .button{min-height:3.3rem;padding:.7rem .9rem}
.subscription-commercial-fields{display:contents}.subscription-commercial-fields[hidden]{display:none}
.status{white-space: nowrap;display:inline-flex;padding:.26rem .52rem;border-radius:999px;background:#143c4b;border:1px solid #2a6d82;color:#c5f6ff;font-size:.74rem;font-weight:800}
.status.overdue,.status.suspended{background:#401c2a;border-color:#8b4054;color:#ffd3da}
.status.pending,.status.trial{background:#3a311d;border-color:#725d31;color:#f8dfab}
.row-actions{display:flex;gap:.45rem}
.row-actions button{padding:.42rem .62rem;font-size:.75rem}
.app-user-identity{display:flex;align-items:center;gap:.7rem;min-width:13rem}.app-user-avatar{display:grid;place-items:center;flex:0 0 auto;width:2.85rem;height:2.85rem;overflow:hidden;border:1px solid #367493;border-radius:50%;background:linear-gradient(135deg,#1b5774,#2346bb);color:#edf8ff;font-weight:900}.app-user-avatar-image{width:100%;height:100%;object-fit:cover}
.tenants-table{min-width:1120px;table-layout:fixed}
.tenants-table th:nth-child(1){width:15%}.tenants-table th:nth-child(2){width:15%}.tenants-table th:nth-child(3){width:9%}.tenants-table th:nth-child(4){width:12%}.tenants-table th:nth-child(5){width:15%}.tenants-table th:nth-child(6){width:34%}
.tenants-table td.customer-actions-cell{display:table-cell;vertical-align:middle}
.tenant-id{display:inline-block;max-width:100%;overflow:hidden;padding:.24rem .42rem;border:1px solid #284969;border-radius:7px;background:#081629;color:#8dd9f5;font-size:.68rem;line-height:1.2;white-space:nowrap}
.copy-tenant-id{display:block;margin-top:.42rem;padding:0;border:0;background:transparent;color:#8fc9df;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.copy-tenant-id:hover{color:#e4f8ff;text-decoration:underline}
.customer-actions{flex-wrap:wrap;align-items:center}
.customer-action{display:inline-flex;align-items:center;gap:.38rem;border-radius:999px!important;padding:.5rem .72rem!important;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.customer-action:hover:not(:disabled){transform:translateY(-1px)}
.customer-action-icon{display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:#18334f;color:#d7efff;font-size:.88rem;line-height:1}
.customer-action--backup{border-color:#287b76!important;background:#102d35!important}.customer-action--backup .customer-action-icon{background:#17635f;color:#c9fff3}
.customer-action--download{border-color:#285b88!important;background:#10263e!important}.customer-action--download .customer-action-icon{background:#1f5685;color:#d8f1ff}
.customer-action--restore{border-color:#796039!important;background:#2d281b!important}.customer-action--restore .customer-action-icon{background:#705827;color:#fff0b8}
.customer-action--edit{border-color:#405473!important;background:#142039!important}.customer-action--edit .customer-action-icon{background:#304767;color:#e2eaff}
.instance-link{display:inline-flex;align-items:center;gap:.38rem;padding:.38rem .62rem;border:1px solid #285b88;border-radius:999px;background:#10263e;color:#c7ecff;text-decoration:none;font-size:.82rem;font-weight:800;transition:transform .18s ease,border-color .18s ease}
.instance-link:hover{transform:translateY(-1px);border-color:#59c8ec;color:#ecfbff}
.empty{color:#9aacc5;text-align:center;padding:2rem}
.hidden{display:none!important}
.plan-overage-panel{margin-bottom:1.2rem;border-color:#72455a;background:linear-gradient(145deg,#26182a,#0b1629)}
.release-overview-panel{margin-bottom:1.2rem;border-color:#256b79;background:linear-gradient(145deg,#102b42,#091628)}
.release-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem}
.release-overview-card{display:grid;gap:.5rem;min-height:8.4rem;padding:1rem;border:1px solid #284969;border-radius:16px;background:#09182b}
.release-overview-card--active{border-color:#267a70;background:linear-gradient(145deg,#0d302f,#09182b)}
.release-overview-card--pending{border-color:#756238;background:linear-gradient(145deg,#30291b,#09182b)}
.release-overview-card--suspended{border-color:#884457;background:linear-gradient(145deg,#321b2a,#09182b)}
.release-overview-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.release-overview-card-head strong{line-height:1.25}.release-overview-card-head .status{white-space:nowrap}
.release-overview-version{color:#eff7ff;font-size:1.15rem;font-weight:800}.release-overview-card small{color:#a9bed7;line-height:1.35}
.database-usage-panel{margin-top:1.25rem}
.health-panel{margin-top:2rem;margin-bottom:1.25rem;border-color:#2d617d;background:linear-gradient(145deg,#102a42,#091628)}
.health-alerts{color:#ffd0b3;font-size:.8rem;font-weight:700;line-height:1.4}
.health-hint{display:block;margin-top:.4rem;color:#f3d490;line-height:1.3}
.overage-value{color:#ffd0b3}
.overage-email-button{padding:.48rem .7rem;white-space:nowrap;font-size:.76rem}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.25rem;background:rgba(2,8,20,.78);backdrop-filter:blur(7px)}
.modal-card{position:relative;width:min(100%,34rem);max-height:calc(100dvh - 2.5rem);padding:2rem;overflow-y:auto;overscroll-behavior:contain;border:1px solid #285479;border-radius:26px;background:linear-gradient(145deg,#142b4c,#081426);box-shadow:0 28px 80px #000b;color:#edf6ff}
.modal-card--automation{width:min(100%,46rem);max-height:calc(100vh - 2.5rem);overflow:auto}
.modal-card--identity{width:min(100%,38rem)}
.modal-card h2{margin-bottom:.7rem;font-size:1.7rem}
.modal-close{position:absolute;top:1rem;right:1rem;width:2.65rem;height:2.65rem;border:1px solid #2b4667;border-radius:13px;background:#14243c;color:#dcecff;font-size:1.55rem;line-height:1;cursor:pointer}
.modal-message{margin:1.3rem 0 1.55rem;padding:1rem 1.05rem;border:1px solid #315675;border-radius:14px;background:#0b1b31;color:#bfd0e6;line-height:1.45}
.modal-message.success{border-color:#28756c;background:#0e302f;color:#c8fff2}
.modal-message.error{border-color:#a8485b;background:#351624;color:#ffd1d8}
.modal-card--success{border-color:#2f9f8d;box-shadow:0 28px 80px #000b,0 0 42px #1ab89425}
.modal-card--error{border-color:#b94f67;box-shadow:0 28px 80px #000b,0 0 42px #e6506a20}
.modal-message--success{border-color:#28756c;background:#0e302f;color:#c8fff2}
.modal-message--error{border-color:#a8485b;background:#351624;color:#ffd1d8}
.modal-restore-form{display:grid;gap:.85rem}
.modal-restore-form label{display:grid;gap:.38rem;color:#c8d8ec;font-size:.84rem;font-weight:700}
.modal-restore-form input,.modal-restore-form select,.modal-restore-form textarea{width:100%;min-height:2.8rem;padding:.65rem .78rem;border:1px solid #315675;border-radius:12px;background:#08182c;color:#eff7ff;font:inherit}
.modal-restore-form textarea{min-height:5.5rem;resize:vertical}
.modal-restore-form input:focus,.modal-restore-form select:focus,.modal-restore-form textarea:focus{outline:2px solid #4bc8ec;outline-offset:2px}
.modal-restore-form fieldset,.identity-access{display:grid;gap:.75rem;margin:0;padding:1rem;border:1px solid #2d5878;border-radius:14px;background:#0b1b31}
.modal-restore-form legend{padding:0 .3rem;color:#eaf4ff;font-weight:800}.identity-access summary{cursor:pointer;color:#eaf4ff;font-weight:800}.identity-access[open] summary{margin-bottom:.2rem}
.access-list{display:grid;gap:.7rem}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.modal-actions .button{min-height:3rem}
.automation-settings-panel{padding:1.5rem}
.automation-settings-grid{display:grid;gap:1rem}
.automation-setting-card{padding:1.25rem;border:1px solid #2a5878;border-radius:18px;background:linear-gradient(145deg,#112b43,#091628)}
.automation-setting-card h3{margin:.2rem 0 .5rem;font-size:1.2rem}
.automation-setting-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.switch-label{display:inline-flex!important;grid-auto-flow:column;align-items:center;gap:.5rem;color:#c9dcf1!important;cursor:pointer}
.switch-label input{width:1rem!important;height:1rem;padding:0!important;accent-color:#39c8dd}
.automation-setting-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}
.automation-setting-fields label{display:grid;gap:.42rem;color:#cad9ee;font-size:.87rem;font-weight:700}
.automation-setting-fields input,.automation-setting-fields select{width:100%;min-height:3rem;padding:.75rem .9rem;border:1px solid #284969;border-radius:12px;background:#071224;color:#eef6ff;font:inherit;color-scheme:dark}
.automation-setting-fields select:disabled{opacity:.72;cursor:not-allowed}
.automation-settings-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.automation-settings-actions .form-feedback{flex:1}
.landing-messages-panel{margin-top:1.35rem}
.landing-message-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.landing-message-fields label{display:grid;gap:.42rem;color:#cad9ee;font-size:.87rem;font-weight:700}.landing-message-fields textarea{width:100%;min-height:6.6rem;padding:.85rem .9rem;border:1px solid #284969;border-radius:12px;background:#071224;color:#eef6ff;font:inherit;resize:vertical}
.automation-page{display:grid;gap:1.2rem}
.automation-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.automation-page-head h2{margin-bottom:.45rem;font-size:1.65rem}
.automation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.automation-run-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.35rem}
.automation-run-card{display:grid;gap:1rem;padding:1.25rem;border:1px solid #236250;border-radius:20px;background:linear-gradient(145deg,#102c3b,#091527)}
.automation-run-card--failed{border-color:#8b4054;background:linear-gradient(145deg,#321c2b,#0b1629)}
.automation-run-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.automation-run-head h3{margin:.18rem 0 0;font-size:1.1rem}
.automation-run-meta{display:grid;gap:.45rem;color:#aac0d7;font-size:.86rem}
.automation-run-meta strong{color:#edf6ff}
.automation-configure-button{justify-self:start;padding:.58rem .85rem}
.release-page-actions{display:flex;gap:.7rem;align-items:center}
.release-deploy-button{display:inline-flex;align-items:center;gap:.38rem}
.release-candidates-panel{margin-bottom:1.2rem;border-color:#2a6472;background:linear-gradient(145deg,#102a3c,#091628)}
.release-approve-button{display:inline-flex;align-items:center;gap:.38rem;background:linear-gradient(135deg,#20b99f,#1c75df)}
.candidate-error{display:block;max-width:22rem;margin-top:.45rem;color:#ffbac5;line-height:1.35}
.release-tag-hint{color:#8fc9df!important;font-weight:600!important;line-height:1.4}
.batch-tenant-list{display:grid;gap:.5rem;margin:0;padding:1rem;border:1px solid #315675;border-radius:14px}.batch-tenant-list legend{padding:0 .35rem;color:#c8d8ec;font-weight:800}.batch-tenant-list label{display:flex;align-items:center;gap:.6rem;color:#dce9f8;font-size:.9rem}.batch-tenant-list input{width:1rem;height:1rem;accent-color:#38badf}.batch-tenant-list small{color:#92abc7}
.commit-sha{display:inline-block;padding:.24rem .45rem;border:1px solid #284969;border-radius:7px;background:#081629;color:#8dd9f5;font-size:.78rem}
@media(max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}
.app-layout{grid-template-columns:1fr}.nav{position:static;display:flex;gap:.55rem;overflow-x:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.nav-title{display:none}.nav button{width:auto;flex:0 0 auto}.nav button:hover:not(.active){transform:none}
.content-grid{grid-template-columns:1fr}
.shell{padding:1rem}
.table-wrap{overflow:auto}
}
@media(max-width:560px){.header{align-items:flex-start;flex-direction:column}
.metrics{grid-template-columns:1fr}
.table th:nth-child(n+4),.table td:nth-child(n+4){display:none}
.modal-backdrop{align-items:end;padding:.75rem}
.modal-card{padding:1.5rem;border-radius:22px}
.modal-actions{grid-template-columns:1fr}
.modal-actions .button{width:100%}
.automation-setting-fields{grid-template-columns:1fr}
.landing-message-fields{grid-template-columns:1fr}
.automation-settings-actions{align-items:stretch;flex-direction:column}
.automation-page-head{align-items:stretch;flex-direction:column}
.automation-summary{grid-template-columns:1fr}
.release-page-actions{width:100%;flex-wrap:wrap}
}
