/* Company site and role portals */
.portal-page {
  --sun-bg:#0b1715; --sun-surface:#142420; --sun-line:#ffffff21;
  --sun-text:#f4f1e7; --sun-muted:#bac8bd; --sun-gold:#e5ba79;
  color:var(--sun-text);
  background:radial-gradient(ellipse at 82% 0%,#233c31 0%,transparent 52%),var(--sun-bg);
  display:flex; flex-direction:column;
}
.portal-page main { flex:1; }
.portal-page p { color:var(--sun-muted); font-size:15px; }
.portal-page h1,.portal-page h2,.portal-page h3 { color:var(--sun-text); }
.portal-page h1 { line-height:1.04; letter-spacing:-.055em; font-size:clamp(38px,5.5vw,70px); }
.portal-page h2 { letter-spacing:-.035em; }
.portal-page a:focus-visible,.portal-page button:focus-visible,.portal-page summary:focus-visible {
  outline:2px solid var(--sun-gold); outline-offset:4px;
}
.sun-wrap { width:min(100% - 88px,1320px); margin-inline:auto; }
.sun-header { border-bottom:1px solid var(--sun-line); background:#0b1715; position:relative; z-index:2; }
.sun-header .sun-wrap { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.sun-brand { display:inline-flex; gap:12px; align-items:center; flex:none; }
.sun-brand-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid #e5ba7973; background:#d4a86612; color:var(--sun-gold); border-radius:10px; }
.sun-brand-icon svg { width:24px; height:24px; }
.sun-brand strong,.sun-brand small { display:block; }
.sun-brand strong { font:800 17px var(--sun-type); letter-spacing:.12em; line-height:1.05; }
.sun-brand small { font-size:9px; letter-spacing:.28em; color:var(--sun-gold); margin-top:5px; }
.sun-header nav { display:flex; align-items:center; gap:clamp(15px,3vw,44px); font-size:13px; font-weight:700; color:#d2ddd4; }
.sun-header nav a:hover,.sun-footer a:hover { color:var(--sun-gold); }
.portal-page .btn { font-size:13px; min-height:44px; padding:10px 16px; margin-top:0; width:auto; }
.portal-page .btn:not(.primary) { display:inline-flex; color:#f4f1e7; border-color:#ffffff35; }
.portal-page .btn.primary { background:#e5ba79; border-color:#e5ba79; color:#19241c; }
.portal-page .btn.primary:hover { background:#f4d19a; }
.portal-page .actions { flex-wrap:wrap; gap:10px; }
.sun-hero { min-height:clamp(520px,62vw,670px); display:flex; position:relative; align-items:center; isolation:isolate; overflow:hidden; background:#14251c; }
.sun-hero > img,.sun-hero::after { position:absolute; inset:0; width:100%; height:100%; z-index:-2; }
.sun-hero > img { object-fit:cover; object-position:center 52%; }
.sun-hero::after { content:""; z-index:-1; background:linear-gradient(90deg,#091510f0 0%,#091510bb 27%,#09151044 51%,transparent 75%),linear-gradient(0deg,#0b1715b0,transparent 28%); }
.sun-hero-copy { padding-block:74px 96px; }
.sun-label { color:var(--sun-gold); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.sun-label i { display:inline-block; vertical-align:2px; width:7px; height:7px; border-radius:50%; background:#f4c680; box-shadow:0 0 15px #f4c680a0; margin-right:8px; }
.sun-hero h1 { font-size:clamp(60px,8.8vw,125px); font-weight:800; margin:20px 0; letter-spacing:-.082em; line-height:.94; }
.sun-hero h1 em { font-style:normal; color:#efc388; }
.sun-hero p { max-width:400px; color:#e4eae0; margin:0 0 26px; font-size:16px; }
.sun-hero-index { position:absolute; bottom:24px; right:max(44px,calc((100% - 1320px)/2)); color:#eee5d4; font-weight:700; letter-spacing:.16em; font-size:10px; }
.sun-hero-index span { color:var(--sun-gold); }
.sun-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--sun-line); }
.sun-services > div { padding:30px 26px 28px; border-left:1px solid var(--sun-line); }
.sun-services > div:last-child { border-right:1px solid var(--sun-line); }
.sun-services span { color:var(--sun-gold); font:700 11px monospace; }
.sun-services h2 { font-size:22px; margin:8px 0; }
.sun-services p { margin:0; }
.sun-driver-section { padding:75px 0; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; border-bottom:1px solid var(--sun-line); }
.sun-driver-section h2,.sun-faq h2,.sun-bottom h2 { font-size:clamp(34px,5vw,65px); line-height:1; margin:14px 0; }
.sun-driver-section > div > p { max-width:370px; }
.sun-roles { display:grid; gap:10px; }
.sun-roles article { display:flex; align-items:center; gap:18px; padding:17px 20px; border-radius:12px; background:#ffffff06; border:1px solid var(--sun-line); }
.sun-roles article svg { color:var(--sun-gold); width:24px; height:24px; flex:none; }
.sun-roles h3,.sun-roles p { margin:0; }
.sun-faq { max-width:800px; padding:70px 0 55px; }
.portal-page details { border-color:var(--sun-line); }
.portal-page summary { cursor:pointer; font-weight:800; }
.sun-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:30px; margin-bottom:44px; border:1px solid #e5ba7955; border-radius:16px; background:linear-gradient(110deg,#263b2c,#142420); }
.sun-bottom h2 { font-size:clamp(29px,4vw,48px); margin-bottom:0; }
.portal-page .sun-footer { padding:21px 0; border-top:1px solid var(--sun-line); color:var(--sun-muted); }
.sun-footer .sun-wrap { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; }
.portal-page .card { color:var(--sun-text); border:1px solid var(--sun-line); background:linear-gradient(155deg,#1b2d26,#13231f); border-radius:15px; }
.portal-page .eyebrow,.portal-page .config-note { color:#dac29b; }
.portal-page .config-note { background:#e5ba7910; border-color:#e5ba7944; }
.portal-page label { color:#d9e3d7; }
.portal-page input,.portal-page select,.portal-page textarea { color:var(--sun-text); background:#0c1b17; border:1px solid #ffffff38; color-scheme:dark; border-radius:8px; padding:12px; width:100%; }
.portal-page input::placeholder,.portal-page textarea::placeholder { color:#99aa9e; }
.portal-page input:focus,.portal-page select:focus,.portal-page textarea:focus { outline:2px solid #e5ba79b3; outline-offset:1px; }
.portal-page .portal-intro { width:min(100% - 88px,1160px); padding:0; }
.portal-page .portal-intro h1 { margin-block:14px; }
.portal-page .portal-card .btn { margin:6px 8px 6px 0; }
.portal-page .portal-dashboard { padding-block:10px 35px; }
.portal-page .account-link { border-color:var(--sun-line); }
.sun-form-page,.sun-driver-workspace { padding-block:clamp(34px,6vw,75px); }
.sun-form-page { max-width:1000px; }
.sun-form-page h1,.sun-driver-banner h1 { margin:10px 0 14px; }
.sun-form { padding:clamp(18px,4vw,40px); margin-top:24px; }
.sun-form .actions { margin-top:20px; }
.sun-form [role="status"]:empty { display:none; }
.sun-shipment,.sun-trip,.sun-driver-panel { padding:clamp(16px,3vw,27px); margin:18px 0; overflow-wrap:anywhere; }
.sun-shipment-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.sun-status { border-radius:100px; background:#e5ba791c; border:1px solid #e5ba7944; padding:5px 10px; color:#f0cb96; font-size:12px; }
.sun-shipment h2 { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.sun-shipment h2 svg { width:18px; height:18px; color:var(--sun-gold); }
.sun-update { border-left:2px solid var(--sun-gold); padding:4px 0 4px 14px; white-space:pre-wrap; }
.sun-review { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,3fr) auto; gap:12px; align-items:end; }
.sun-review [role="status"] { grid-column:1/-1; }
.sun-driver-banner { display:flex; justify-content:space-between; gap:22px; align-items:center; padding:clamp(22px,5vw,56px); border:1px solid #e5ba794d; border-radius:18px; background:linear-gradient(90deg,#0b1c16fa 0%,#0b1c16d9 63%,#0b1c1670),url('assets/golden-highway.webp') center 58% / cover; }
.sun-driver-banner h1 { font-size:clamp(34px,5vw,66px); }
.sun-driver-banner p { margin-bottom:0; }
.sun-driver-stats { margin-block:18px 38px; }
.sun-driver-stats small,.sun-trip-route small { color:#afc2b5; font-size:10px; font-weight:800; letter-spacing:.11em; }
.sun-driver-stats h2 { margin:10px 0 0; font-size:clamp(26px,4vw,42px); }
.sun-driver-grid { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:22px; }
.sun-driver-loads h2 { margin:8px 0 16px; }
.sun-driver-loads + .sun-driver-loads { margin-top:28px; }
.sun-driver-panel { margin-top:0; }
.sun-driver-panel h2 { margin:8px 0 14px; }
.sun-driver-panel ul { padding-left:20px; color:var(--sun-muted); line-height:1.6; }
.sun-driver-panel li + li { margin-top:9px; }
.sun-trip-route { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:15px; }
.sun-trip-route > div { padding:15px; background:#0b1b166e; border:1px solid var(--sun-line); border-radius:9px; }
.sun-trip-route h3 { margin:7px 0; font-size:17px; }
.sun-trip-route a { color:#f0cb96; text-decoration:underline; }
.sun-trip-action { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.sun-trip strong { color:var(--sun-text); }
.sun-trip p { white-space:pre-wrap; }
.sidebar .nav:focus-visible,.sidebar .brand:focus-visible { outline:2px solid #e5ba79; outline-offset:2px; }

@media (max-width:860px) {
  .sun-wrap,.portal-page .portal-intro { width:min(100% - 42px,1320px); }
  .sun-header .sun-wrap { flex-wrap:wrap; padding-block:14px; gap:12px; }
  .sun-header nav { order:3; width:100%; padding-top:5px; flex-wrap:wrap; }
  .sun-hero-index { right:21px; }
  .sun-driver-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .sun-header .sun-header-quote { font-size:12px; padding-inline:10px; }
  .sun-header nav { font-size:12px; justify-content:space-between; gap:8px; }
  .sun-hero { display:block; min-height:0; padding-top:220px; }
  .sun-hero > img { height:295px; object-position:73% center; }
  .sun-hero::after { background:linear-gradient(0deg,#0b1715 0%,#0b1715 46%,transparent 90%); }
  .sun-hero-copy { padding-block:0 58px; }
  .sun-hero h1 { font-size:clamp(48px,13vw,76px); margin:12px 0; }
  .sun-hero p { font-size:14px; margin-bottom:18px; }
  .sun-hero-index { bottom:15px; }
  .sun-services,.sun-driver-section,.sun-review { grid-template-columns:1fr; }
  .sun-services > div { border-right:1px solid var(--sun-line); border-top:1px solid var(--sun-line); padding:18px; }
  .sun-driver-section,.sun-faq { padding-block:38px; }
  .sun-driver-section { gap:24px; }
  .sun-bottom,.sun-driver-banner { align-items:flex-start; flex-direction:column; }
  .sun-driver-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:24px; }
  .sun-driver-stats .card { padding:14px; }
  .sun-driver-stats .card:nth-child(2) { grid-column:2; grid-row:1 / span 2; }
  .sun-driver-stats h2 { font-size:clamp(23px,6vw,33px); }
  .sun-form .formgrid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .portal-page .btn { transition:none; } }

.sun-auth-card h1 { font-size:clamp(34px,5.5vw,54px); margin:12px 0; }
.sun-auth-card form { display:grid; gap:14px; }
.sun-auth-card form .btn { justify-self:start; }
.sun-auth-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sun-auth-card .sun-auth-message { color:#f3b399; margin:0; }
.sun-auth-message:empty { display:none; }
.sun-recovery { display:block; overflow-wrap:anywhere; padding:16px; margin-block:18px; border:1px solid var(--sun-line); border-radius:8px; background:var(--sun-bg); color:var(--sun-gold); }
.sun-footer-logout,.sun-workspace-logout { cursor:pointer; background:none; border:0; color:inherit; }
.sun-workspace-logout { width:100%; text-align:left; }
.sun-trip-tools { margin-block:12px; }
.sun-client-response { display:grid; gap:12px; align-items:end; grid-template-columns:1fr 2fr auto; }
.sun-client-response [role="status"] { grid-column:1/-1; }
@media(max-width:700px) { .sun-client-response { grid-template-columns:1fr; } }

/* Consistent, legible type across public and operations pages. */
:root { --sun-type:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body,button,input,select,textarea { font-family:var(--sun-type); }
h1,h2,h3,h4,.sun-brand strong { font-family:var(--sun-type); }
.sun-hero h1 { letter-spacing:-.062em; word-spacing:.06em; }
.portal-page h1 { word-spacing:.045em; }
.sun-label,.eyebrow { letter-spacing:.12em; }
.sun-header nav,.portal-page label,.sidebar .nav { font-size:13px; }
.sun-header nav a { min-height:42px; display:flex; align-items:center; }
.portal-page p { line-height:1.62; }
.portal-page .btn,.portal-page summary { touch-action:manipulation; }
.portal-page .actions > * { max-width:100%; }
.portal-page input,.portal-page select,.portal-page textarea { min-width:0; font-size:16px; }
.sun-review { grid-template-columns:1fr 1.5fr; align-items:start; }
.sun-review button { justify-self:start; }
.sun-review select { text-overflow:ellipsis; }
.sun-owner-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.sun-owner-shortcuts .card { display:grid; gap:6px; padding:16px; }
.sun-owner-shortcuts svg { width:22px; height:22px; color:#e5ba79; }
.sun-owner-shortcuts strong { color:#fff3dc; font-size:15px; }
.sun-owner-shortcuts span { color:#a8bbb0; line-height:1.45; font-size:13px; }

/* Perspective freight route, with a still layout for reduced-motion devices. */
.sun-route-panel { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:28px; border-bottom:1px solid var(--sun-line); padding:52px 0; }
.sun-route-panel h2 { font-size:clamp(32px,5vw,61px); margin:10px 0; }
.sun-route-panel p { max-width:390px; }
.sun-route-art { position:relative; min-height:220px; border:1px solid #e5ba7944; border-radius:18px; isolation:isolate; overflow:hidden; perspective:600px; background:radial-gradient(ellipse at 54% 45%,#314f3b,#12251e 63%,#0d1a16); box-shadow:0 12px 30px #0003,inset 0 1px 0 #ffffff16; }
.sun-route-stage { position:absolute; inset:16% 10%; transform-style:preserve-3d; transform:rotateX(51deg) rotateZ(-14deg); border:1px solid #ffffff26; border-radius:16px; background:repeating-linear-gradient(90deg,transparent 0 31px,#c6dec012 32px),repeating-linear-gradient(0deg,transparent 0 31px,#c6dec012 32px),#1d352a; box-shadow:0 7px 0 #142a21,0 15px 0 #10221b,0 24px 25px #0008; }
.sun-route-road { position:absolute; inset:28% 12%; border:1px solid #e5ba7960; border-radius:100px; background:#10201b; box-shadow:inset 0 0 15px #0007; }
.sun-route-road::after { content:""; position:absolute; left:10%; right:10%; top:50%; border-top:2px dashed #edbf7890; }
.sun-route-marker { position:absolute; top:45%; width:18px; height:18px; transform:translateZ(13px); border:3px solid #e7c28b; border-radius:50%; background:#e7c28b36; box-shadow:0 0 20px #e7c28b88; }
.sun-marker-start { left:16%; }
.sun-marker-end { right:16%; }
.sun-route-truck { position:absolute; top:33%; left:45%; width:60px; height:44px; display:grid; place-items:center; transform:translateZ(29px); border-radius:9px; background:#e5ba79; color:#14251d; box-shadow:0 0 24px #e5ba7960; }
.sun-route-truck svg { width:28px; height:28px; }
.sun-route-caption { position:absolute; z-index:1; color:#efcd9a; font-size:10px; font-weight:750; letter-spacing:.12em; padding:7px 9px; border-radius:6px; background:#0b1915; border:1px solid #e5ba7944; }
.sun-route-start { left:7%; bottom:15%; }
.sun-route-end { right:7%; top:15%; }
.sun-services > div,.sun-roles article,.sun-driver-stats .card,.sun-owner-shortcuts .card { box-shadow:inset 0 1px 0 #ffffff0d,0 6px 14px #0002; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .sun-roles article,.sun-owner-shortcuts .card,.sun-route-stage { transition:transform .24s ease,box-shadow .24s ease; }
  .sun-roles article:hover,.sun-owner-shortcuts .card:hover { transform:translateY(-3px); box-shadow:0 12px 24px #0005; }
  .sun-route-art:hover .sun-route-stage { transform:rotateX(46deg) rotateZ(-10deg) translateY(-4px); }
}
@media(max-width:700px) {
  .sun-route-panel,.sun-owner-shortcuts,.sun-review { grid-template-columns:1fr; }
  .sun-route-panel { padding:35px 0; gap:17px; }
  .sun-route-art { min-height:180px; }
  .sun-header nav { font-size:12px; }
  .sun-header .sun-wrap { gap:6px 12px; }
  .sun-header .sun-brand-icon { width:38px;height:38px; }
  .sun-header .sun-brand strong { font-size:14px; }
  .sun-header .sun-brand { gap:8px; }
  .sun-header .sun-header-quote { min-height:40px; }
  .sun-driver-banner .actions,.sun-trip-tools { width:100%; }
  .sun-trip-action .btn,.sun-trip-tools .btn { min-height:44px; }
  .sun-form .formgrid,.sun-client-response { grid-template-columns:1fr; }
}
@media(max-width:370px) {
  .sun-header nav { display:grid; grid-template-columns:1fr 1fr; }
  .sun-header nav a { min-height:32px; }
  .sun-trip-route { grid-template-columns:1fr; }
  .portal-page .btn { white-space:normal; }
}

/* Homepage */
.sun-home { background:radial-gradient(ellipse at 77% 5%,#273c2e 0%,transparent 43%),#0b1715; }
.sun-home .sun-header { background:#0a1614; }
.sun-front { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(26px,5vw,76px); align-items:center; padding-block:clamp(35px,6vw,84px) 28px; }
.sun-front-copy { padding-block:24px; }
.sun-front-kicker { display:inline-flex; align-items:center; gap:2px; border:1px solid #e5ba7950; background:#e5ba7910; padding:8px 12px; border-radius:999px; }
.sun-front h1 { font-size:clamp(50px,6.9vw,96px); line-height:.96; letter-spacing:-.075em; margin:23px 0; }
.sun-front h1 em { font-style:normal; color:#efc388; }
.sun-front p { max-width:35ch; font-size:clamp(15px,1.5vw,18px); margin:0 0 26px; }
.sun-front .actions { gap:10px; }
.sun-front-media { position:relative; margin:0; aspect-ratio:1.23; min-height:390px; border-radius:25px; border:1px solid #d9bb846b; isolation:isolate; overflow:hidden; background:#172820; box-shadow:0 32px 50px #0005,0 6px 0 #314437; }
.sun-front-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:72% center; z-index:-2; }
.sun-front-media::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#081411d9,transparent 36%); z-index:-1; }
.sun-front-frame { position:absolute; inset:12px; border:1px solid #fff3; border-radius:17px; pointer-events:none; z-index:-1; }
.sun-front-media figcaption { position:absolute; left:26px; bottom:26px; display:flex; gap:12px; align-items:center; color:#fff8e7; }
.sun-front-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:9px; color:#1b2a20; background:#e7bd80; box-shadow:0 4px 0 #a07742,0 8px 16px #0006; }
.sun-front-mark svg { width:23px; height:23px; }
.sun-front-media figcaption small,.sun-front-media figcaption strong { display:block; }
.sun-front-media figcaption strong { font-size:16px; }
.sun-front-media figcaption small { color:#e7c797; font-size:9px; letter-spacing:.14em; margin-top:4px; }
.sun-front-steps { margin-top:24px; gap:14px; border:0; }
.sun-front-steps > div,.sun-front-steps > div:last-child { border:1px solid #ffffff22; border-radius:16px; padding:22px; background:linear-gradient(155deg,#23382e,#13231f); }
.sun-front-steps > div > span { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:8px; background:#e5ba7917; border:1px solid #e5ba7944; }
.sun-front-steps h2 { margin-top:13px; }
.sun-front-steps p { font-size:14px; }

.sun-owner-shortcuts { grid-template-columns:repeat(4,minmax(0,1fr)); }
.vault-hero { position:relative; isolation:isolate; overflow:hidden; display:flex; justify-content:space-between; align-items:end; gap:22px; padding:clamp(22px,4vw,48px); border:1px solid #e5ba794d; border-radius:20px; background:linear-gradient(105deg,#23382f 5%,#12241f 70%); }
.vault-hero::after { content:""; position:absolute; z-index:-1; width:440px; height:280px; right:-130px; top:-105px; transform:rotate(-17deg); background:repeating-linear-gradient(90deg,transparent 0 24px,#e7c48e15 25px 26px),repeating-linear-gradient(0deg,transparent 0 24px,#e7c48e15 25px 26px); border:1px solid #e5ba7935; border-radius:36px; box-shadow:0 16px 0 #0003; }
.vault-hero h1 { font-size:clamp(34px,5vw,65px); letter-spacing:-.05em; margin:8px 0 10px; line-height:1; }
.vault-hero p { color:#c2d1c6; line-height:1.55; margin:0; }
.vault-hero-actions { display:flex; gap:8px; flex-wrap:wrap; }
.vault-summary { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:20px; margin:18px 0; }
.vault-summary-usage { align-self:center; min-width:0; }
.vault-summary-usage > div { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:11px; }
.vault-summary-usage strong,.vault-sync strong { font-size:15px; }
.vault-summary-usage span { color:#abc0b2; font-size:12px; }
.vault-summary-usage progress { width:100%; height:9px; border:0; appearance:none; background:#0d1b16; border-radius:30px; color:#e5ba79; }
.vault-summary-usage progress::-webkit-progress-bar { background:#0d1b16; border-radius:30px; }
.vault-summary-usage progress::-webkit-progress-value { background:#e5ba79; border-radius:30px; }
.vault-summary-usage progress::-moz-progress-bar { background:#e5ba79; border-radius:30px; }
.vault-sync { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding-left:16px; border-left:1px solid #ffffff24; }
.vault-sync > a { display:inline-flex; gap:5px; align-items:center; color:#efc58d; font-size:12px; }
.vault-sync svg { width:14px; height:14px; }
.vault-browser { margin:18px 0 35px; padding:18px; }
.vault-browser-top { display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; padding-bottom:13px; border-bottom:1px solid #ffffff24; }
.vault-tabs { display:flex; gap:4px; padding:4px; border:1px solid #ffffff21; border-radius:9px; }
.vault-tabs button { border:0; color:#c0d0c6; background:none; padding:7px 10px; border-radius:6px; font-weight:650; cursor:pointer; }
.vault-tabs button[aria-pressed=true] { background:#e5ba7924; color:#f5d6a9; }
#vault-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
#vault-filters input,#vault-filters select,.vault-editor input,.vault-editor select,.vault-editor textarea { color:#edf4ee; background:#0d1b16; border:1px solid #ffffff32; border-radius:8px; min-width:0; min-height:40px; padding:8px 10px; font-size:16px; color-scheme:dark; }
.vault-editor { display:grid; gap:12px; }
.vault-editor label { display:grid; gap:5px; }
.vault-editor input,.vault-editor textarea,.vault-editor select { width:100%; max-width:100%; }
.vault-editor p:empty { display:none; }
.vault-items { margin:0; padding:0; list-style:none; }
.vault-item { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; padding-block:13px; border-bottom:1px solid #ffffff17; }
.vault-item-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; border:1px solid #e5ba793c; background:#e5ba7913; color:#e8bd83; }
.vault-item-icon svg { width:19px; height:19px; }
.vault-item-main { overflow-wrap:anywhere; }
.vault-item-main button { display:block; text-align:left; border:0; background:none; color:#fff2db; font-size:15px; font-weight:700; cursor:pointer; padding:3px 0; overflow-wrap:anywhere; }
.vault-item-main small { color:#adc0b3; }
.vault-item-actions,.vault-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.vault-item-actions .btn,.vault-pagination .btn,.vault-summary .btn,.vault-hero .btn,.vault-browser .btn { min-height:40px; }
.vault-pagination { margin-top:13px; color:#b2c3b7; }
.vault-pagination span { margin-right:auto; }
.vault-empty { text-align:center; padding:35px 8px; color:#b9c8bd; }
.vault-empty svg { width:30px; height:30px; color:#e5ba79; }
.vault-empty h2 { color:#eeeadd; margin:5px 0; }
.vault-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

@media(max-width:1000px) {
  .sun-owner-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sun-front-media { min-height:340px; }
}
@media(max-width:760px) {
  .sun-front { grid-template-columns:1fr; gap:21px; padding-top:20px; }
  .sun-front-copy { padding:0; }
  .sun-front h1 { font-size:clamp(51px,12.4vw,85px); margin:15px 0; }
  .sun-front p { margin-bottom:16px; }
  .sun-front-media { min-height:0; max-height:380px; aspect-ratio:1.55; border-radius:17px; }
  .sun-front-media figcaption { left:20px; bottom:20px; }
  .sun-front-frame { inset:8px; border-radius:12px; }
  .sun-front-steps { margin-top:10px; }
  .vault-hero { align-items:start; flex-direction:column; }
  .vault-summary { grid-template-columns:1fr; }
  .vault-sync { padding:12px 0 0; border-left:0; border-top:1px solid #ffffff24; }
  .vault-item { grid-template-columns:38px minmax(0,1fr); }
  .vault-item-actions { grid-column:2; }
  #vault-filters { width:100%; }
  #vault-filters label { min-width:0; flex:1 1 140px; }
  #vault-filters input,#vault-filters select { width:100%; }
}
@media(max-width:440px) {
  .sun-front-steps,.sun-owner-shortcuts { grid-template-columns:1fr; }
  .vault-browser { padding:12px; }
  .vault-hero .btn:not(.primary),.vault-summary .btn:not(.primary),.vault-browser .btn:not(.primary) { display:inline-flex; }
  .vault-item-actions .btn { min-height:44px; }
}

.tax-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:18px 0; }
.tax-toolbar label { display:flex; align-items:center; gap:9px; font-weight:650; }
.tax-toolbar select { min-height:40px; padding:8px 10px; background:#13241f; color:#f2efdf; border:1px solid #ffffff32; border-radius:8px; font-size:16px; color-scheme:dark; }
.tax-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.tax-metrics .card { display:grid; gap:8px; padding:17px; }
.tax-metrics strong { font-size:clamp(20px,2.5vw,31px); color:#f4d5a6; overflow-wrap:anywhere; }
.tax-metrics small,.tax-metrics span { color:#becdc2; line-height:1.45; }
.tax-section { padding:clamp(14px,3vw,24px); margin:16px 0; }
.tax-section h2 { margin:0 0 10px; }
.tax-section p,.tax-section li { line-height:1.65; color:#bdcdc1; }
.tax-section summary { cursor:pointer; padding:12px 0; }
.tax-section a { color:#e8bf85; text-decoration:underline; }
.tax-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.tax-section .tablewrap { overflow:auto; margin-bottom:12px; }
.tax-section .tablewrap table { min-width:520px; }
.tax-section .btn,.tax-toolbar .btn { min-height:40px; }
@media(max-width:900px) { .tax-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:440px) { .tax-hero .btn:not(.primary),.tax-section .btn:not(.primary) { display:inline-flex; } }
