/* HELIOS STUDIO WEB V4 — SOLAR CONSOLE
   An original creative-studio design system. Independent of all hosting dashboards.
   Presentation only: order, account, CSRF and admin logic remains in app.py. */
:root {
  --bg:#080f1b; --sidebar:#0c1524; --shell:#0b1625; --card:#101e30;
  --card2:#172a40; --card3:#1d354b; --input:#0a1828;
  --stroke:#294159; --muted:#9cb1c8; --text:#f4f8ff;
  --gold:#f8c677; --gold-pale:#ffe4b8; --teal:#64e5d5; --blue:#93bbf8;
  --shadow:0 22px 65px rgba(0,0,0,.22);
}
:root.theme-light {
  --bg:#f3f6f9;--shell:#f8fbfe;--sidebar:#fff;--card:#fff;--card2:#eff6fc;
  --card3:#e7f1f7;--input:#f7fafc;--stroke:#d6e2ea;--muted:#5e7388;
  --text:#15283b;--gold:#b57a2b;--gold-pale:#925a10;--teal:#078d87;--blue:#335f9a;
  --shadow:0 24px 70px rgba(26,59,85,.07)
}
body{letter-spacing:.002em}::selection{background:#f9be6b;color:#0c2034}
.main-area{background:radial-gradient(ellipse at 86% 1%,rgba(28,124,121,.1),transparent 39%),radial-gradient(ellipse at 6% 52%,rgba(228,168,80,.04),transparent 32%),var(--bg)}
.sidebar{padding:29px 16px 17px;background:radial-gradient(circle at 20% 97%,rgba(33,159,147,.12),transparent 28%),var(--sidebar)}
.sidebar:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),#45ccbd,transparent)}
.sidebar-brand{gap:13px;padding:5px 9px 30px}.brand-emblem{width:51px;height:51px;border-radius:17px;background:linear-gradient(143deg,#122639,#0d1424);box-shadow:inset 0 0 0 1px #edae546b,0 12px 30px #f3ae3c10;position:relative;transform:none}
.brand-emblem:before{content:'';position:absolute;inset:6px;border:1px solid #e2ac6299;clip-path:polygon(50% 0,98% 25%,98% 75%,50% 100%,2% 75%,2% 25%);border-radius:4px}
.brand-emblem span{transform:none;color:#ffdb91;font-family:Georgia,serif;font-weight:900;font-style:italic}
.sidebar-section-title{font-size:10px;letter-spacing:.18em;margin-top:23px}.sidebar-nav{gap:5px}.side-link{border:1px solid transparent;padding:11px 14px;border-radius:12px;font-weight:650;color:var(--muted)}
.side-link.active{border-color:rgba(248,198,119,.29);background:linear-gradient(112deg,rgba(246,179,70,.14),rgba(34,132,130,.1));box-shadow:none}.side-link:hover{border-color:var(--stroke)}
.nav-symbol{font-size:19px;color:var(--teal);width:22px}.sidebar-bottom{padding-top:28px}.sidebar-note{border-radius:17px;background:linear-gradient(140deg,#102e37,#172d3e);padding:19px;border-color:#45c3ae36}.sidebar-caption{font-size:9px;letter-spacing:.11em}
.topbar{height:78px;box-shadow:0 8px 30px #0000000a}.topbar-crumb{letter-spacing:.025em}.crumb-home{font-weight:900;color:var(--text);letter-spacing:.11em}.crumb-dot{background:var(--gold);border:0;box-shadow:0 0 0 4px #e9be7530;width:7px;height:7px}
.topbar-actions{gap:11px}.topbar-search{min-width:238px;max-width:290px;display:flex;align-items:center;gap:10px;text-align:left;background:var(--card);color:var(--muted);border:1px solid var(--stroke);padding:9px 10px;border-radius:13px;font-size:11px;white-space:nowrap;transition:border .2s}
.topbar-search:hover{border-color:var(--teal)}.topbar-search .search-glyph{font-size:23px;color:var(--teal);line-height:1}.topbar-search kbd{font:10px/1.5 Consolas,monospace;border:1px solid var(--stroke);border-radius:5px;padding:1px 5px;margin-left:auto;color:var(--muted)}
.icon-button,.topbar-hint{border-radius:11px}.topbar-order{border-radius:12px;background:linear-gradient(120deg,#f6d09a,#eeb45b);box-shadow:0 7px 24px #f5bc6d15}
.page-main{padding-top:33px}.section-kicker{font-size:10px;letter-spacing:.19em;color:var(--teal)}
/* Unique creative-division home, not a hosting control panel. */
.solar-hero{min-height:425px;grid-template-columns:minmax(0,1.2fr) minmax(265px,.7fr);border-radius:28px;border:1px solid #5ba5a16b;background:linear-gradient(110deg,#0e2335 5%,#153346 54%,#153b41 100%);box-shadow:0 28px 80px #00000025;isolation:isolate}
.hero-grid-pattern{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.32;background-image:linear-gradient(#66d6c41c 1px,transparent 1px),linear-gradient(90deg,#66d6c41c 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,black)}
.solar-hero:after{content:'';position:absolute;width:530px;height:530px;border-radius:50%;right:-260px;top:-320px;border:75px solid #ffd08813;box-shadow:0 0 0 28px #62e7d511;pointer-events:none}
.hero-glow{background:radial-gradient(circle,#15c3bd3d,transparent 62%);top:-160px;right:-130px;width:590px;height:590px}
.hero-copy h1{font-size:clamp(2.9rem,4.7vw,5.5rem);line-height:1.07;max-width:775px;letter-spacing:-.055em;margin:22px 0 19px}
.hero-copy h1 span{background:linear-gradient(90deg,#fdd99c,#f7b859);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-eyebrow{color:#91ebe1;display:flex;align-items:center;gap:8px}.hero-dot-divider{opacity:.6;padding:0 5px}.hero-copy p{font-size:14px;line-height:1.82}.hero-actions .btn{border-radius:12px;min-height:49px}
.hero-mini-meta{border-top:1px solid #ffffff22;padding-top:19px;width:100%}.hero-mini-meta i{background:#5be4ae}.hero-visual{filter:drop-shadow(0 20px 50px #08101a88)}.hero-sun{background:radial-gradient(circle at 28% 26%,#ffe7bd 4%,#f7c975 24%,#d78e39 66%,#8b542c 100%);box-shadow:0 0 0 15px #eab86c36,0 0 0 32px #f4c97209,0 0 140px #ddbd6660,inset -18px -15px 28px #7e502d88}
.studio-strip{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;padding:15px 22px;margin-top:14px;margin-bottom:23px;border:1px solid var(--stroke);border-radius:15px;background:var(--card);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em}
.studio-strip .strip-heading{color:var(--gold);border-right:1px solid var(--stroke);padding-right:22px}
.role-gateways{gap:15px;margin-top:0}.role-gateway{padding:29px 30px 30px;background:linear-gradient(120deg,#11333b,#18283c);border:1px solid #62aaaf47;border-radius:20px;position:relative}
.role-gateway:after{content:'';position:absolute;right:-34px;bottom:-44px;width:145px;height:145px;border:1px solid #7bddd832;border-radius:50%;box-shadow:0 0 0 20px #6adacc0b,0 0 0 42px #6adacc0b;pointer-events:none}.role-staff{background:linear-gradient(120deg,#2c2a33,#1a2b3c);border-color:#d5af7150}
.role-gateway h2{color:#fff}.role-gateway h2 em{color:#f8ce8b}.role-gateway p{color:#c9d5dd;opacity:1}
.metric-card,.content-panel,.quick-card,.stat-tile,.portal-metric,.admin-order,.portal-order,.access-card,.receipt-card{box-shadow:0 10px 28px #00000009}
.metric-card{border-radius:19px;min-height:160px}.metric-featured{background:linear-gradient(125deg,#20414c,#1d3553)}.metric-card strong{font-variant-numeric:tabular-nums}
.quick-grid{gap:14px}.quick-card{border-radius:17px;min-height:92px}.quick-icon{border-radius:14px}.quick-card:hover,.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #00000018}
.content-panel{border-radius:23px}.panel-heading h2{font-size:clamp(1.7rem,2.5vw,2.3rem)}
.catalog-tools{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin:0 0 23px}.catalog-filters{display:flex;flex-wrap:wrap;gap:9px}.catalog-filter{background:var(--card2);border:1px solid var(--stroke);color:var(--muted);padding:9px 15px;border-radius:100px;font-weight:800;font-size:11px;transition:.15s}.catalog-filter:hover{border-color:var(--teal);color:var(--text)}.catalog-filter.is-active{background:var(--gold);color:#1b2431;border-color:transparent}.catalog-count{font-size:11px;color:var(--muted);font-weight:800;white-space:nowrap}
.service-card{border-radius:18px}.service-card[hidden]{display:none!important}.service-card>a{border-radius:10px}.order-form input,.order-form textarea,.order-form select,.admin-filter input,.admin-filter select,.admin-edit input,.admin-edit textarea,.admin-edit select{border-radius:11px}
/* Admin, customer and staff area: strong hierarchy without demo data. */
.solar-admin-head,.solar-portal-hero{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;padding:32px 34px;background:linear-gradient(110deg,#102a3b,#19434c 72%,#27373d);border:1px solid #5bb5a64d;box-shadow:0 18px 46px #00000013}
.solar-admin-head:before,.solar-portal-hero:before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;right:-70px;top:-195px;box-shadow:0 0 0 24px #ffffff08,0 0 0 53px #6ce0d510;border:1px solid #f8d28e33;pointer-events:none}
.solar-admin-head h1,.solar-portal-hero h1{color:#fff;font-size:clamp(2rem,3vw,3rem)}.solar-admin-head em,.solar-portal-hero em{color:#ffd390!important}.solar-admin-head p,.solar-portal-hero p{color:#c9dce2}.solar-admin-head a{color:#ffe0a3}
.admin-stats{gap:14px}.stat-tile{border-radius:19px;transition:transform .2s}.stat-tile:hover{transform:translateY(-3px)}.stat-all{border-color:#6ccdb25c;background:linear-gradient(115deg,#1b4145,#233853)}.admin-order{border-radius:17px}.admin-orders{gap:16px}.order-code{letter-spacing:.06em}
.portal-metric{background:var(--card);border:1px solid var(--stroke);border-radius:18px;padding:24px;position:relative}.portal-metric:first-child{background:linear-gradient(125deg,#1a3d42,#183248);border-color:#55bbac55;color:#fff}.portal-metric:first-child span,.portal-metric:first-child small{color:#cae2dd;opacity:1}
.portal-metric strong{font-variant-numeric:tabular-nums;font-size:2.5rem}.portal-order{border-radius:17px}.staff-person{border-radius:14px}.staff-person:hover{border-color:#7dcfbb55}
/* Portal login */
.solar-access-stage{position:relative;isolation:isolate;min-height:calc(100vh - 220px)}.solar-access-stage:before{content:'';position:absolute;width:450px;height:450px;border:1px solid #5ae4d61b;box-shadow:0 0 0 45px #54ceb60d,0 0 0 90px #f9ca7607;top:8%;left:50%;transform:translateX(-50%);border-radius:50%;pointer-events:none;z-index:-1}
.solar-access-card{border:1px solid var(--stroke);border-radius:23px;background:var(--card);max-width:540px;box-shadow:0 25px 70px #0000001b;position:relative;overflow:hidden}.solar-access-card:before{content:'';position:absolute;height:4px;left:0;top:0;right:0;background:linear-gradient(90deg,#60dccc 0%,#f5c272 52%,#7fadc9 100%)}.solar-access-card .access-icon{background:linear-gradient(140deg,#204c4c,#1f3143);border-color:#a9c2ba55}.solar-access-card h1{line-height:1.08}.solar-access-card label{color:var(--text)}.solar-access-card input{background:var(--input);border:1px solid var(--stroke);color:var(--text)}.solar-access-card input:focus{border-color:var(--teal)}
.solar-access-card .btn{min-height:49px}
/* Quick switcher. No network requests; link destinations remain server-rendered. */
.command-overlay[hidden]{display:none!important}.command-overlay{position:fixed;inset:0;background:#020812bf;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:13vh 16px 20px;backdrop-filter:blur(6px)}
.command-dialog{width:min(590px,100%);background:var(--card);border:1px solid var(--stroke);border-radius:21px;box-shadow:0 30px 90px #0000006b;padding:18px;color:var(--text)}.command-dialog>label{display:flex;gap:8px;align-items:center;color:var(--muted);font-weight:800;font-size:12px}.command-dialog>label:first-letter{color:var(--gold)}.command-dialog>input{width:100%;background:var(--input);padding:15px 17px;border:1px solid var(--stroke);border-radius:12px;margin:12px 0 14px;color:var(--text);outline-offset:2px}
.command-dialog nav{display:grid;gap:4px;max-height:45vh;overflow:auto}.command-dialog nav a{display:flex;gap:16px;align-items:center;padding:11px 14px;border-radius:12px;font-size:19px;color:var(--teal)}.command-dialog nav a span{display:flex;flex-direction:column;font-size:13px;color:var(--text);font-weight:750}.command-dialog nav a small{font-size:11px;color:var(--muted);font-weight:500}.command-dialog nav a b{margin-left:auto;color:var(--muted);font-size:15px}.command-dialog nav a:hover,.command-dialog nav a:focus{background:var(--card2)}.command-dialog nav a[hidden]{display:none}.command-footer{display:flex;justify-content:space-between;margin:15px 5px 2px;font-size:11px;color:var(--muted);border-top:1px solid var(--stroke);padding-top:11px}
/* Light mode keeps the new contrast and avoids unreadable dark hero panels. */
.theme-light .studio-strip{background:#fff}.theme-light .solar-access-card input{background:#f7fafc}.theme-light .role-gateway h2,.theme-light .solar-admin-head h1,.theme-light .solar-portal-hero h1{color:#fff}.theme-light .hero-copy h1{color:#fff}.theme-light .role-gateway p{color:#d3dfe5}.theme-light .sidebar-note{color:#effcfb}
@media(min-width:1350px){.app-shell{grid-template-columns:272px minmax(0,1fr)}}
@media(max-width:1190px){.topbar-search{min-width:auto;max-width:70px}.topbar-search-label,.topbar-search kbd{display:none}.topbar-search .search-glyph{margin:auto}.solar-hero{grid-template-columns:1fr minmax(220px,.62fr)}}
@media(max-width:980px){.solar-hero{grid-template-columns:1fr minmax(200px,.5fr)}.studio-strip{gap:9px 18px}.studio-strip .strip-heading{width:100%;border:0;padding:0}.topbar-search{max-width:48px}}
@media(max-width:760px){.topbar{padding:0 16px}.topbar-search{width:39px;height:39px;padding:6px}.topbar-crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}.topbar-crumb .crumb-home{display:none}.page-main{padding-top:18px}.solar-hero{min-height:0}.studio-strip{padding:15px}.role-gateway{padding:23px}.catalog-tools{align-items:flex-start}.solar-admin-head,.solar-portal-hero{padding:24px}}
@media(max-width:550px){.topbar-hint{display:none}.topbar-actions{gap:7px}.solar-hero{padding:36px 23px}.solar-hero h1{font-size:clamp(2.65rem,11.7vw,4rem)}.studio-strip{gap:7px 14px;font-size:9px}.studio-strip span{flex:1 0 42%}.catalog-filters{gap:7px}.catalog-filter{padding:8px 12px;font-size:10px}.admin-stats{gap:10px}.solar-access-card{padding:25px 23px}.solar-access-stage:before{width:270px;height:270px}.command-overlay{padding-top:9vh}}
@media(prefers-reduced-motion:reduce){.quick-card:hover,.service-card:hover,.stat-tile:hover{transform:none}}

body.command-open{overflow:hidden}
