:root{--red:#d7192d;--red-dark:#a70e1b;--ink:#111214;--ink2:#1a1c1f;--paper:#f5f6f8;--line:#e6e8ec;--muted:#6c727f;--white:#fff;--shadow:0 10px 30px rgba(16,24,40,.07)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--paper);color:#15171a;line-height:1.45}a{color:inherit}.topbar{height:76px;background:#0d0e10;color:#fff;border-bottom:3px solid var(--red);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;object-fit:cover!important;border-radius:50%;display:block;flex:0 0 48px;background:var(--red)}.brand b{display:block;font-size:.98rem;letter-spacing:.06em}.brand small{display:block;font-size:.64rem;letter-spacing:.18em;color:#aeb3bc;margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.top-actions a{font-size:.82rem;text-decoration:none;font-weight:700;padding:9px 11px;border-radius:8px}.view-site{background:#23262b}.signout{color:#f1b5ba}.menu-btn{display:none;width:42px;height:42px;border:1px solid #35383e;background:#1a1c20;border-radius:9px;padding:10px}.menu-btn span{height:2px;background:#fff;display:block;margin:4px 0}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 76px)}.sidebar{background:#111214;padding:20px 14px 28px;position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto}.side-title{font-size:.62rem;color:#777e89;letter-spacing:.18em;font-weight:800;padding:5px 12px 10px}.sidebar a{display:flex;align-items:center;gap:12px;color:#cfd2d8;text-decoration:none;padding:11px 12px;margin:3px 0;border-radius:9px;font-size:.82rem;font-weight:700;transition:.16s ease}.sidebar a:hover{background:#1d2024;color:#fff}.sidebar a.active{background:var(--red);color:#fff;box-shadow:0 7px 18px rgba(215,25,45,.22)}.nav-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar .nav-icon{width:18px;height:18px}.main{min-width:0;padding:28px 30px 36px;max-width:1500px;width:100%;margin:0 auto}.page-head{background:linear-gradient(120deg,#111214 0%,#1b1d21 65%,#76101a 140%);color:#fff;border-radius:16px;border-left:5px solid var(--red);padding:24px 26px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;box-shadow:var(--shadow)}.page-head small,.eyebrow{font-size:.65rem;color:#f16d78;letter-spacing:.16em;font-weight:800}.page-head h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.025em;font-size:2.2rem;line-height:1;margin:6px 0 0}.page-mark{font-family:Impact,'Arial Narrow',sans-serif;font-style:italic;font-size:4.8rem;line-height:1;color:rgba(255,255,255,.05)}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 18px}.welcome h2{font-size:1.28rem;margin:4px 0}.welcome p{margin:0;color:var(--muted);font-size:.9rem}.primary-action{display:flex;align-items:center;gap:9px;background:var(--red);color:#fff;text-decoration:none;padding:12px 15px;border-radius:10px;font-weight:800;font-size:.84rem;box-shadow:0 8px 20px rgba(215,25,45,.18)}.primary-action .nav-icon{width:18px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:12px;text-decoration:none;box-shadow:var(--shadow);min-height:118px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.metric-card:hover{transform:translateY(-2px);border-color:#efb2b8;box-shadow:0 14px 32px rgba(16,24,40,.11)}.metric-icon{width:44px;height:44px;border-radius:11px;background:#fff0f1;color:var(--red);display:grid;place-items:center}.metric-icon .nav-icon{width:22px;height:22px}.metric-copy{min-width:0}.metric-copy span{display:block;color:#4f5662;font-size:.74rem;font-weight:800}.metric-copy strong{display:block;font-size:1.9rem;line-height:1.05;margin:3px 0;color:#111}.metric-copy small{display:block;color:#8a909a;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-arrow{font-size:1.2rem;color:#a3a7af}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:20px;box-shadow:var(--shadow)}.panel h2{margin-top:0}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:16px}.panel-heading h2{margin:4px 0 0;font-size:1.2rem}.panel-heading p{margin:0;color:var(--muted);font-size:.82rem}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-grid>a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;text-decoration:none}.quick-grid>a:hover{border-color:#efb2b8;background:#fffafa}.quick-grid .nav-icon{width:22px;color:var(--red);flex:0 0 22px}.quick-grid b{display:block;font-size:.82rem}.quick-grid small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.cards,.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.card strong,.stat b{display:block;font-size:1.8rem}.grid,.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chartbox{border:1px solid var(--line);border-radius:11px;padding:16px}.chartbox canvas{width:100%;height:260px}.toolbar,.tabs{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.tabs a{padding:9px 12px;background:#f0f1f3;border-radius:8px;text-decoration:none;color:#222;font-size:.82rem;font-weight:700}.toolbar input,.toolbar select{width:auto;min-width:170px;margin:0}label{font-weight:700;font-size:.82rem}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #d5d8de;border-radius:8px;margin-top:6px;background:#fff;font:inherit}textarea{min-height:90px}.btn,button{background:var(--red);color:#fff;border:0;border-radius:8px;padding:11px 15px;font-weight:800;cursor:pointer}.danger{background:#222}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;background:#fff}.table td,.table th{padding:12px;border-bottom:1px solid #eceef1;text-align:left;white-space:nowrap;font-size:.82rem}.table th{background:#f7f8fa;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#eee;font-size:.72rem;font-weight:800}.frames{display:grid;grid-template-columns:1fr 1.6fr .75fr;gap:12px;align-items:end}.frame{border:2px dashed #bbb;border-radius:10px;display:grid;place-items:center;background:#fafafa;color:#777}.frame.square{aspect-ratio:1}.frame.landscape{aspect-ratio:16/9}.frame.portrait{aspect-ratio:3/4}.upload-previews{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}.preview{overflow:hidden;border-radius:10px;background:#111;border:2px solid #eee}.preview.square{width:150px;aspect-ratio:1}.preview.landscape{width:220px;aspect-ratio:16/9}.preview.portrait{width:130px;aspect-ratio:3/4}.preview img{width:100%;height:100%;object-fit:cover;display:block}.status-pending{color:#9a6700}.status-contacted{color:#005cc5}.status-approved{color:#16803a}.status-rejected{color:#b42318}.mini{font-size:.78rem;color:#666}.member-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.phone{white-space:nowrap}.portal-footer{color:#9298a3;font-size:.7rem;text-align:center;padding:26px 0 4px}.scrim{display:none}.loginbody{min-height:100vh;display:grid;place-items:center;background:#111214;padding:20px}.loginbox{width:min(420px,100%);background:#fff;padding:34px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.loginbox img{width:78px!important;height:78px!important;object-fit:cover;border-radius:50%;display:block}.loginbox input{margin:8px 0}.loginbox button{width:100%;margin-top:8px}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px}
@media(max-width:1120px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar{height:68px;padding:0 14px}.brand img{width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;flex-basis:42px}.brand b{font-size:.84rem}.brand small{font-size:.55rem}.view-site,.signout{display:none}.menu-btn{display:block}.shell{display:block;min-height:calc(100vh - 68px)}.sidebar{position:fixed;z-index:60;top:68px;left:0;width:min(84vw,320px);height:calc(100vh - 68px);transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 40px rgba(0,0,0,.25);padding-bottom:40px}.menu-open .sidebar{transform:translateX(0)}.scrim{position:fixed;inset:68px 0 0;background:rgba(0,0,0,.45);z-index:55}.menu-open .scrim{display:block}.main{padding:18px 14px 28px}.page-head{padding:20px 18px;border-radius:13px;margin-bottom:18px}.page-head h1{font-size:1.75rem}.page-mark{font-size:3.5rem}.welcome{align-items:flex-start}.primary-action{flex:0 0 auto}.grid,.charts{grid-template-columns:1fr}.frames{grid-template-columns:1fr}.cards,.statgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.page-head{padding:18px 16px}.page-head h1{font-size:1.55rem}.page-mark{display:none}.welcome{display:block}.welcome h2{font-size:1.15rem}.primary-action{margin-top:13px;width:100%;justify-content:center}.dashboard-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{grid-template-columns:38px minmax(0,1fr);padding:13px;gap:9px;min-height:105px}.metric-icon{width:38px;height:38px}.metric-icon .nav-icon{width:19px;height:19px}.metric-copy span{font-size:.67rem}.metric-copy strong{font-size:1.65rem}.metric-copy small,.metric-arrow{display:none}.quick-grid{grid-template-columns:1fr}.panel{padding:16px;margin-top:16px}.panel-heading{display:block}.panel-heading p{margin-top:4px}.cards,.statgrid{grid-template-columns:1fr 1fr}.toolbar input,.toolbar select{width:100%;min-width:0}.topbar{padding-left:11px}.brand{gap:9px}.brand b{font-size:.78rem}.brand small{letter-spacing:.12em}}
@media(max-width:380px){.dashboard-grid,.cards,.statgrid{grid-template-columns:1fr}.brand b{font-size:.72rem}}
