:root{color:#111827;background:#f3f7fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--radius: 8px;--border: #d6e1ee;--border-soft: #e8eef6;--shadow-card: 0 1px 2px rgba(15, 23, 42, .035), 0 10px 26px rgba(15, 23, 42, .035);--shadow-popover: 0 18px 48px rgba(15, 23, 42, .22);--text-muted: #53657d}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f3f7fb;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.login-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,440px);gap:28px;align-items:center;min-height:100vh;padding:42px;background:linear-gradient(135deg,#071735,#0f2f68 48%,#123f8c)}.login-hero{display:grid;gap:24px;color:#fff}.login-logo{width:min(460px,92%);height:auto}.login-copy{max-width:680px}.login-copy .eyebrow{color:#38bdf8}.login-copy h1{margin:0;max-width:720px;font-size:42px;line-height:1.05;letter-spacing:0}.login-copy p{max-width:560px;margin:16px 0 0;color:#dbeafe;font-size:16px;line-height:1.6}.login-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:12px}.login-card{display:grid;gap:18px;border:1px solid rgba(255,255,255,.6);border-radius:8px;padding:28px;background:#fff;box-shadow:0 24px 70px #0000003d}.login-card-logo{width:245px;max-width:100%;height:auto;filter:none}.login-card h2{margin:0;font-size:22px;font-weight:720;letter-spacing:0}.login-card form{display:grid;gap:14px}.login-field{display:grid;gap:7px}.login-field span{color:#334155;font-size:12px;font-weight:680}.login-field>div{display:flex;align-items:center;gap:9px;height:42px;border:1px solid #cbd5e1;border-radius:8px;padding:0 11px;color:#64748b}.login-field input{min-width:0;flex:1;border:0;outline:0;color:#0f172a}.field-icon-button{display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:#64748b}.login-options{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64748b;font-size:12px}.login-options label{display:flex;align-items:center;gap:6px}.login-options input{accent-color:#2563eb}.login-options button{border:0;background:transparent;color:#2563eb;font-weight:700}.login-error{margin:0;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:700;line-height:1.4}.login-submit{width:100%;min-height:42px}.login-submit:disabled{opacity:.7;cursor:wait}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;background:linear-gradient(135deg,#071735,#0f2f68 48%,#123f8c);color:#fff}.brand{display:grid;gap:7px;padding:6px 8px 24px}.brand img{width:188px;max-width:100%;height:auto;filter:brightness(0) invert(1)}.brand span{color:#bae6fd;font-size:12px;font-weight:700}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:10px;min-height:42px;border:1px solid transparent;border-radius:8px;padding:0 12px;background:transparent;color:#dbeafe;text-align:left}.nav-item.active,.nav-item:hover{background:#ffffff1f;border-color:#ffffff24;color:#fff}.main{min-width:0;padding:22px 24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar h1,.panel h2,.form-title h2,.section-header h3{margin:0;letter-spacing:0}.topbar h1{font-size:23px;font-weight:680;line-height:1.2}.eyebrow{display:block;margin-bottom:4px;color:#2563eb;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.topbar-actions,.table-tools,.row-actions,.footer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;border-radius:var(--radius);border:1px solid #cbd5e1;padding:0 12px;background:#fff;color:#111827;font-size:13px;font-weight:620}.button.primary{border-color:#2563eb;background:#2563eb;color:#fff}.button.danger{border-color:#dc2626;background:#dc2626;color:#fff}.button.secondary:hover,.icon-button:hover{border-color:#93c5fd;color:#1e3a8a}.icon-button{width:34px;padding:0}.icon-button.danger:hover{border-color:#fecaca;color:#ef4444}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0f172a7a}.confirm-dialog{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;width:min(520px,100%);border:1px solid #dbeafe;border-radius:var(--radius);padding:18px;background:#fff;box-shadow:var(--shadow-popover)}.confirm-dialog h2{margin:0;font-size:18px;font-weight:720;letter-spacing:0}.confirm-dialog p{margin:8px 0 0;color:#475569;font-size:14px;line-height:1.55}.dialog-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius)}.dialog-icon.primary{background:#dbeafe;color:#2563eb}.dialog-icon.danger{background:#fee2e2;color:#dc2626}.dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.section{display:grid;gap:14px}.screen-stack{display:grid;gap:13px}.crud-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);gap:14px;align-items:start}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.panel,.section-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-card)}.stat-card{display:flex;gap:12px;padding:14px}.stat-card span,.stat-card small,td small,.invoice-row small,.module-row small{color:#64748b;font-size:11px}.stat-card strong{display:block;margin:3px 0;font-size:22px;font-weight:760}.stat-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:var(--radius);background:#dbeafe;color:#2563eb}.stat-icon.green{background:#d1fae5;color:#059669}.stat-icon.amber{background:#fef3c7;color:#d97706}.stat-icon.red{background:#fee2e2;color:#dc2626}.charts-grid,.reports-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:14px;margin:14px 0}.panel{min-width:0;padding:15px}.panel-header,.form-title,.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.panel h2,.form-title h2{font-size:17px;font-weight:660;line-height:1.25}.section-header h3{font-size:16px;font-weight:640;line-height:1.25}.legend-row{display:flex;justify-content:center;gap:14px;color:#64748b;font-size:12px}.legend-row span{display:inline-flex;align-items:center;gap:6px}.legend-row i{width:9px;height:9px;border-radius:999px}.search-field{display:flex;align-items:center;gap:8px;min-height:36px;min-width:290px;border:1px solid #cbd5e1;border-radius:var(--radius);padding:0 10px;background:#fff;color:#64748b}.search-field input{min-width:0;width:100%;border:0;outline:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:960px}th,td{padding:11px 10px;border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle}th{color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase}td strong,td small{display:block}.plan-pill{display:inline-flex;align-items:center;height:26px;border-radius:var(--radius);padding:0 9px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:700;text-transform:uppercase}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:var(--radius);padding:0 9px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700}.badge.paid,.badge.active,.badge.trialing{background:#d1fae5;color:#047857}.badge.grace,.badge.pending,.badge.open{background:#fef3c7;color:#a16207}.badge.overdue,.badge.suspended,.badge.blocked,.badge.failed{background:#fee2e2;color:#b91c1c}.usage{display:grid;gap:5px;min-width:92px}.usage div:first-child{display:flex;gap:3px;align-items:baseline}.usage-track{height:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}.usage-track span{display:block;height:100%;border-radius:inherit;background:#3b82f6}.form-page{margin:12px 0}.form-grid-layout{display:grid;gap:12px}.section-card{padding:15px 16px}.field-grid{display:grid;gap:12px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-wide{grid-column:span 2}.field{display:grid;gap:6px}.field span{color:#26364b;font-size:11px;font-weight:640}.field small,.helper-text{color:#64748b;font-size:12px;line-height:1.45}.field small{display:block;max-width:100%}.helper-text{margin:0 0 10px}.pricing-summary{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(220px,1.25fr);gap:10px;margin:0 0 12px}.pricing-summary>div{display:grid;gap:3px;border:1px solid var(--border-soft);border-radius:var(--radius);padding:10px 12px;background:#fbfdff}.pricing-summary span{color:var(--text-muted);font-size:11px;font-weight:620}.pricing-summary strong{color:#111827;font-size:15px;font-weight:680}.pricing-summary-total{background:#eff6ff!important;border-color:#c7dcff!important}.pricing-summary-total strong{color:#1d4ed8;font-size:18px}.pricing-summary-total small{color:#53657d;font-size:11px;line-height:1.35}.field input,.field select,.module-row input[type=number]{width:100%;height:34px;border:1px solid #cfd9e6;border-radius:var(--radius);padding:0 10px;background:#fff;color:#0f172a;font-size:13px;outline:0}.field input:focus,.field select:focus,.module-row input[type=number]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.module-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.module-row{display:grid;grid-template-columns:auto minmax(0,1fr) 72px;align-items:center;gap:10px;min-height:56px;border:1px solid var(--border-soft);border-radius:var(--radius);padding:10px 12px;background:#fff;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.module-row.active{border-color:#b9d3ff;background:#f8fbff;box-shadow:inset 3px 0 #2563eb}.module-row input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb}.module-row strong,.module-row small{display:block}.module-row strong{margin-bottom:3px;font-size:15px;font-weight:650}.footer-actions{justify-content:flex-end;margin-top:10px;padding:10px 0}.license-summary,.plan-grid,.catalog-grid,.integration-grid,.integrations-layout{display:grid;gap:10px}.license-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.mini-card,.plan-card,.catalog-card,.integration-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-card)}.mini-card{display:grid;gap:8px;padding:12px}.mini-card strong,.mini-card small,.catalog-card strong,.catalog-card small,.integration-card strong,.integration-card small,.event-list strong,.event-list small{display:block}.mini-card small,.catalog-card small,.plan-card p,.integration-card small,.event-list small{color:#64748b;font-size:12px;line-height:1.45}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card{display:grid;gap:12px;padding:14px}.plan-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.plan-card h2{margin:0;font-size:17px;font-weight:660;letter-spacing:0}.plan-card-header>strong{color:#1e3a8a;font-size:16px;font-weight:660}.plan-card p{margin:0}.plan-limits,.module-tags{display:flex;flex-wrap:wrap;gap:8px}.plan-limits span,.module-tags span,.catalog-card>span{display:inline-flex;align-items:center;gap:6px;min-height:28px;border-radius:var(--radius);padding:0 9px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:700}.module-tags span{background:#f8fafc;color:#475569}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.integration-grid,.integrations-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px}.catalog-actions{display:grid;justify-items:end;gap:8px}.integration-card{display:grid;gap:12px;padding:14px}.integration-card-header,.integration-provider,.integration-actions,.integration-metrics,.integration-webhook,.event-list article{display:flex;align-items:center;gap:10px}.integration-card-header,.integration-actions,.event-list article{justify-content:space-between}.provider-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:var(--radius);background:#eff6ff;color:#2563eb}.integration-metrics{flex-wrap:wrap}.integration-metrics span{display:inline-flex;align-items:center;gap:6px;min-height:28px;border-radius:var(--radius);padding:0 9px;background:#f8fafc;color:#475569;font-size:12px;font-weight:700}.integration-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.integration-detail>div,.integration-rules>div,.integration-webhook,.event-list article{border:1px solid var(--border-soft);border-radius:var(--radius);padding:9px 10px}.integration-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.integration-rules strong{color:#334155;font-size:12px;font-weight:650;line-height:1.4}.integration-webhook{min-width:0;color:#475569;font-size:12px}.integration-webhook span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-list{display:grid;gap:10px}.lifecycle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.lifecycle-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;border:1px solid var(--border-soft);border-radius:var(--radius);padding:12px;background:#fbfdff}.lifecycle-step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius);background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:760}.lifecycle-step strong,.lifecycle-step small{display:block}.lifecycle-step strong{margin-bottom:4px;font-size:13px}.lifecycle-step small{color:#64748b;font-size:12px;line-height:1.45}.endpoint-list,.webhook-tags{display:flex;flex-wrap:wrap;gap:8px}.endpoint-list span,.webhook-tags span{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid var(--border-soft);border-radius:var(--radius);padding:0 10px;background:#f8fafc;color:#334155;font-size:12px;font-weight:700}.event-list article>div:last-child{display:grid;justify-items:end;gap:5px}.alert-list{display:grid;gap:10px}.alert-list article{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--border-soft);border-radius:var(--radius);padding:9px 11px;color:#334155;font-weight:650}.invoice-list{display:grid;gap:10px}.invoice-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid var(--border-soft);border-radius:var(--radius);padding:10px 12px}.invoice-row strong,.invoice-row small{display:block}.invoice-row small{margin-top:3px}.invoice-row>div:nth-child(2){display:grid;justify-items:end;gap:5px;min-width:96px}@media(max-width:1180px){.kpi-grid,.crud-layout,.charts-grid,.reports-grid,.module-list,.pricing-summary,.license-summary,.plan-grid,.catalog-grid,.integration-grid,.lifecycle-grid,.integrations-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.login-page{grid-template-columns:1fr;padding:24px}.login-copy h1{font-size:32px}.login-metrics,.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.panel-header,.form-title,.section-header{align-items:flex-start;flex-direction:column}.kpi-grid,.crud-layout,.charts-grid,.reports-grid,.field-grid.two,.field-grid.three,.field-grid.four,.module-list,.pricing-summary,.license-summary,.plan-grid,.catalog-grid,.integration-grid,.lifecycle-grid,.integrations-layout,.integration-rules,.integration-detail{grid-template-columns:1fr}.search-field,.table-tools,.topbar-actions,.button{width:100%}}@media(max-width:520px){.login-page{padding:14px}.login-card{padding:18px}.login-options{align-items:flex-start;flex-direction:column}.main{padding:14px}.sidebar nav{grid-template-columns:1fr}.topbar h1{font-size:21px}.invoice-row{align-items:flex-start;grid-template-columns:1fr}.invoice-row>div:nth-child(2),.catalog-actions,.event-list article>div:last-child{justify-items:start}.field-wide{grid-column:auto}.integration-card-header,.integration-actions,.event-list article{align-items:flex-start;flex-direction:column}}
