*{box-sizing:border-box}
:root{--bg:#07111f;--panel:#0d1a2c;--panel2:#102139;--line:rgba(148,163,184,.16);--text:#eef7ff;--muted:#8fa6bd;--cyan:#22d3ee;--blue:#3b82f6;--green:#34d399;--yellow:#fbbf24;--red:#fb7185;--shadow:0 20px 60px rgba(0,0,0,.28)}
html.light{--bg:#f4f7fb;--panel:#fff;--panel2:#f7faff;--line:#dfe7f1;--text:#122033;--muted:#64748b;--shadow:0 20px 50px rgba(30,58,138,.10)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;min-height:100vh}
button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.admin-bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 10%,rgba(34,211,238,.12),transparent 30%),radial-gradient(circle at 85% 80%,rgba(59,130,246,.13),transparent 35%)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{position:relative;width:min(440px,100%);padding:42px;background:rgba(13,26,44,.9);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(18px);text-align:center}.light .login-card{background:var(--panel)}
.brand-mark{width:74px;height:74px;margin:0 auto 20px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(59,130,246,.18));border:1px solid rgba(34,211,238,.28)}.brand-mark img{width:52px;height:52px;object-fit:contain}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--cyan)}h1{font:700 clamp(30px,5vw,42px) Poppins;margin:10px 0 10px}h1 span{color:var(--cyan)}.login-card p{color:var(--muted);margin:0 0 28px}.login-card form{display:grid;gap:16px;text-align:left}.login-card label,.field label{font-size:13px;font-weight:600;color:var(--muted);display:grid;gap:7px}.login-card input,.field input,.field textarea,.field select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);outline:none}.login-card input:focus,.field input:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.1)}.primary-btn{border:0;border-radius:12px;padding:14px 18px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04111e;font-weight:800;margin-top:4px}.primary-btn span{float:right}.demo-note{margin:18px 0;padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px}.demo-note strong{display:block;color:var(--yellow);margin-bottom:4px}.back-link{color:var(--cyan);font-size:13px;text-decoration:none}
.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:252px;padding:24px 16px;display:flex;flex-direction:column;background:rgba(9,20,34,.96);border-right:1px solid var(--line);backdrop-filter:blur(18px)}.light .sidebar{background:rgba(255,255,255,.95)}.side-brand{display:flex;align-items:center;gap:11px;padding:4px 10px 30px}.side-brand img{width:40px;height:40px;object-fit:contain}.side-brand strong{font:600 14px Poppins;display:block}.side-brand small{color:var(--muted);font-size:11px}.sidebar nav,.sidebar-bottom{display:grid;gap:6px}.sidebar-bottom{margin-top:auto}.nav-item,.logout{border:0;background:transparent;color:var(--muted);padding:12px 13px;border-radius:12px;text-align:left;display:flex;align-items:center;gap:12px;font-size:13px;transition:.2s}.nav-item span{width:20px;text-align:center}.nav-item:hover,.nav-item.active{color:var(--text);background:linear-gradient(90deg,rgba(34,211,238,.14),rgba(59,130,246,.07))}.nav-item.active{box-shadow:inset 3px 0 var(--cyan)}.badge{margin-left:auto;background:rgba(251,113,133,.16);color:var(--red);padding:2px 7px;border-radius:99px;font-size:10px}.logout{color:var(--red)}
.main-panel{margin-left:252px;width:calc(100% - 252px);min-width:0}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,42px);border-bottom:1px solid var(--line);background:rgba(7,17,31,.55);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.light .topbar{background:rgba(244,247,251,.78)}.topbar h2{font:600 23px Poppins;margin:3px 0 0}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn,.view-site{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:11px;padding:9px 12px;text-decoration:none;font-size:12px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#03101c;font-weight:800;font-size:12px}.avatar img{width:100%;height:100%;object-fit:cover}.mobile-menu{display:none}.content{padding:clamp(20px,4vw,42px);max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}.page-head h3{font:600 27px Poppins;margin:4px 0}.page-head p{color:var(--muted);margin:0;font-size:13px}.action-row{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:10px 13px;font-size:12px}.btn.primary{background:var(--cyan);border-color:var(--cyan);color:#03101c;font-weight:800}.btn.danger{color:var(--red)}.btn.success{color:var(--green)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:20px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),var(--panel2));border-radius:18px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-30px;background:rgba(34,211,238,.07)}.stat-label{color:var(--muted);font-size:12px}.stat-value{font:700 30px Poppins;margin-top:5px}.stat-meta{font-size:11px;color:var(--green);margin-top:4px}
.grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:20px}.card h4{font:600 16px Poppins;margin:0 0 15px}.activity-list{display:grid;gap:10px}.activity-row{display:flex;gap:12px;padding:12px;border-radius:12px;background:var(--panel2)}.activity-icon{width:34px;height:34px;border-radius:10px;background:rgba(34,211,238,.1);display:grid;place-items:center;color:var(--cyan)}.activity-row strong{font-size:12px}.activity-row small{display:block;color:var(--muted);margin-top:3px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:12px}.data-table th{color:var(--muted);font-weight:600;background:var(--panel2)}.data-table tr:last-child td{border-bottom:0}.data-table td strong{font-weight:600}.thumb{width:52px;height:38px;border-radius:8px;object-fit:cover;background:var(--panel2)}.pill{display:inline-flex;padding:4px 8px;border-radius:99px;background:rgba(34,211,238,.1);color:var(--cyan);font-size:10px}.row-actions{display:flex;gap:5px}.row-actions button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:6px 8px;border-radius:8px;font-size:11px}.row-actions button:hover{color:var(--text);border-color:var(--cyan)}
.search{width:min(300px,100%);padding:10px 12px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.toolbar .action-row{justify-content:flex-end}
.form-card{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.full{grid-column:1/-1}.field textarea{min-height:130px;resize:vertical}.form-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.page-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-editor-grid .card{min-width:0}.page-form{display:grid;gap:16px}.page-form textarea{min-height:150px}
.field-hint{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}
.role-badge{display:inline-flex;margin-top:6px;padding:4px 8px;border:1px solid rgba(34,211,238,.25);border-radius:999px;color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.permission-note{color:var(--muted);font-size:12px}
.bulk-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.selection-count{color:var(--muted);font-size:12px}.bulk-tools .btn{padding:8px 10px}.bulk-tools .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.select-column{width:42px;text-align:center!important}.select-column input{width:16px;height:16px;accent-color:var(--cyan);cursor:pointer}
.empty{padding:45px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:15px}.empty strong{display:block;color:var(--text);margin-bottom:5px}
.profile-form{display:grid;gap:14px;max-width:560px}.profile-form label{font-size:13px;font-weight:600;color:var(--muted);display:grid;gap:7px}.profile-form input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.card hr{border:0;border-top:1px solid var(--line);margin:22px 0}
.admin-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}.admin-profile{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);background:var(--panel);border-radius:16px}.admin-profile img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:var(--panel2);border:1px solid var(--line)}.admin-profile h4{margin:0 0 7px;font:600 15px Poppins}.admin-profile small{display:block;color:var(--muted);font-size:11px;margin-top:9px}
.toast{position:fixed;right:24px;bottom:24px;z-index:100;padding:13px 16px;border-radius:12px;background:var(--text);color:var(--bg);font-size:12px;font-weight:700;transform:translateY(120px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}
@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main-panel{margin-left:0;width:100%}.mobile-menu{display:block;border:0;background:transparent;color:var(--text);font-size:22px;margin-right:12px}.topbar{justify-content:flex-start;gap:12px}.top-actions{margin-left:auto}.view-site{display:none}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.page-editor-grid{grid-template-columns:1fr}}
@media(max-width:620px){.stats{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.content{padding:20px 14px}.topbar{padding:0 14px}.top-actions .icon-btn{display:none}.login-card{padding:30px 22px}}

/* Dashboard refinement */
body { overflow-x: hidden; }
.app-shell { background: linear-gradient(135deg, rgba(34, 211, 238, .025), transparent 35%), var(--bg); }
.sidebar { box-shadow: 12px 0 35px rgba(2, 6, 23, .12); }
.side-brand { min-height: 52px; }
.side-brand img { border-radius: 12px; box-shadow: 0 8px 20px rgba(34, 211, 238, .16); }
.nav-item, .logout { min-height: 44px; }
.nav-item:focus-visible, .logout:focus-visible, .btn:focus-visible, .icon-btn:focus-visible, .view-site:focus-visible, .mobile-menu:focus-visible, .row-actions button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.topbar { box-shadow: 0 8px 24px rgba(2, 6, 23, .06); }
.topbar h2 { letter-spacing: -.02em; }
.mobile-menu { width: 42px; height: 42px; border-radius: 12px; }
.top-actions .icon-btn, .view-site { min-height: 40px; }
.content { width: 100%; }
.page-head { padding-bottom: 4px; }
.page-head h3 { letter-spacing: -.025em; }
.page-head .eyebrow { display: inline-block; margin-bottom: 2px; }
.stats { align-items: stretch; }
.stat { min-height: 126px; display: flex; flex-direction: column; justify-content: center; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.stat:hover { transform: translateY(-3px); border-color: rgba(34, 211, 238, .42); box-shadow: 0 18px 35px rgba(2, 6, 23, .14); }
.card { box-shadow: 0 12px 28px rgba(2, 6, 23, .06); }
.grid-2 > .card { min-height: 150px; }
.btn, .icon-btn, .view-site { transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.btn:hover, .icon-btn:hover, .view-site:hover { transform: translateY(-2px); border-color: var(--cyan); box-shadow: 0 8px 18px rgba(2, 6, 23, .1); }
.btn.primary:hover { background: #67e8f9; border-color: #67e8f9; }
.toolbar { flex-wrap: wrap; padding-bottom: 2px; }
.search { min-height: 40px; }
.data-table th { position: sticky; top: 0; z-index: 1; }
.data-table tbody tr { transition: background .2s ease; }
.data-table tbody tr:hover { background: rgba(34, 211, 238, .055); }
.row-actions button { min-height: 34px; }
.form-card { box-shadow: 0 18px 42px rgba(2, 6, 23, .08); }
.field input, .field textarea, .field select, .login-card input { min-height: 44px; }
.field textarea { line-height: 1.55; }
.form-footer { position: sticky; bottom: 0; background: color-mix(in srgb, var(--panel) 92%, transparent); backdrop-filter: blur(12px); }
.toast { box-shadow: 0 14px 35px rgba(2, 6, 23, .2); }
@media (max-width: 950px) {
	.sidebar { box-shadow: 18px 0 45px rgba(2, 6, 23, .24); }
	.sidebar.open::after { content: ""; position: fixed; left: 252px; top: 0; right: -100vw; bottom: 0; background: rgba(2, 6, 23, .38); z-index: -1; }
	.topbar { height: 76px; }
	.content { padding-top: 26px; }
}
@media (max-width: 620px) {
	.topbar h2 { font-size: 20px; }
	.page-head { gap: 12px; }
	.action-row, .action-row .btn { width: 100%; }
	.action-row .btn { text-align: center; }
	.stats { gap: 10px; }
	.stat { min-height: 104px; padding: 16px; }
	.toolbar { align-items: stretch; }
	.toolbar .search { width: 100%; }
	.form-footer { margin-inline: -14px; padding-inline: 14px; }
	.form-footer .btn { min-width: 100px; }
	.toast { left: 14px; right: 14px; bottom: 14px; text-align: center; }
}

/* Usability pass */
:root { --panel-soft: rgba(16, 33, 57, .72); --focus-ring: 0 0 0 4px rgba(34, 211, 238, .14); }
html.light { --panel-soft: rgba(247, 250, 255, .92); }
body { background-image: linear-gradient(135deg, rgba(34, 211, 238, .035), transparent 38%), linear-gradient(315deg, rgba(59, 130, 246, .045), transparent 42%); }
.sidebar { overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(143, 166, 189, .35) transparent; }
.side-brand { position: sticky; top: 0; z-index: 1; background: inherit; }
.sidebar nav { margin-top: 2px; }
.nav-item { position: relative; min-height: 46px; letter-spacing: .01em; }
.nav-item span { flex: 0 0 20px; color: var(--cyan); font-size: 16px; }
.nav-item.active span { color: var(--text); }
.logout { min-height: 46px; }
.main-panel { min-height: 100vh; }
.topbar { padding-inline: clamp(18px, 4vw, 48px); }
.topbar h2 { font-size: clamp(19px, 2vw, 25px); }
.content { padding-inline: clamp(16px, 4vw, 48px); padding-bottom: 56px; }
.page-head { margin-bottom: 28px; }
.page-head h3 { font-size: clamp(24px, 3vw, 31px); }
.page-head p { max-width: 620px; line-height: 1.55; }
.stats { gap: 16px; }
.stat { border-radius: 14px; padding: 22px; }
.stat-label { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.card { border-radius: 14px; background: linear-gradient(145deg, var(--panel), var(--panel-soft)); }
.grid-2 { gap: 20px; }
.activity-row { border: 1px solid transparent; transition: border-color .2s ease, background .2s ease; }
.activity-row:hover { border-color: rgba(34, 211, 238, .3); background: var(--panel); }
.btn, .icon-btn, .view-site { min-height: 40px; }
.btn.primary { box-shadow: 0 8px 18px rgba(34, 211, 238, .16); }
.btn:focus-visible, .icon-btn:focus-visible, .view-site:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.toolbar { padding: 4px 0 18px; }
.search { border-radius: 10px; }
.table-wrap { box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.data-table th { text-transform: uppercase; letter-spacing: .06em; font-size: 10px; }
.data-table td { vertical-align: middle; line-height: 1.45; }
.data-table tbody tr:hover { background: rgba(34, 211, 238, .08); }
.form-card, .page-editor-grid .card { padding: clamp(18px, 3vw, 28px); }
.form-grid { gap: 18px; }
.field label, .profile-form label { gap: 8px; }
.field input, .field textarea, .field select, .profile-form input { border-radius: 10px; transition: border-color .2s ease, box-shadow .2s ease; }
.field input[type="file"], .profile-form input[type="file"] { padding: 9px; cursor: pointer; border-style: dashed; }
.field input[type="file"]::file-selector-button, .profile-form input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 11px; border: 0; border-radius: 7px; background: var(--cyan); color: #03101c; font-weight: 800; cursor: pointer; }
.upload-field { padding: 14px; border: 1px dashed rgba(34, 211, 238, .4); border-radius: 10px; background: rgba(34, 211, 238, .04); }
.field textarea { min-height: 156px; }
.page-editor-grid { grid-template-columns: minmax(0, 920px); justify-content: start; }
.page-form > .btn { justify-self: start; }
.empty { background: var(--panel-soft); }
.admin-profile { border-radius: 14px; transition: transform .2s ease, border-color .2s ease; }
.admin-profile:hover { transform: translateY(-2px); border-color: rgba(34, 211, 238, .38); }
@media (max-width: 950px) {
	.sidebar { padding-top: 14px; }
	.side-brand { padding-bottom: 18px; }
	.topbar { padding-inline: 16px; }
	.content { padding-top: 24px; }
}
@media (max-width: 620px) {
	.topbar { gap: 8px; }
	.topbar > div:nth-child(2) { min-width: 0; }
	.topbar h2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.content { padding-inline: 12px; }
	.page-head { margin-bottom: 20px; }
	.page-head h3 { font-size: 24px; }
	.card { padding: 16px; }
	.form-grid { gap: 14px; }
	.form-footer { gap: 10px; }
	.form-footer .btn { flex: 1; }
	.page-form > .btn { width: 100%; }
	.top-actions { gap: 8px; }
}
