
:root{--navy:#10243e;--orange:#f28c28;--bg:#f4f7fb;--line:#dbe3ee;--text:#182334;--muted:#66758a;--danger:#b42318;--success:#16794b;--shadow:0 12px 35px rgba(20,41,73,.08)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}a{color:#1d5fa7;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:26px;margin-bottom:3px}h2{font-size:18px}small{display:block;color:var(--muted);font-weight:400}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy),#081729);color:#fff;padding:24px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--orange);display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px}.brand strong{display:block}.brand small{color:#aebed2}.sidebar nav{display:grid;gap:6px;margin:30px 0}.sidebar nav a{color:#d9e3ee;padding:12px 14px;border-radius:10px}.sidebar nav a:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.user-chip span{display:block;color:#aebed2;font-size:12px}.link-button{border:0;background:none;padding:8px 0;color:inherit;cursor:pointer;font:inherit}.sidebar .link-button{color:#f1b575}.main{min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--line);min-height:88px;padding:18px 30px;display:flex;align-items:center;gap:16px}.topbar p{margin:0;color:var(--muted)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;font-size:20px}.content{padding:28px;max-width:1500px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);margin-bottom:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.compact{gap:12px}.stats{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:26px;color:var(--navy)}.stat span{color:var(--muted);font-size:13px}.website-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f6;padding:13px 0}.activity{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f6;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer}.button.primary{background:var(--orange);border-color:var(--orange);color:#fff}.button.ghost{background:#fff}.button.small{padding:7px 11px;font-size:13px}.button.wide{width:100%;margin-top:10px}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf2f7;color:#41546c;font-size:11px;text-transform:uppercase}.badge.active,.badge.published,.badge.validated,.badge.completed{background:#e4f6ed;color:#126c42}.badge.suspended,.badge.failed,.badge.rejected,.badge.trash{background:#fee9e7;color:#a12a20}.badge.provisioning,.badge.draft,.badge.pending_review,.badge.uploaded{background:#fff4dc;color:#8a5a00}.alert{border-radius:12px;padding:14px 16px;margin-bottom:20px}.alert.success{background:#e9f8f0;border:1px solid #b9e4cc;color:#126c42}.alert.danger{background:#fff0ef;border:1px solid #f4c5c0;color:var(--danger)}.alert.warning,.note{background:#fff8e8;border:1px solid #f3d896;color:#6e5200;border-radius:10px;padding:13px}.muted{color:var(--muted)}label{display:block;font-weight:650;font-size:13px;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd9e6;border-radius:9px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus,textarea:focus,.wysiwyg:focus{outline:3px solid rgba(242,140,40,.16);border-color:var(--orange)}.checkbox{display:flex;align-items:flex-start;gap:9px;font-weight:500}.checkbox input{width:auto;margin-top:4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #e8edf3;vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase}td strong{display:block}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.module{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.module b{display:block;color:var(--navy);margin-bottom:5px}.module span{color:var(--muted);font-size:13px}.details{display:grid;grid-template-columns:180px 1fr;gap:10px}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:600}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}fieldset{border:1px solid var(--line);border-radius:12px;padding:15px;margin:18px 0}legend{font-weight:800;padding:0 8px}.content-form{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.sticky{position:sticky;top:20px}.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;background:#f4f7fb;border:1px solid #cfd9e6;border-bottom:0;border-radius:9px 9px 0 0;padding:7px}.editor-toolbar button{background:#fff;border:1px solid #d3dce8;border-radius:6px;padding:6px 9px}.wysiwyg{min-height:350px;padding:16px;border:1px solid #cfd9e6;border-radius:0 0 9px 9px;background:#fff}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.media-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;overflow:hidden}.media-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-preview{height:120px;background:#eaf0f7;border-radius:9px;display:grid;place-items:center;color:#60748d;font-weight:800;margin-bottom:10px}.danger-text{color:var(--danger)}.setup-body,.auth-body{background:linear-gradient(135deg,#eef3f9,#fff7ed);min-height:100vh}.setup-wrap{max-width:1240px;margin:auto;padding:38px 22px}.setup-heading{display:flex;gap:14px;align-items:center;margin-bottom:25px}.check{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #edf1f6;font-size:13px}.check .ok{color:var(--success)}.check .bad{color:var(--danger)}.auth-body{display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(20,41,73,.14);padding:32px}.login-brand{margin-bottom:30px;color:var(--navy)}code{background:#edf2f7;padding:2px 5px;border-radius:5px}@media(max-width:1000px){.stats{grid-template-columns:repeat(3,1fr)}.module-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(3,1fr)}.content-form{grid-template-columns:1fr}.sticky{position:static}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-285px;width:270px;transition:.2s}.sidebar.open{left:0}.menu-toggle{display:block}.topbar{padding:15px 18px}.content{padding:18px}.grid.two{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.permission-grid{grid-template-columns:1fr}}@media(max-width:430px){.stats,.media-grid{grid-template-columns:1fr}.card{padding:17px}.details{grid-template-columns:1fr}}

.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px;font-size:13px}.pagination a,.pagination span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.pagination .disabled{color:#9aa8b8;background:#f3f5f8}
.media-select{max-height:620px;overflow:auto;display:grid;gap:8px}.media-choice{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;margin:0}.media-choice input{width:auto;margin:0}.field-row{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:#fafcff}hr{border:0;border-top:1px solid var(--line);margin:22px 0}ol{padding-left:20px}.form-card{max-width:900px}
.eyebrow{margin:0 0 5px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.installer-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.installer-sidebar{position:sticky;top:20px;padding:14px}.setup-steps{display:grid;gap:5px}.setup-step{display:grid;grid-template-columns:36px 1fr;column-gap:10px;text-align:left;border:0;background:transparent;padding:11px;border-radius:11px;color:var(--text);cursor:pointer}.setup-step>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;font-weight:800}.setup-step b{font-size:13px}.setup-step small{font-size:11px}.setup-step.active{background:#fff2e5}.setup-step.active>span,.setup-step.done>span{background:var(--orange);border-color:var(--orange);color:#fff}.setup-step.done{color:var(--success)}.installer-security-note{margin-top:18px;padding:14px;border-radius:12px;background:#edf4fb}.installer-security-note p{font-size:12px;margin:5px 0 0;color:var(--muted)}.installer-form{min-height:670px;margin:0}.installer-form section[hidden]{display:none}.installer-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.requirements-grid{display:grid;gap:8px;margin-bottom:22px}.requirement-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.requirement-row .status-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;font-weight:900}.requirement-row.ready .status-icon{background:#e5f7ed;color:var(--success)}.requirement-row.blocked .status-icon{background:#fee9e7;color:var(--danger)}.requirement-row.warning .status-icon{background:#fff4dc;color:#8a5a00}.requirement-row p{font-size:11px;color:var(--muted);margin:2px 0 0}.requirement-row>b{font-size:11px}.requirement-row.ready>b{color:var(--success)}.requirement-row.blocked>b{color:var(--danger)}.compact-requirements .requirement-row{padding:9px 12px}.health-score{font-size:22px;font-weight:850;color:var(--navy)}.database-grid fieldset{margin:0}.database-result{min-height:24px;margin-top:10px;font-size:12px;font-weight:700}.database-result.success{color:var(--success)}.database-result.error{color:var(--danger)}.confirmation{border:1px solid var(--line);padding:14px;border-radius:12px;margin-top:18px}.tenant-isolation-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.tenant-isolation-preview>div{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fafcff}.tenant-isolation-preview strong,.tenant-isolation-preview span{display:block}.tenant-isolation-preview span{font-size:12px;color:var(--muted);margin-top:4px}.password-guidance{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:15px;border-radius:12px;background:#f5f8fc}.password-guidance strong{grid-column:1/-1}.password-guidance span{font-size:12px;color:var(--muted)}.password-guidance span.valid{color:var(--success);font-weight:700}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.review-item{border:1px solid var(--line);border-radius:12px;padding:14px}.review-item span,.review-item strong{display:block}.review-item span{font-size:11px;text-transform:uppercase;color:var(--muted)}.review-item strong{margin-top:4px;word-break:break-word}.install-activity summary{cursor:pointer;display:flex;justify-content:space-between}.timeline{list-style:none;padding:0;margin:18px 0 0}.timeline li{display:grid;grid-template-columns:18px 1fr;gap:10px;margin-bottom:12px}.timeline-dot{width:10px;height:10px;border-radius:999px;background:var(--success);margin-top:6px}.timeline-dot.failed{background:var(--danger)}.compact-timeline small{display:block}.install-submit[disabled]{opacity:.65;cursor:wait}@media(max-width:900px){.installer-layout{grid-template-columns:1fr}.installer-sidebar{position:static}.setup-steps{grid-template-columns:repeat(3,1fr)}.setup-step{grid-template-columns:30px 1fr}.installer-security-note{display:none}.tenant-isolation-preview{grid-template-columns:1fr}}@media(max-width:600px){.setup-steps{grid-template-columns:repeat(2,1fr)}.database-grid,.review-grid{grid-template-columns:1fr}.installer-form{padding:18px}.requirement-row{grid-template-columns:30px 1fr}.requirement-row>b{grid-column:2}.password-guidance{grid-template-columns:1fr}.password-guidance strong{grid-column:auto}}
.auth-help{text-align:right;margin-top:12px}.login-brand{display:flex;align-items:center;gap:12px}.alert.warning{background:#fff8e8;border:1px solid #f3d896;color:#6e5200}
.inline-actions{display:flex;align-items:center;gap:10px}.inline-actions form{margin:0}.inline-actions .link-button{color:#1d5fa7;padding:0}
.dashboard-status-strip,.health-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 18px;box-shadow:var(--shadow);margin-bottom:22px}.dashboard-status-strip>div,.health-panel>div{display:grid;grid-template-columns:16px 1fr;column-gap:8px;align-items:center}.dashboard-status-strip small,.health-panel small{grid-column:2;color:var(--muted)}.status-orb{width:10px;height:10px;border-radius:999px;background:#8795a8}.status-orb.good{background:#1d9a61;box-shadow:0 0 0 5px #e5f7ed}.status-orb.warning{background:#e3a220;box-shadow:0 0 0 5px #fff4dc}.status-orb.bad{background:#c83d32;box-shadow:0 0 0 5px #fee9e7}.website-health-row>span:last-child{text-align:right}.badge.healthy,.badge.verified{background:#e4f6ed;color:#126c42}.badge.warning,.badge.unknown,.badge.pending{background:#fff4dc;color:#8a5a00}.badge.critical,.badge.error{background:#fee9e7;color:#a12a20}.health-panel{align-items:center}.health-panel form{justify-self:end;margin:0}@media(max-width:900px){.dashboard-status-strip,.health-panel{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.dashboard-status-strip,.health-panel{grid-template-columns:1fr}.health-panel form{justify-self:start}}
.sidebar .brand{color:#fff}.sidebar-search{margin:22px 0 12px}.sidebar-search input{margin:0;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#fff;padding:9px 11px}.sidebar-search input::placeholder{color:#9fb0c4}.sidebar nav{margin:0;overflow:auto}.sidebar nav a{display:flex;align-items:center;gap:10px}.sidebar nav a>span{width:20px;text-align:center;color:#91a6bd}.sidebar nav a.active{background:rgba(242,140,40,.18);color:#fff}.sidebar nav a.active>span{color:#f7a94f}.nav-label{display:block;color:#7890aa;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:17px 12px 5px}.user-chip{display:block;color:#fff}.user-chip small{color:#8fa5bc}.topbar-title{min-width:0}.topbar-meta{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.environment-pill{font-weight:800;color:#126c42;background:#e4f6ed;padding:5px 9px;border-radius:999px}.sidebar-scrim{display:none}.spec-list{display:grid;gap:9px}.spec-list span{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafcff}.sidebar nav a[hidden]{display:none}@media(max-width:760px){.sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(4,15,29,.5);z-index:20;opacity:0;pointer-events:none;transition:.2s}.sidebar.open+.sidebar-scrim{opacity:1;pointer-events:auto}.topbar-meta{display:none}}
