:root{--ink:#17201e;--green:#123b35;--green2:#1d4d45;--gold:#b18a4a;--paper:#f6f3ed;--line:#ded8cc;--muted:#69716e;--white:#fff;--danger:#9b3f34;--shadow:0 18px 50px rgba(16,47,43,.10)}
#sbpwa-app{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);min-height:100vh;margin:0 calc(50% - 50vw);width:100vw}.sbpwa-shell *{box-sizing:border-box}.sbpwa-shell button,.sbpwa-shell input{font:inherit}.sbpwa-shell a{color:inherit}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--gold);margin:0 0 10px}.muted{color:var(--muted);line-height:1.7}
.sbpwa-login-shell{display:grid;place-items:center;min-height:70vh}.sbpwa-login{max-width:500px;width:min(100%,520px);margin:50px auto;padding:36px 28px;text-align:center}.sbpwa-crest,.install-icon{width:72px;height:72px;background:#fff;padding:5px;overflow:hidden;border:1px solid #d7b878;display:grid;place-items:center;margin:0 auto 20px}.sbpwa-crest img,.install-icon img{width:100%;height:100%;object-fit:contain}.sbpwa-login h1,.sbpwa-hero h1,.sbpwa-section h2,.install-card h2{font-family:Georgia,serif;font-weight:500}.sbpwa-login h1{font-size:38px;margin:0 0 8px}.sbpwa-login form{text-align:left;margin-top:28px}.sbpwa-login label{display:block;font-size:13px;font-weight:700;margin:15px 0}.sbpwa-login input,.upload-box input,.search-box input{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px 14px;margin-top:7px;outline:none}.sbpwa-login input:focus,.upload-box input:focus,.search-box input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(177,138,74,.14)}
.sbpwa-btn,.install-trigger,.sbpwa-outline{border-radius:8px;padding:13px 18px;font-weight:800;cursor:pointer;transition:.2s}.sbpwa-btn{border:0}.sbpwa-btn.primary{background:var(--green);color:#fff}.sbpwa-btn.primary:hover{background:var(--green2)}.sbpwa-btn:disabled,.doc-action:disabled,.doc-delete:disabled{opacity:.55;cursor:wait}.sbpwa-login .sbpwa-btn{width:100%;margin-top:10px}.sbpwa-msg{min-height:18px;margin-top:12px;color:var(--danger);font-size:13px}.sbpwa-msg.success{color:#2e7651}
.sbpwa-hero{background:linear-gradient(120deg,var(--green),var(--green2));color:#fff;padding:clamp(42px,7vw,86px) clamp(20px,7vw,100px);display:flex;align-items:end;justify-content:space-between;gap:30px}.hero-copy h1{font-size:clamp(32px,5vw,58px);margin:0 0 10px}.hero-copy p{max-width:680px;opacity:.82;line-height:1.7}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.install-trigger{background:#d7b878;border:1px solid #d7b878;color:#17201e}.sbpwa-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
.sbpwa-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:-28px auto 60px;padding:0 20px;position:relative}.sbpwa-tile{background:#fff;color:var(--ink);padding:27px;border:1px solid var(--line);min-height:150px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.03);transition:transform .2s,box-shadow .2s}.sbpwa-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.sbpwa-tile+.sbpwa-tile{border-left:0}.sbpwa-tile span{color:var(--gold);font-size:22px;display:block;margin-bottom:22px}.sbpwa-tile strong{display:block;font-family:Georgia,serif;font-size:18px}.sbpwa-tile small{color:var(--muted);display:block;margin-top:7px;line-height:1.5}
.sbpwa-section{max-width:1100px;margin:0 auto 65px;padding:0 20px}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.section-head h2{margin:0}.count{color:var(--muted);font-size:13px}.upload-box{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;margin:20px 0;align-items:end}.file-picker{border:1px dashed var(--gold);background:#fff;border-radius:8px;padding:12px 14px;font-size:13px;font-weight:700;display:block;cursor:pointer}.file-picker input{display:block;margin-top:6px;width:100%}.doc-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}.search-box{width:min(100%,380px);font-size:12px;font-weight:700}.doc-list{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.doc-row{display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}.doc-row:last-child{border:0}.doc-row[hidden]{display:none}.doc-icon{font-size:10px;font-weight:900;color:var(--gold);border:1px solid var(--gold);padding:8px 4px;text-align:center;border-radius:4px}.doc-main strong{display:block;overflow-wrap:anywhere}.doc-main small{color:var(--muted);display:block;margin-top:4px}.doc-action,.doc-delete{border:0;background:none;font-weight:800;cursor:pointer;white-space:nowrap}.doc-action{color:var(--green)}.doc-delete{color:var(--danger)}.service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-list div{padding:22px;border-bottom:1px solid var(--line)}.service-list b{display:block;font-family:Georgia,serif}.service-list span{display:block;color:var(--muted);margin-top:6px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.contact-grid>*{background:#fff;padding:22px;color:var(--green);text-decoration:none;overflow-wrap:anywhere}.empty{padding:45px;text-align:center;color:var(--muted)}
.sbpwa-bottom{position:sticky;bottom:0;background:rgba(18,59,53,.97);backdrop-filter:blur(10px);color:#fff;display:flex;justify-content:center;gap:25px;padding:13px 15px;z-index:30;box-shadow:0 -8px 25px rgba(0,0,0,.08)}.sbpwa-bottom a{color:#fff;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.install-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:100;display:grid;place-items:center;padding:20px}.install-modal[hidden]{display:none}.install-card{background:var(--paper);max-width:420px;width:100%;padding:34px;text-align:center;position:relative;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.close-install{border:0;background:none;position:absolute;right:14px;top:10px;font-size:25px;cursor:pointer}.install-card p{line-height:1.65}.install-help{margin:16px 0;padding:14px 16px;border-left:3px solid var(--gold);background:#fff;text-align:left;color:var(--ink);font-size:13px;line-height:1.7}.install-card .text-btn{position:static;display:block;margin:12px auto;color:var(--muted);font-size:12px;background:none;border:0;cursor:pointer}.sbpwa-modal-open{overflow:hidden}
@media(max-width:850px){.sbpwa-grid{grid-template-columns:1fr 1fr;margin-top:0}.sbpwa-tile+.sbpwa-tile{border-left:1px solid var(--line)}.upload-box{grid-template-columns:1fr}.doc-row{grid-template-columns:42px 1fr auto}.doc-delete{grid-column:3}.service-list,.contact-grid{grid-template-columns:1fr}.sbpwa-hero{display:block}.hero-actions{margin-top:20px}.sbpwa-bottom{gap:18px;overflow:auto;justify-content:flex-start}}
@media(max-width:520px){.sbpwa-grid{grid-template-columns:1fr;padding:0 15px}.sbpwa-section{padding:0 15px}.doc-row{grid-template-columns:40px 1fr}.doc-action,.doc-delete{grid-column:2;justify-self:start}.section-head{align-items:flex-start;gap:12px;flex-direction:column}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions>*{width:100%}.sbpwa-login{padding:25px 18px}.sbpwa-bottom{justify-content:flex-start}.sbpwa-bottom a{font-size:11px}}

/* SamBest Ultra-Classic Executive UI — v2.1 */
:root{
  --sb-deep:#0b2c28;--sb-green:#123b35;--sb-green-2:#1d554a;--sb-gold:#c3a05c;--sb-gold-hi:#e3c985;
  --sb-cream:#f4f0e7;--sb-paper:#fbfaf7;--sb-ink:#18201e;--sb-muted:#68716d;
  --sb-edge:rgba(255,255,255,.72);--sb-shadow:0 22px 55px rgba(7,37,32,.14),0 3px 8px rgba(7,37,32,.08);
  --sb-soft-shadow:0 12px 30px rgba(7,37,32,.10),0 2px 5px rgba(7,37,32,.06);
}
#sbpwa-app{background:radial-gradient(circle at 10% 0%,#fffdf8 0,#f4f0e7 36%,#ebe6db 100%);font-family:"Avenir Next",Avenir,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em;padding-bottom:84px}
.sbpwa-shell{isolation:isolate}.sbpwa-shell h1,.sbpwa-shell h2,.sbpwa-shell h3,.sbpwa-shell strong,.sbpwa-shell b{letter-spacing:.005em}
.sbpwa-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#092a26 0%,#123b35 48%,#1e564a 100%);box-shadow:inset 0 -1px rgba(227,201,133,.38),0 24px 50px rgba(8,39,34,.16);border-bottom:1px solid rgba(227,201,133,.28)}
.sbpwa-hero:before,.sbpwa-hero:after{content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(1px)}
.sbpwa-hero:before{width:420px;height:420px;right:-160px;top:-230px;border:1px solid rgba(227,201,133,.18);box-shadow:0 0 0 35px rgba(227,201,133,.035),0 0 0 70px rgba(227,201,133,.025)}
.sbpwa-hero:after{width:260px;height:260px;left:-160px;bottom:-180px;border:1px solid rgba(255,255,255,.08)}
.hero-copy,.hero-actions{position:relative;z-index:1}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;text-shadow:0 2px 16px rgba(0,0,0,.2)}
.eyebrow{letter-spacing:.24em;text-transform:uppercase;text-shadow:0 1px 0 rgba(0,0,0,.04)}
.sbpwa-grid{margin:-42px auto 72px;z-index:3;perspective:1200px}
.sbpwa-tile{position:relative;border-radius:14px;background:linear-gradient(145deg,#fffefa,#f3efe7);border:1px solid rgba(184,165,121,.42);box-shadow:var(--sb-shadow);overflow:hidden;transform:translateZ(0);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.sbpwa-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.9),transparent 40%,rgba(18,59,53,.025));pointer-events:none}
.sbpwa-tile:after{content:"";position:absolute;left:15px;right:15px;bottom:7px;height:10px;background:rgba(12,46,40,.11);filter:blur(9px);z-index:-1}
.sbpwa-tile:hover{transform:translateY(-7px) rotateX(2deg);box-shadow:0 30px 65px rgba(7,37,32,.18),0 5px 12px rgba(7,37,32,.10);border-color:rgba(195,160,92,.75)}
.sbpwa-tile .tile-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#d8bd7a,#aa8646);color:#fff8e8;border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px rgba(255,255,255,.55),0 8px 16px rgba(100,70,25,.20);font-size:21px;text-shadow:0 2px 3px rgba(0,0,0,.25)}
.sbpwa-tile strong{font-family:Georgia,"Times New Roman",serif;font-size:20px}.sbpwa-tile small{font-size:12px}
.sbpwa-section{position:relative}.sbpwa-section>h2{font-family:Georgia,"Times New Roman",serif;font-size:31px;color:var(--sb-deep)}
.section-head{border-bottom:1px solid rgba(174,157,118,.38)}
.section-head h2{font-size:30px}
.upload-box,.doc-toolbar{background:rgba(255,255,255,.58);border:1px solid rgba(184,165,121,.35);padding:14px;border-radius:14px;box-shadow:var(--sb-soft-shadow);backdrop-filter:blur(12px)}
.upload-box{margin-top:24px}.file-picker,.sbpwa-login input,.upload-box input,.search-box input{border-radius:10px}
.sbpwa-btn,.install-trigger,.sbpwa-outline{border-radius:10px;box-shadow:0 7px 14px rgba(7,37,32,.12),inset 0 1px rgba(255,255,255,.25);position:relative;overflow:hidden}
.sbpwa-btn.primary{background:linear-gradient(145deg,#174a42,#0b302b);border:1px solid rgba(227,201,133,.34);text-shadow:0 1px 2px rgba(0,0,0,.3)}
.sbpwa-btn.primary:active,.install-trigger:active,.sbpwa-outline:active{transform:translateY(1px);box-shadow:0 3px 7px rgba(7,37,32,.12)}
.install-trigger{background:linear-gradient(145deg,#e4cc91,#b18a4a);border-color:#e6d39d;color:#17201e}
.doc-list{border-radius:14px;background:rgba(255,255,255,.7);box-shadow:var(--sb-soft-shadow);backdrop-filter:blur(10px)}
.doc-row{min-height:76px;transition:background .18s ease,transform .18s ease}.doc-row:hover{background:linear-gradient(90deg,rgba(195,160,92,.09),rgba(18,59,53,.025));transform:translateX(2px)}
.doc-icon{background:linear-gradient(145deg,#fffaf0,#eee4cf);box-shadow:inset 0 1px rgba(255,255,255,.9),0 4px 9px rgba(7,37,32,.08);font-size:9px}
.service-list{gap:14px;background:none;border:0}.service-list div{position:relative;border:1px solid rgba(184,165,121,.35);border-radius:14px;background:linear-gradient(145deg,#fffefa,#f1ece3);box-shadow:var(--sb-soft-shadow);transition:transform .2s ease,box-shadow .2s ease}.service-list div:hover{transform:translateY(-3px);box-shadow:0 20px 35px rgba(7,37,32,.12)}
.contact-grid{gap:14px;background:none}.contact-grid>*{border:1px solid rgba(184,165,121,.35);border-radius:14px;background:linear-gradient(145deg,#fffefa,#f1ece3);box-shadow:var(--sb-soft-shadow);transition:transform .2s ease}.contact-grid>*:hover{transform:translateY(-3px)}
.sbpwa-login-shell{background:radial-gradient(circle at 50% 0,#fffdf8,#e9e4da)}.sbpwa-login{border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(241,236,226,.93));border:1px solid rgba(184,165,121,.45);box-shadow:0 35px 90px rgba(7,37,32,.18),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(18px)}
.sbpwa-crest,.install-icon{border-radius:16px;box-shadow:0 14px 30px rgba(7,37,32,.14),inset 0 1px rgba(255,255,255,.9);background:linear-gradient(145deg,#fff,#eee7da)}
.sbpwa-bottom{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(900px,calc(100% - 28px));border:1px solid rgba(227,201,133,.28);border-radius:18px;padding:9px 10px;background:linear-gradient(145deg,rgba(8,43,38,.97),rgba(18,59,53,.97));box-shadow:0 22px 55px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.10);backdrop-filter:blur(18px);gap:5px;justify-content:stretch}
.sbpwa-bottom .bottom-link{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;border-radius:12px;color:rgba(255,255,255,.74);font-size:11px;letter-spacing:.04em;text-transform:uppercase;transition:.2s ease}.bottom-icon{font-size:17px;line-height:1;color:var(--sb-gold-hi);text-shadow:0 2px 5px rgba(0,0,0,.35)}
.sbpwa-bottom .bottom-link:hover,.sbpwa-bottom .bottom-link.is-active{color:#fff;background:linear-gradient(145deg,rgba(227,201,133,.20),rgba(255,255,255,.06));box-shadow:inset 0 1px rgba(255,255,255,.12),0 6px 14px rgba(0,0,0,.12)}
.sbpwa-bottom .bottom-link.is-active:after{content:"";position:absolute;bottom:3px;left:30%;right:30%;height:2px;border-radius:9px;background:var(--sb-gold-hi);box-shadow:0 0 10px rgba(227,201,133,.55)}
.install-modal{backdrop-filter:blur(8px)}.install-card{border-radius:20px;border:1px solid rgba(184,165,121,.5);box-shadow:0 40px 100px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.9)}
@media(max-width:850px){.sbpwa-grid{margin:-12px auto 55px}.sbpwa-bottom{gap:3px}.sbpwa-bottom .bottom-link{padding:9px 7px}}
@media(max-width:520px){#sbpwa-app{padding-bottom:96px}.sbpwa-hero{padding-top:38px;padding-bottom:55px}.sbpwa-grid{padding:0 15px}.sbpwa-tile{min-height:155px;padding:22px}.sbpwa-tile .tile-icon{width:42px;height:42px}.sbpwa-section{padding:0 15px}.sbpwa-bottom{bottom:9px;width:calc(100% - 16px);border-radius:17px;padding:7px 5px}.sbpwa-bottom .bottom-link{flex-direction:column;gap:4px;padding:8px 2px;font-size:8px;letter-spacing:.07em}.bottom-icon{font-size:18px}.sbpwa-bottom .bottom-link.is-active:after{bottom:2px}.hero-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.sbpwa-shell *{scroll-behavior:auto!important;transition:none!important}.sbpwa-tile:hover,.service-list div:hover,.contact-grid>*:hover{transform:none}}

/* SamBest Precision Layout & Executive Hero — v2.2 */
#sbpwa-app{--sb-content:1180px;--sb-gap:22px;overflow-x:hidden}
.sbpwa-hero{padding:0!important;background:linear-gradient(135deg,#071f1c 0%,#0b302a 45%,#16483e 100%);border:0;box-shadow:0 26px 70px rgba(5,30,26,.22)}
.sbpwa-hero:before{right:-110px;top:-250px;width:520px;height:520px;border-color:rgba(227,201,133,.15)}
.sbpwa-hero:after{left:-190px;bottom:-210px;width:360px;height:360px}
.hero-frame{width:min(var(--sb-content),calc(100% - 44px));margin:0 auto;padding:44px 0 88px;display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.6fr) auto;align-items:center;gap:48px;position:relative;z-index:2}
.hero-brand{display:flex;align-items:center;gap:16px;min-width:0}.hero-logo{width:66px;height:66px;flex:0 0 66px;padding:7px;border:1px solid rgba(227,201,133,.55);border-radius:14px;background:linear-gradient(145deg,#fff,#e9e1d1);box-shadow:0 14px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.95);display:grid;place-items:center}.hero-logo img{width:100%;height:100%;object-fit:contain;border-radius:8px}.hero-brand .eyebrow{margin:0;color:#e9d39a;font-size:10px;letter-spacing:.2em}.hero-brand small{display:block;color:rgba(255,255,255,.58);font-size:9px;letter-spacing:.22em;margin-top:8px}.hero-rule{display:block;width:42px;height:1px;background:linear-gradient(90deg,#e3c985,transparent);margin-top:9px}
.hero-copy{min-width:0}.hero-kicker{margin:0 0 9px!important;color:#d9c182!important;font-size:10px!important;font-weight:800;letter-spacing:.22em!important;text-transform:uppercase}.hero-copy h1{font-size:clamp(34px,4.3vw,58px)!important;line-height:1.06!important;margin:0!important;color:#fff}.hero-copy h1 span{color:#e9d39a}.hero-copy>p:last-child{margin:15px 0 0!important;max-width:620px;color:rgba(255,255,255,.72)!important;font-size:15px;line-height:1.7}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:148px}.hero-actions>*{width:148px;text-align:center;min-height:46px}
.sbpwa-grid{width:min(var(--sb-content),calc(100% - 44px));margin:-38px auto 72px!important;padding:0!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;z-index:5}.sbpwa-tile,.sbpwa-tile+.sbpwa-tile{border:1px solid rgba(184,165,121,.42)!important}.sbpwa-tile{min-height:168px;padding:24px!important;display:flex;flex-direction:column;justify-content:flex-end}.sbpwa-tile .tile-icon{margin-bottom:auto}.sbpwa-tile strong{margin-top:20px}.sbpwa-section{width:min(var(--sb-content),calc(100% - 44px));padding:0!important}.sbpwa-section.compact{padding-top:0!important}.section-head{padding-bottom:18px;margin-bottom:24px}.section-head h2,.sbpwa-section>h2{line-height:1.12!important}.upload-box{grid-template-columns:minmax(0,1.25fr) minmax(190px,.8fr) auto!important;gap:12px!important;padding:16px!important}.doc-toolbar{padding:12px!important}.search-box{width:min(100%,420px)}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact-grid>*{min-height:82px;display:flex;align-items:center}.sbpwa-bottom{z-index:60}
.install-trigger[hidden]{display:none!important}.install-card{max-width:460px;padding:38px 34px 30px}.install-card h2{font-size:30px;line-height:1.12;margin:8px 0 10px}.install-card .install-icon{width:78px;height:78px}
@media(max-width:1000px){.hero-frame{grid-template-columns:220px minmax(0,1fr);gap:30px}.hero-actions{grid-column:2;grid-row:2;flex-direction:row;justify-content:flex-start}.hero-actions>*{width:150px}.sbpwa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.hero-frame{width:min(100% - 30px,620px);padding:28px 0 70px;grid-template-columns:1fr;gap:22px}.hero-brand{justify-content:flex-start}.hero-copy h1{font-size:clamp(31px,9vw,43px)!important}.hero-actions{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-actions>*{width:100%;min-height:48px}.sbpwa-grid{width:min(100% - 30px,620px);margin:-28px auto 54px!important;grid-template-columns:1fr 1fr;gap:10px}.sbpwa-tile{min-height:150px;padding:19px!important}.sbpwa-section{width:min(100% - 30px,620px)}.upload-box{grid-template-columns:1fr!important}.service-list,.contact-grid{grid-template-columns:1fr}.sbpwa-bottom{bottom:8px;width:calc(100% - 16px);padding:7px 5px}.sbpwa-bottom .bottom-link{flex-direction:column;gap:4px;padding:9px 2px;font-size:8px}}
@media(max-width:430px){.hero-frame{width:calc(100% - 24px)}.hero-brand{gap:12px}.hero-logo{width:58px;height:58px;flex-basis:58px}.hero-brand .eyebrow{font-size:9px}.hero-actions{grid-template-columns:1fr}.sbpwa-grid{width:calc(100% - 24px);grid-template-columns:1fr}.sbpwa-tile{min-height:138px}.sbpwa-section{width:calc(100% - 24px)}.sbpwa-bottom{width:calc(100% - 10px)}.sbpwa-bottom .bottom-link{font-size:7.5px}}

/* v2.3 Document Directory + clean portal chrome */
body.sbpwa-fullscreen-page .site-header,
body.sbpwa-fullscreen-page .main-header,
body.sbpwa-fullscreen-page .elementor-location-header,
body.sbpwa-fullscreen-page .elementor-location-breadcrumbs,
body.sbpwa-fullscreen-page .breadcrumb,
body.sbpwa-fullscreen-page .breadcrumbs,
body.sbpwa-fullscreen-page .yoast-breadcrumb,
body.sbpwa-fullscreen-page .rank-math-breadcrumb,
body.sbpwa-fullscreen-page .page-header,
body.sbpwa-fullscreen-page .entry-header,
body.sbpwa-fullscreen-page .entry-title,
body.sbpwa-fullscreen-page .page-title,
body.sbpwa-fullscreen-page .elementor-page-title,
body.sbpwa-fullscreen-page .elementor-widget-theme-page-title,
body.sbpwa-fullscreen-page .elementor-widget-theme-post-title,
body.sbpwa-fullscreen-page .wp-block-post-title{display:none!important}
body.sbpwa-fullscreen-page{margin:0!important;padding:0!important}
body.sbpwa-fullscreen-page .site-main > .page-header,
body.sbpwa-fullscreen-page .site-main > .entry-header,
body.sbpwa-fullscreen-page .site-main > header,
body.sbpwa-fullscreen-page main > .page-header,
body.sbpwa-fullscreen-page main > .entry-header{display:none!important}
body.sbpwa-fullscreen-page #page,body.sbpwa-fullscreen-page .site,body.sbpwa-fullscreen-page .site-content,body.sbpwa-fullscreen-page .content-area{margin:0!important;padding:0!important}
.sbpwa-directory-shell{padding-bottom:100px!important}.directory-hero{width:min(var(--sb-content,1200px),calc(100% - 44px));margin:0 auto;padding:42px 0 34px;display:flex;justify-content:space-between;align-items:center;gap:28px}.directory-brand{display:flex;align-items:center;gap:18px}.directory-brand img{width:72px;height:72px;object-fit:contain;background:#fff;border:1px solid rgba(195,160,92,.55);border-radius:14px;padding:7px;box-shadow:var(--sb-soft-shadow)}.directory-brand h1{font:500 clamp(30px,4vw,48px)/1.08 Georgia,serif;margin:0 0 8px;color:var(--sb-ink)}.directory-brand p:not(.eyebrow){margin:0;color:var(--sb-muted);line-height:1.6}.directory-actions{display:flex;gap:10px;flex-wrap:wrap}.sbpwa-btn.secondary{background:#fff;color:var(--sb-green);border:1px solid rgba(184,165,121,.55);box-shadow:var(--sb-soft-shadow)}.directory-layout{width:min(var(--sb-content,1200px),calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.folder-panel{background:linear-gradient(145deg,#fffefa,#f0ece3);border:1px solid rgba(184,165,121,.42);border-radius:16px;padding:15px;box-shadow:var(--sb-soft-shadow);position:sticky;top:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 14px;font-weight:900;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sb-green)}.folder-link{display:flex;align-items:center;gap:10px;padding:12px 11px;border-radius:10px;text-decoration:none;color:var(--sb-ink);font-size:13px;font-weight:750;margin:3px 0}.folder-link span{color:var(--sb-gold);font-size:15px}.folder-link small{margin-left:auto;color:var(--sb-muted)}.folder-link:hover,.folder-link.is-active{background:#fff;color:var(--sb-green);box-shadow:0 5px 14px rgba(7,37,32,.07)}.directory-content{min-width:0}.directory-content .upload-box{grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr) 190px auto}.upload-box select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px 14px;min-height:46px;outline:none}.upload-box select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(177,138,74,.14)}.empty{display:flex;flex-direction:column;gap:7px;padding:60px 30px}.empty strong{font:500 21px Georgia,serif;color:var(--sb-green)}
@media(max-width:900px){.directory-layout{grid-template-columns:1fr}.folder-panel{position:static}.directory-content .upload-box{grid-template-columns:1fr}.directory-hero{align-items:flex-start;flex-direction:column}.directory-actions{width:100%}}
@media(max-width:520px){.directory-hero,.directory-layout{width:calc(100% - 24px)}.directory-hero{padding:28px 0 24px}.directory-brand{align-items:flex-start}.directory-brand img{width:58px;height:58px}.directory-actions{display:grid;grid-template-columns:1fr 1fr}.directory-actions>*{width:100%;text-align:center}.directory-actions .sbpwa-btn{padding:11px 8px}.directory-layout{gap:14px}.folder-panel{padding:10px}.doc-row{padding:15px 12px}.doc-main small{line-height:1.45}}

/* v2.3.1 cleanup: compact sign-out, no in-app logo/header branding, document viewer, folder deletion */
.sbpwa-outline#sbpwa-logout{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:108px;padding:10px 16px;border-radius:7px;font-size:13px;line-height:1;font-weight:750;white-space:nowrap;box-shadow:0 5px 14px rgba(0,0,0,.12)}
.hero-brand{min-height:24px}.hero-brand .hero-rule{margin-top:5px}.hero-brand small{display:none}
.directory-brand img{display:none}.directory-brand{gap:0}
.sbpwa-btn.danger{background:var(--danger);color:#fff;border:0;box-shadow:0 7px 18px rgba(155,63,52,.18)}.sbpwa-btn.danger:hover{filter:brightness(.94)}
.doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.doc-actions .doc-action,.doc-actions .doc-delete{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;text-decoration:none;background:#fff}.doc-actions .doc-view{color:var(--green);border-color:rgba(18,59,53,.22)}.doc-actions .doc-download{color:var(--green);border-color:rgba(177,138,74,.45)}.doc-actions .doc-delete{color:var(--danger);border-color:rgba(155,63,52,.22)}
.document-viewer{position:fixed;inset:0;z-index:100000;background:rgba(8,27,24,.78);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.document-viewer[hidden]{display:none!important}.document-viewer-card{width:min(1100px,100%);height:min(88vh,900px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.4);display:flex;flex-direction:column}.document-viewer-head{min-height:54px;padding:9px 12px 9px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fffefa,#f1ece3)}.document-viewer-head strong{font-family:Georgia,serif;font-size:17px;color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.viewer-close{width:36px;height:36px;border:1px solid rgba(155,63,52,.25);border-radius:50%;background:#fff;color:var(--danger);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.08)}#sbpwa-viewer-frame{border:0;flex:1;width:100%;background:#f5f5f5}
body.sbpwa-modal-open{overflow:hidden!important}
@media(max-width:700px){.hero-actions{align-items:center}.sbpwa-outline#sbpwa-logout{min-width:96px;padding:9px 13px;font-size:12px}.doc-row{grid-template-columns:40px minmax(0,1fr)}.doc-actions{grid-column:2;justify-content:flex-start}.document-viewer{padding:8px}.document-viewer-card{height:calc(100vh - 16px);border-radius:10px}.directory-actions{grid-template-columns:1fr!important}.directory-actions>*{width:100%}}
@media(max-width:520px){.sbpwa-outline#sbpwa-logout{width:auto!important;justify-self:start}}

/* ==========================================================================
   v2.4.0 Royal Emerald & Gold — footer-inspired styling across the whole PWA
   ========================================================================== */
:root{
  --rg-bg:#050d1f;--rg-bg2:#0a1a3a;--rg-card:rgba(18,42,94,.82);--rg-card-2:rgba(7,18,44,.9);
  --rg-line:rgba(227,201,133,.26);--rg-line-hi:rgba(233,211,154,.6);
  --rg-gold:#c3a05c;--rg-gold-hi:#e9d39a;--rg-cream:#f5eedc;--rg-dim:rgba(245,238,220,.68);
  --rg-serif:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif;
  --rg-sans:"Montserrat","Avenir Next",Avenir,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --rg-goldtext:linear-gradient(110deg,#f8ebbd 0%,#dcc07f 30%,#b18a4a 50%,#f2df9f 74%,#c3a05c 100%);
  --rg-glow:0 0 26px rgba(227,201,133,.22);
  --rg-panel-shadow:0 24px 60px rgba(0,0,0,.42),0 3px 10px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.07);
}

/* 1 — No white anywhere behind the app: page title wrapper, theme containers, overscroll */
html:has(body.sbpwa-portal-page),body.sbpwa-portal-page{background:var(--rg-bg)!important}
body.sbpwa-portal-page #page,body.sbpwa-portal-page .site,body.sbpwa-portal-page .site-content,
body.sbpwa-portal-page .content-area,body.sbpwa-portal-page .site-main,body.sbpwa-portal-page article,
body.sbpwa-portal-page .entry-content,body.sbpwa-portal-page .hentry,body.sbpwa-portal-page .page,
body.sbpwa-portal-page .post,body.sbpwa-portal-page .container,body.sbpwa-portal-page .ast-container,
body.sbpwa-portal-page .elementor,body.sbpwa-portal-page .elementor-section,
body.sbpwa-portal-page .elementor-widget-container,body.sbpwa-portal-page .wp-site-blocks,
body.sbpwa-portal-page .is-layout-constrained{background:transparent!important;box-shadow:none!important}
body.sbpwa-portal-page #page,body.sbpwa-portal-page .site,body.sbpwa-portal-page .site-content,
body.sbpwa-portal-page .content-area,body.sbpwa-portal-page .site-main,body.sbpwa-portal-page article,
body.sbpwa-portal-page .entry-content,body.sbpwa-portal-page .hentry{margin-top:0!important;padding-top:0!important;padding-bottom:0!important}
body.sbpwa-portal-page .page-header,body.sbpwa-portal-page .entry-header,body.sbpwa-portal-page .page-title-wrap,
body.sbpwa-portal-page .page-title-area,body.sbpwa-portal-page .title-area,body.sbpwa-portal-page .ast-page-title,
body.sbpwa-portal-page .ast-archive-description,body.sbpwa-portal-page .page-banner,body.sbpwa-portal-page .page-hero,
body.sbpwa-portal-page .title-section,body.sbpwa-portal-page .breadcrumbs-wrap,body.sbpwa-portal-page .wp-block-post-title,
body.sbpwa-portal-page .wp-block-query-title{display:none!important}
html{scrollbar-color:#b18a4a #050d1f}::selection{background:var(--rg-gold);color:#10201c}

/* 2 — Canvas, type & atmosphere */
#sbpwa-app{
  --sb-content:1180px;
  background:radial-gradient(ellipse 90% 60% at 12% 0%,#1a3b80 0%,rgba(10,26,58,0) 60%),
             radial-gradient(ellipse 70% 50% at 100% 100%,#12306b 0%,rgba(5,13,31,0) 60%),
             linear-gradient(180deg,#0a1a3a 0%,#050d1f 100%);
  color:var(--rg-cream);font-family:var(--rg-sans);letter-spacing:.02em;min-height:100vh;
  padding-top:env(safe-area-inset-top,0px)
}
#sbpwa-app:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(520px 320px at 88% 8%,rgba(227,201,133,.10),transparent 70%),
             radial-gradient(460px 380px at 0% 92%,rgba(227,201,133,.07),transparent 70%)}
#sbpwa-app>main{position:relative;z-index:1}
.muted,.sbpwa-shell .count,.doc-main small{color:var(--rg-dim)}
.sbpwa-shell p{color:inherit}

.sbpwa-shell h1,.sbpwa-shell h2,.sbpwa-shell h3,.sbpwa-tile strong,.service-list b,.empty strong,
.install-card h2,.directory-brand h1,.sbpwa-login h1{
  font-family:var(--rg-serif);font-weight:600;letter-spacing:.012em;
  background:var(--rg-goldtext);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))
}
.sbpwa-section>h2,.section-head h2{font-size:clamp(32px,3.8vw,44px);line-height:1.08}
.sbpwa-login h1{font-size:clamp(40px,7vw,52px)}
.directory-brand h1{font-size:clamp(36px,5vw,56px)}
.sbpwa-tile strong{font-size:24px;line-height:1.15}.service-list b{font-size:23px;line-height:1.2}
.empty strong{font-size:26px}.install-card h2{font-size:34px}
.eyebrow{color:var(--rg-gold-hi);font-family:var(--rg-sans);font-weight:700;letter-spacing:.28em;text-transform:uppercase;text-shadow:0 0 14px rgba(227,201,133,.35)}
.sbpwa-section>.eyebrow:before,.section-head .eyebrow:before,.directory-brand .eyebrow:before,.sbpwa-login .eyebrow:before{
  content:"";display:inline-block;width:28px;height:1px;margin-right:12px;vertical-align:middle;
  background:linear-gradient(90deg,transparent,var(--rg-gold-hi));box-shadow:0 0 8px rgba(227,201,133,.6)}

/* 3 — Hero */
.sbpwa-hero{
  background:radial-gradient(ellipse 60% 120% at 88% 0%,rgba(227,201,133,.14),transparent 60%),
             linear-gradient(135deg,#030816 0%,#0b1d44 48%,#163573 100%);
  border-bottom:1px solid var(--rg-line-hi);
  box-shadow:0 1px 0 rgba(227,201,133,.35),0 28px 70px rgba(0,0,0,.45),0 0 60px rgba(227,201,133,.07)}
.hero-copy h1{
  background:none!important;-webkit-text-fill-color:#f7f0de!important;color:#f7f0de!important;filter:none;
  font-size:clamp(38px,5vw,68px)!important;line-height:1.02!important;text-shadow:0 4px 26px rgba(0,0,0,.45)}
.hero-copy h1 span{
  background:linear-gradient(100deg,#f8ebbd,#d8bb78,#b18a4a,#f5e4a8,#d8bb78,#f8ebbd);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:sbShine 7s linear infinite;filter:drop-shadow(0 2px 14px rgba(227,201,133,.28))}
.hero-copy>p:last-child{color:var(--rg-dim)!important;font-size:15.5px}
.hero-kicker{text-shadow:0 0 14px rgba(227,201,133,.4)}
.hero-rule{background:linear-gradient(90deg,var(--rg-gold-hi),transparent)!important;box-shadow:0 0 10px rgba(227,201,133,.6)}

/* 4 — Navigation tiles, cards, panels */
.sbpwa-tile,.service-list div,.contact-grid>*,.folder-panel,.doc-list,.upload-box,.doc-toolbar,.sbpwa-login{
  background:linear-gradient(150deg,var(--rg-card),var(--rg-card-2))!important;
  border:1px solid var(--rg-line)!important;box-shadow:var(--rg-panel-shadow);color:var(--rg-cream);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.sbpwa-tile:before{background:linear-gradient(135deg,rgba(227,201,133,.16),transparent 42%,rgba(255,255,255,.02))!important}
.sbpwa-tile:after{background:rgba(0,0,0,.45)!important}
.sbpwa-tile:hover,.service-list div:hover,.contact-grid>*:hover{
  border-color:var(--rg-line-hi)!important;
  box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(227,201,133,.3),0 0 46px rgba(227,201,133,.14),inset 0 1px rgba(255,255,255,.09)}
.sbpwa-tile small,.service-list span{color:var(--rg-dim)}
.sbpwa-tile .tile-icon{
  background:linear-gradient(145deg,rgba(227,201,133,.26),rgba(227,201,133,.05));color:var(--rg-gold-hi);
  border:1px solid rgba(227,201,133,.5);box-shadow:inset 0 1px rgba(255,255,255,.18),0 0 24px rgba(227,201,133,.24);
  text-shadow:0 0 14px rgba(227,201,133,.75),0 2px 5px rgba(0,0,0,.4)}
.service-list div{overflow:hidden}
.service-list div:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--rg-goldtext);opacity:.85}
.contact-grid>*{color:var(--rg-gold-hi);font-weight:600;text-shadow:0 0 16px rgba(227,201,133,.22)}
.section-head{border-bottom:1px solid var(--rg-line)!important}

/* 5 — Forms */
.sbpwa-shell input:not([type=file]):not([type=checkbox]),.sbpwa-shell select,.upload-box select{
  background:rgba(3,9,24,.72)!important;color:var(--rg-cream)!important;border:1px solid rgba(227,201,133,.28)!important;
  font-family:var(--rg-sans);letter-spacing:.02em;box-shadow:inset 0 2px 8px rgba(0,0,0,.35)}
.sbpwa-shell input::placeholder{color:rgba(245,238,220,.42)}
.sbpwa-shell input:focus,.sbpwa-shell select:focus{border-color:var(--rg-gold-hi)!important;box-shadow:0 0 0 3px rgba(227,201,133,.18),0 0 22px rgba(227,201,133,.15)!important}
.sbpwa-shell select option{background:#0a1a3a;color:var(--rg-cream)}
.sbpwa-login label,.search-box,.file-picker{color:var(--rg-gold-hi)}
.file-picker{background:rgba(3,9,24,.6)!important;border:1px dashed rgba(227,201,133,.6)!important;letter-spacing:.06em}
.file-picker input{color:var(--rg-dim)}
.sbpwa-login-shell{background:transparent}
.sbpwa-login{box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 70px rgba(227,201,133,.08),inset 0 1px rgba(255,255,255,.09)}
.sbpwa-msg.success{color:#8fdcae}.sbpwa-msg{color:#ff9d8f}

/* 6 — Buttons */
.sbpwa-btn,.install-trigger,.sbpwa-outline{font-family:var(--rg-sans);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;isolation:isolate}
.sbpwa-btn:after,.install-trigger:after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .7s ease}
.sbpwa-btn:hover:after,.install-trigger:hover:after{left:135%}
.sbpwa-btn.primary,.install-trigger{
  background:linear-gradient(145deg,#f4e3ab 0%,#d0b06c 48%,#a98240 100%)!important;color:#17130a!important;
  border:1px solid rgba(255,244,205,.7)!important;text-shadow:0 1px 0 rgba(255,255,255,.35);
  box-shadow:0 10px 24px rgba(0,0,0,.4),0 0 24px rgba(227,201,133,.25),inset 0 1px rgba(255,255,255,.6)}
.sbpwa-btn.primary:hover,.install-trigger:hover{filter:brightness(1.07);transform:translateY(-1px)}
.sbpwa-outline{color:var(--rg-gold-hi)!important;background:rgba(227,201,133,.06)!important;border:1px solid rgba(227,201,133,.55)!important}
.sbpwa-outline:hover{background:rgba(227,201,133,.16)!important;box-shadow:0 0 24px rgba(227,201,133,.22)}
.sbpwa-btn.secondary{background:linear-gradient(150deg,var(--rg-card),var(--rg-card-2))!important;color:var(--rg-gold-hi)!important;border:1px solid var(--rg-line-hi)!important}
.sbpwa-btn.danger{background:linear-gradient(145deg,#b9503f,#7d2a20)!important;color:#fff3ec;border:1px solid rgba(255,190,170,.35)!important}

/* 7 — Document library & directory */
.folder-panel .panel-title{color:var(--rg-gold-hi);text-shadow:0 0 14px rgba(227,201,133,.3)}
.folder-link{color:var(--rg-cream);letter-spacing:.03em}.folder-link span{color:var(--rg-gold-hi);text-shadow:0 0 12px rgba(227,201,133,.55)}
.folder-link:hover,.folder-link.is-active{background:linear-gradient(90deg,rgba(227,201,133,.18),rgba(227,201,133,.03))!important;color:#fff;
  box-shadow:inset 2px 0 0 var(--rg-gold-hi),0 6px 16px rgba(0,0,0,.25)}
.directory-brand p:not(.eyebrow){color:var(--rg-dim)}
.doc-list{background:linear-gradient(150deg,var(--rg-card),var(--rg-card-2))!important}
.doc-row{border-bottom:1px solid rgba(227,201,133,.14)!important}
.doc-row:hover{background:linear-gradient(90deg,rgba(227,201,133,.13),rgba(227,201,133,.02))!important}
.doc-main strong{color:var(--rg-cream);font-weight:600;letter-spacing:.02em}
.doc-icon{background:linear-gradient(145deg,rgba(227,201,133,.22),rgba(227,201,133,.04))!important;color:var(--rg-gold-hi);border:1px solid rgba(227,201,133,.55);
  box-shadow:0 0 18px rgba(227,201,133,.18),inset 0 1px rgba(255,255,255,.15);text-shadow:0 0 10px rgba(227,201,133,.6)}
.doc-actions .doc-action,.doc-actions .doc-delete{background:rgba(255,255,255,.04)!important;font-family:var(--rg-sans);font-size:12px;letter-spacing:.06em;text-transform:uppercase;transition:.2s}
.doc-actions .doc-view,.doc-actions .doc-download{color:var(--rg-gold-hi)!important;border-color:rgba(227,201,133,.38)!important}
.doc-actions .doc-view:hover,.doc-actions .doc-download:hover{background:rgba(227,201,133,.16)!important;box-shadow:0 0 18px rgba(227,201,133,.2)}
.doc-actions .doc-delete{color:#ffab9c!important;border-color:rgba(255,140,120,.35)!important}
.doc-actions .doc-delete:hover{background:rgba(255,120,100,.14)!important}
.empty{color:var(--rg-dim)}

/* 8 — Modals & viewer */
.install-modal{background:rgba(2,6,16,.82)}
.install-card{background:linear-gradient(150deg,#16336f,#08142f)!important;color:var(--rg-cream);border:1px solid var(--rg-line-hi)!important;
  box-shadow:0 44px 110px rgba(0,0,0,.6),0 0 70px rgba(227,201,133,.1),inset 0 1px rgba(255,255,255,.09)}
.install-card p{color:var(--rg-dim)}.install-card .eyebrow{color:var(--rg-gold-hi)}
.close-install{color:var(--rg-gold-hi)}
.install-help{background:rgba(255,255,255,.05)!important;color:var(--rg-cream)!important;border-left:3px solid var(--rg-gold-hi)!important}
.install-card .text-btn{color:var(--rg-dim)}
.document-viewer-card{border:1px solid var(--rg-line-hi);box-shadow:0 40px 110px rgba(0,0,0,.6),0 0 60px rgba(227,201,133,.1)}
.document-viewer-head{background:linear-gradient(145deg,#16336f,#08142f)!important;border-bottom:1px solid var(--rg-line-hi)!important}
.document-viewer-head strong{font-family:var(--rg-serif);font-size:21px;background:var(--rg-goldtext);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.viewer-close{background:rgba(227,201,133,.1)!important;color:var(--rg-gold-hi)!important;border:1px solid rgba(227,201,133,.5)!important}

/* 9 — Footer bar: refined to match the new language */
.sbpwa-bottom{border:1px solid var(--rg-line-hi)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 34px rgba(227,201,133,.12),inset 0 1px rgba(255,255,255,.12)!important;
  padding-bottom:calc(9px + env(safe-area-inset-bottom,0px))}
.sbpwa-bottom .bottom-link{font-family:var(--rg-sans);font-weight:700}
.bottom-icon{text-shadow:0 0 14px rgba(227,201,133,.7),0 2px 5px rgba(0,0,0,.35)}
.sbpwa-bottom .bottom-link.is-active{color:var(--rg-gold-hi)}

/* 10 — Entrance motion */
@keyframes sbRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes sbShine{to{background-position:220% center}}
.sbpwa-tile,.sbpwa-section,.service-list div,.contact-grid>*,.folder-panel,.doc-list,.directory-hero,.sbpwa-login{animation:sbRise .75s cubic-bezier(.2,.7,.2,1) backwards}
.sbpwa-tile:nth-child(2){animation-delay:.08s}.sbpwa-tile:nth-child(3){animation-delay:.16s}.sbpwa-tile:nth-child(4){animation-delay:.24s}
.service-list div:nth-child(2){animation-delay:.08s}.service-list div:nth-child(3){animation-delay:.16s}.service-list div:nth-child(4){animation-delay:.24s}
@media(prefers-reduced-motion:reduce){.sbpwa-shell *,.hero-copy h1 span{animation:none!important}}
@media(max-width:700px){.sbpwa-tile strong{font-size:21px}.service-list b{font-size:21px}.hero-copy h1{font-size:clamp(36px,10vw,48px)!important}}

/* ==========================================================================
   v2.5.0 Midnight Blue & Gold — classic 3D, executive header
   ========================================================================== */
:root{
  --rg-display:"Cinzel","Cormorant Garamond",Georgia,serif;
  --rg-panel-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -3px 0 rgba(0,0,0,.4),0 3px 0 #10275a,0 6px 0 #0a1a3f,0 24px 44px rgba(0,0,0,.5);
  --rg-3d-title:drop-shadow(0 1px 0 #8a6a2c) drop-shadow(0 2px 0 #7a5c24) drop-shadow(0 3px 0 #6b4f1e) drop-shadow(0 10px 12px rgba(0,0,0,.6));
  --rg-3d-soft:drop-shadow(0 1px 0 #8a6a2c) drop-shadow(0 2px 0 #6b4f1e) drop-shadow(0 6px 8px rgba(0,0,0,.55));
}
#sbpwa-app{
  background:radial-gradient(ellipse 80% 50% at 85% 0%,rgba(227,201,133,.10),transparent 62%),
             radial-gradient(ellipse 90% 60% at 8% 12%,#1d418c 0%,rgba(10,26,58,0) 62%),
             radial-gradient(ellipse 70% 50% at 100% 100%,#14346f 0%,rgba(5,13,31,0) 60%),
             linear-gradient(180deg,#0a1a3a 0%,#050d1f 100%)}
#sbpwa-app:before{background:radial-gradient(520px 320px at 88% 8%,rgba(227,201,133,.11),transparent 70%),radial-gradient(460px 380px at 0% 92%,rgba(70,120,230,.10),transparent 70%)}

/* Classic embossed headings */
.sbpwa-shell h1,.sbpwa-shell h2,.sbpwa-shell h3,.sbpwa-tile strong,.service-list b,.empty strong,
.install-card h2,.directory-brand h1,.sbpwa-login h1{filter:var(--rg-3d-soft)}
.sbpwa-section>h2,.section-head h2,.directory-brand h1,.sbpwa-login h1,.install-card h2{font-family:var(--rg-display);font-weight:700;letter-spacing:.05em}
.sbpwa-section>h2,.section-head h2{font-size:clamp(25px,3vw,36px)}
.directory-brand h1{font-size:clamp(28px,4.2vw,46px)}.sbpwa-login h1{font-size:clamp(30px,6vw,42px)}.install-card h2{font-size:27px}

/* ---- Executive header ---- */
.sbpwa-hero{
  background:radial-gradient(ellipse 55% 90% at 85% -10%,rgba(227,201,133,.24),transparent 62%),
             radial-gradient(ellipse 50% 80% at 4% 110%,rgba(64,118,230,.30),transparent 60%),
             linear-gradient(160deg,#030816 0%,#0a1a3a 46%,#14336f 100%)!important;
  border-bottom:1px solid var(--rg-line-hi);
  box-shadow:0 2px 0 #c3a05c,0 4px 0 #8a6a2c,0 6px 0 #4a3512,0 32px 70px rgba(0,0,0,.65)}
.sbpwa-hero .hero-frame.hero-v3{display:flex;flex-direction:column;align-items:center;text-align:center;gap:34px;width:min(var(--sb-content),calc(100% - 44px));padding:52px 0 112px;grid-template-columns:none}
.hero-crown{display:flex;flex-direction:column;align-items:center;max-width:100%}
.hero-orn{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}
.hero-orn i{display:block;width:clamp(40px,10vw,110px);height:2px;background:linear-gradient(90deg,transparent,#e9d39a);box-shadow:0 1px 0 rgba(0,0,0,.5)}
.hero-orn i:last-child{transform:scaleX(-1)}
.hero-orn b{font-size:15px;color:#f3dea0;text-shadow:0 1px 0 #8a6a2c,0 2px 0 #6b4f1e,0 0 16px rgba(227,201,133,.8)}
.sbpwa-hero .hero-title{margin:0;font-family:var(--rg-display);font-weight:800;line-height:1.1;letter-spacing:.05em;max-width:100%;
  background:linear-gradient(100deg,#fff3c4 0%,#e2c684 22%,#b18a4a 42%,#f6e4a2 62%,#d0b06c 82%,#fff3c4 100%);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:var(--rg-3d-title);animation:sbShine 9s linear infinite}
.hero-title .t1{display:block;font-size:clamp(28px,5.4vw,68px)}
.hero-title .t2{display:block;font-size:clamp(14px,2.5vw,31px);letter-spacing:.2em;margin-top:.55em;font-weight:700}
.hero-sub{display:inline-block;margin:26px 0 0;padding:10px 24px 10px 28px;border-radius:999px;font:800 12px/1 var(--rg-sans);letter-spacing:.42em;text-transform:uppercase;color:#1a1305;
  background:linear-gradient(180deg,#faedc2 0%,#d5b673 52%,#a98240 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 0 rgba(0,0,0,.25),0 4px 0 #6b4f1e,0 5px 0 #3d2c10,0 16px 24px rgba(0,0,0,.55);text-shadow:0 1px 0 rgba(255,255,255,.45)}
.hero-welcome{position:relative;width:100%;max-width:980px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;text-align:left;padding:28px 32px;border-radius:20px;
  background:linear-gradient(150deg,rgba(32,68,148,.78),rgba(6,15,38,.94));border:1px solid var(--rg-line-hi);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.45),0 3px 0 #16336f,0 6px 0 #0a1838,0 8px 0 #050d1f,0 30px 55px rgba(0,0,0,.6),0 0 44px rgba(227,201,133,.09)}
.hero-welcome:before{content:"";position:absolute;inset:7px;border:1px solid rgba(227,201,133,.3);border-radius:14px;pointer-events:none}
.hero-hello{margin:0 0 6px!important;font:700 12px/1 var(--rg-sans);letter-spacing:.34em;text-transform:uppercase;color:var(--rg-gold-hi)!important;text-shadow:0 1px 0 #000,0 0 14px rgba(227,201,133,.4)}
.hero-user{margin:0!important;font:700 clamp(21px,3vw,32px)/1.15 var(--rg-serif);color:#f8ebbd!important;overflow-wrap:anywhere;text-shadow:0 1px 0 #8a6a2c,0 2px 0 #6b4f1e,0 3px 0 #4a3512,0 10px 16px rgba(0,0,0,.6)}
.hero-desc{margin:10px 0 0!important;color:var(--rg-dim)!important;font-size:14px;line-height:1.7;max-width:560px}
.hero-welcome .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;min-width:0}
.hero-welcome .hero-actions>*{width:auto;min-width:134px;min-height:46px}

/* ---- Classic 3D controls ---- */
.sbpwa-btn.primary,.install-trigger{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.18),0 4px 0 #7a5c24,0 5px 0 #3d2c10,0 14px 20px rgba(0,0,0,.5),0 0 22px rgba(227,201,133,.22)!important}
.sbpwa-btn.primary:hover,.install-trigger:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 6px 0 #7a5c24,0 7px 0 #3d2c10,0 20px 26px rgba(0,0,0,.5),0 0 30px rgba(227,201,133,.32)!important}
.sbpwa-btn.primary:active,.install-trigger:active{transform:translateY(4px);box-shadow:inset 0 2px 5px rgba(0,0,0,.25),0 0 0 #7a5c24,0 2px 0 #3d2c10,0 4px 8px rgba(0,0,0,.5)!important}
.sbpwa-outline,.sbpwa-btn.secondary{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(0,0,0,.35),0 4px 0 #0a1838,0 5px 0 #050d1f,0 12px 18px rgba(0,0,0,.45)!important}
.sbpwa-outline:hover,.sbpwa-btn.secondary:hover{transform:translateY(-2px)}
.sbpwa-outline:active,.sbpwa-btn.secondary:active{transform:translateY(3px);box-shadow:inset 0 2px 5px rgba(0,0,0,.4),0 1px 0 #050d1f!important}
.sbpwa-btn.danger{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 0 #4d1810,0 12px 18px rgba(0,0,0,.45)!important}

/* ---- Cards: chunky extruded edges ---- */
.sbpwa-tile,.service-list div,.contact-grid>*{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -3px 0 rgba(0,0,0,.4),0 2px 0 #1c3a7a,0 4px 0 #122a5e,0 6px 0 #0a1a3f,0 24px 36px rgba(0,0,0,.52)}
.sbpwa-tile:hover,.service-list div:hover,.contact-grid>*:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.35),0 2px 0 #d0b06c,0 4px 0 #a98240,0 6px 0 #6b4f1e,0 32px 50px rgba(0,0,0,.55),0 0 42px rgba(227,201,133,.16)!important}
.sbpwa-tile:active{transform:translateY(-1px)}
.sbpwa-tile .tile-icon{background:linear-gradient(180deg,#faedc2,#d0b06c 55%,#a98240)!important;color:#1a1305!important;border:1px solid rgba(255,244,205,.8)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 0 rgba(0,0,0,.2),0 4px 0 #6b4f1e,0 5px 0 #3d2c10,0 12px 16px rgba(0,0,0,.5)!important;text-shadow:0 1px 0 rgba(255,255,255,.5)!important}
.doc-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 0 #6b4f1e,0 8px 12px rgba(0,0,0,.45)!important}
.folder-panel,.sbpwa-login,.install-card{box-shadow:var(--rg-panel-shadow)}
.sbpwa-login{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -3px 0 rgba(0,0,0,.4),0 3px 0 #c3a05c,0 6px 0 #6b4f1e,0 40px 80px rgba(0,0,0,.6)}
.sbpwa-shell input:not([type=file]):not([type=checkbox]),.sbpwa-shell select{box-shadow:inset 0 3px 8px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.12)}

/* ---- Footer bar in the same 3D language ---- */
.sbpwa-bottom{background:linear-gradient(180deg,rgba(24,52,116,.98),rgba(5,12,30,.99))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -2px 0 rgba(0,0,0,.5),0 3px 0 #c3a05c,0 6px 0 #6b4f1e,0 8px 0 #3d2c10,0 28px 50px rgba(0,0,0,.65),0 0 36px rgba(227,201,133,.14)!important}
.sbpwa-bottom .bottom-link.is-active,.sbpwa-bottom .bottom-link:hover{background:linear-gradient(180deg,rgba(255,240,190,.22),rgba(227,201,133,.06))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.35),0 3px 0 rgba(0,0,0,.4)!important}

/* ---- Responsive header ---- */
@media(max-width:700px){
  .sbpwa-hero .hero-frame.hero-v3{width:calc(100% - 28px);padding:34px 0 88px;gap:26px}
  .hero-sub{font-size:10px;letter-spacing:.24em;padding:9px 16px 9px 20px;margin-top:20px}
  .hero-title .t2{letter-spacing:.12em}
  .hero-welcome{grid-template-columns:1fr;text-align:center;padding:24px 20px;gap:20px}
  .hero-desc{margin-left:auto!important;margin-right:auto!important}
  .hero-welcome .hero-actions{justify-content:center;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .hero-welcome .hero-actions>*{width:100%;min-width:0}
}
@media(max-width:430px){.hero-welcome .hero-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sbpwa-hero .hero-title{animation:none!important}}

/* ==========================================================================
   v2.6.0 Portal Admins, temporary access & registration
   ========================================================================== */
/* Show / hide password */
.pw-field{position:relative;display:block;margin-top:7px}
.pw-field input{margin-top:0!important;padding-right:84px!important}
.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid rgba(227,201,133,.4);background:linear-gradient(180deg,rgba(227,201,133,.2),rgba(227,201,133,.06));color:var(--rg-gold-hi);
  font:800 10px/1 var(--rg-sans);letter-spacing:.14em;text-transform:uppercase;padding:8px 11px;border-radius:8px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 0 rgba(0,0,0,.45);transition:.15s}
.pw-toggle:hover{background:rgba(227,201,133,.26);color:#fff}.pw-toggle:active{transform:translateY(calc(-50% + 2px));box-shadow:none}
.pw-toggle.pa-gen{padding:8px 9px}
.field-hint{display:block;margin-top:7px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--rg-dim)}
.field-hint.ok{color:#8fdcae}
.forgot-note{font-size:12px;margin:18px 0 0;text-align:center}.small{font-size:12px;line-height:1.6}.opt{font-weight:500;color:var(--rg-dim)}

/* Registration success */
.sbpwa-register.is-done>h1,.sbpwa-register.is-done>.muted,.sbpwa-register.is-done>.eyebrow{display:none}
.register-success{text-align:center;padding:10px 0 4px}.register-success[hidden]{display:none}
.success-seal{width:88px;height:88px;margin:4px auto 18px;border-radius:50%;display:grid;place-items:center;font-size:44px;font-weight:900;color:#1a1305;
  background:linear-gradient(180deg,#faedc2,#d0b06c 55%,#a98240);box-shadow:inset 0 2px 0 rgba(255,255,255,.75),inset 0 -3px 0 rgba(0,0,0,.2),0 5px 0 #6b4f1e,0 6px 0 #3d2c10,0 18px 30px rgba(0,0,0,.55),0 0 46px rgba(227,201,133,.4);animation:sbPop .7s cubic-bezier(.2,1.4,.4,1)}
@keyframes sbPop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
.register-success h2{font-family:var(--rg-display);font-size:28px;margin:0 0 8px}

/* Toast */
.sbpwa-toast{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top,0px));z-index:100001;transform:translate(-50%,-140%);display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100% - 24px));
  padding:13px 20px 13px 14px;border-radius:14px;color:var(--rg-cream);font:600 14px/1.4 var(--rg-sans);letter-spacing:.02em;
  background:linear-gradient(150deg,#1a3b80,#08142f);border:1px solid var(--rg-line-hi);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -2px 0 rgba(0,0,0,.4),0 3px 0 #c3a05c,0 5px 0 #6b4f1e,0 22px 40px rgba(0,0,0,.6);transition:transform .4s cubic-bezier(.2,.9,.3,1.2),opacity .3s;opacity:0}
.sbpwa-toast.show{transform:translate(-50%,0);opacity:1}.sbpwa-toast[hidden]{display:none}
.toast-icon{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#1a1305;background:linear-gradient(180deg,#faedc2,#c3a05c);box-shadow:0 2px 0 #6b4f1e,0 0 16px rgba(227,201,133,.5)}
.sbpwa-toast.error{border-color:rgba(255,140,120,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 0 #b9503f,0 5px 0 #4d1810,0 22px 40px rgba(0,0,0,.6)}
.sbpwa-toast.error .toast-icon{background:linear-gradient(180deg,#ffd0c4,#d0604c);color:#2a0a05}.sbpwa-toast.error .toast-icon:before{content:"!"}.sbpwa-toast.error .toast-icon{font-size:0}.sbpwa-toast.error .toast-icon:before{font-size:16px}

/* Admin tile on main portal */
.sbpwa-grid.has-admin{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-tile .tile-icon{font-size:22px}
@media(max-width:1000px){.sbpwa-grid.has-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.sbpwa-grid.has-admin .sbpwa-tile:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:430px){.sbpwa-grid.has-admin{grid-template-columns:1fr}}

/* Portal Admins page */
.pa-layout{width:min(var(--sb-content,1180px),calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:minmax(0,410px) minmax(0,1fr);gap:24px;align-items:start}
.pa-side{display:grid;gap:22px}.pa-main-col{min-width:0}
.pa-card{position:relative;padding:26px 24px;border-radius:18px;background:linear-gradient(150deg,var(--rg-card),var(--rg-card-2));border:1px solid var(--rg-line);color:var(--rg-cream);
  box-shadow:var(--rg-panel-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.pa-card[hidden]{display:none}
.pa-card h2{font-size:28px;margin:0 0 8px;font-family:var(--rg-display)}
.pa-card label{display:block;font-size:13px;font-weight:700;margin:16px 0 0;color:var(--rg-gold-hi);letter-spacing:.04em}
.pa-card label>input{display:block;width:100%;margin-top:7px;padding:13px 14px;border-radius:10px;outline:none}
.pa-card .sbpwa-btn,.pa-card .sbpwa-outline{width:100%;margin-top:16px}
.pa-card .sbpwa-msg{min-height:18px}
.pa-creds{border-color:var(--rg-line-hi);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -3px 0 rgba(0,0,0,.4),0 3px 0 #c3a05c,0 6px 0 #6b4f1e,0 30px 60px rgba(0,0,0,.55),0 0 46px rgba(227,201,133,.1)}
.pa-creds dl{margin:14px 0 6px;display:grid;gap:10px}.pa-creds dl>div{padding:12px 14px;border-radius:12px;background:rgba(3,9,24,.6);border:1px solid rgba(227,201,133,.22);box-shadow:inset 0 3px 8px rgba(0,0,0,.45)}
.pa-creds dt{font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--rg-dim)}
.pa-creds dd{margin:5px 0 0;font:700 16px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#f8ebbd;overflow-wrap:anywhere;letter-spacing:.04em;text-shadow:0 1px 0 #6b4f1e}
.pa-share{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:6px}.pa-share>*{margin-top:10px!important;width:100%;text-align:center;text-decoration:none;padding:12px 8px}
.pa-list{margin-top:4px}
.pa-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(227,201,133,.14);transition:background .18s}
.pa-row:last-child{border-bottom:0}.pa-row:hover{background:linear-gradient(90deg,rgba(227,201,133,.12),rgba(227,201,133,.02))}
.pa-main strong{display:block;color:var(--rg-cream);font-weight:600;overflow-wrap:anywhere}.pa-main small{display:block;color:var(--rg-dim);margin-top:4px;line-height:1.5}
.pa-badge{display:inline-block;padding:6px 11px;border-radius:999px;font:800 10px/1 var(--rg-sans);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 0 rgba(0,0,0,.4)}
.pa-badge.active{background:linear-gradient(180deg,#a8ecc4,#3f9b68);color:#062615}.pa-badge.pending{background:linear-gradient(180deg,#faedc2,#c3a05c);color:#1a1305}.pa-badge.expired{background:linear-gradient(180deg,#ffd0c4,#c9503c);color:#2a0a05}
.pa-reset{border:1px solid rgba(227,201,133,.38);background:rgba(255,255,255,.04);color:var(--rg-gold-hi);font:800 11px/1 var(--rg-sans);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;border-radius:8px;cursor:pointer;box-shadow:0 3px 0 rgba(0,0,0,.45);transition:.15s;white-space:nowrap}
.pa-reset:hover{background:rgba(227,201,133,.16)}.pa-reset:active{transform:translateY(2px);box-shadow:none}.pa-reset:disabled{opacity:.5;cursor:wait}
.pa-policy{margin-top:14px}
@media(max-width:900px){.pa-layout{grid-template-columns:1fr}}
@media(max-width:600px){.pa-layout{width:calc(100% - 24px)}.pa-row{grid-template-columns:1fr auto}.pa-reset{grid-column:1/-1;width:100%}.pa-share{grid-template-columns:1fr}.pa-card{padding:22px 18px}.sbpwa-toast{font-size:13px}}

/* ==========================================================================
   v2.6.1 Portal login page — spacing & polish
   ========================================================================== */
#sbpwa-app.sbpwa-login-shell{display:grid;place-items:center;min-height:100vh;padding:clamp(36px,8vh,80px) 18px clamp(48px,10vh,96px)}
.sbpwa-login-shell .sbpwa-login{width:min(100%,470px);max-width:470px;margin:0 auto;padding:46px 40px 38px;border-radius:22px}
.sbpwa-login .eyebrow{margin:0 0 14px;font-size:11px}
.sbpwa-login h1{margin:0 0 14px;line-height:1.12;text-wrap:balance}
.sbpwa-login>.muted:not(.forgot-note){margin:0 auto;max-width:340px;font-size:14px;line-height:1.75}
.sbpwa-login form{margin-top:32px;padding-top:30px;position:relative;display:block}
.sbpwa-login form:before{content:"";position:absolute;top:0;left:50%;width:120px;height:2px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#e9d39a,transparent);box-shadow:0 1px 0 rgba(0,0,0,.5),0 0 12px rgba(227,201,133,.5)}
.sbpwa-login label{margin:0 0 20px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.sbpwa-login label input{margin-top:9px!important;padding:15px 16px!important;font-size:15px;letter-spacing:.02em;text-transform:none}
.sbpwa-login .pw-field{margin-top:9px}
.sbpwa-login .pw-field input{margin-top:0!important;padding-right:88px!important}
.sbpwa-login .sbpwa-btn{margin-top:8px;padding:16px 18px;font-size:13px;letter-spacing:.16em}
.sbpwa-login .sbpwa-msg{min-height:22px;margin-top:16px;text-align:center;font-size:13px;line-height:1.5}
.sbpwa-login .forgot-note{margin:22px 0 0;padding-top:20px;border-top:1px solid rgba(227,201,133,.2);font-size:12.5px;line-height:1.7;text-align:center;color:var(--rg-dim)}
@media(max-width:520px){
  #sbpwa-app.sbpwa-login-shell{padding:28px 14px 56px;align-items:start}
  .sbpwa-login-shell .sbpwa-login{padding:34px 22px 28px;border-radius:20px}
  .sbpwa-login form{margin-top:26px;padding-top:26px}
  .sbpwa-login label{margin-bottom:18px}
}

/* ==========================================================================
   v2.6.2 Bottom bar — classic line icons
   ========================================================================== */
.bottom-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;color:var(--rg-gold-hi);opacity:.9;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.55)) drop-shadow(0 0 7px rgba(227,201,133,.35));transition:transform .2s ease,opacity .2s,filter .2s}
.bottom-icon svg{display:block;width:22px;height:22px;overflow:visible}
.sbpwa-bottom .bottom-link{gap:9px;font-size:10.5px;letter-spacing:.14em}
.sbpwa-bottom .bottom-link:hover .bottom-icon,.sbpwa-bottom .bottom-link.is-active .bottom-icon{opacity:1;color:#fff3c4;transform:translateY(-1px);
  filter:drop-shadow(0 1px 0 #6b4f1e) drop-shadow(0 0 10px rgba(227,201,133,.75))}
.sbpwa-bottom .bottom-link.is-active .bottom-icon svg{stroke-width:1.9}
@media(max-width:520px){
  .sbpwa-bottom .bottom-link{gap:5px;font-size:8.5px;letter-spacing:.1em}
  .bottom-icon,.bottom-icon svg{width:23px;height:23px}
}
@media(max-width:430px){.sbpwa-bottom .bottom-link{font-size:8px;letter-spacing:.06em}}

/* v2.7.0 — Classic SamBest content management */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(227,201,133,.18);margin-bottom:6px}
.section-heading h2{margin-bottom:6px}.section-intro{margin:0;color:var(--rg-dim);font-size:13px;line-height:1.6;max-width:620px}
.content-add,.content-edit,.content-delete{appearance:none;border:1px solid rgba(227,201,133,.38);background:rgba(255,255,255,.025);color:var(--rg-gold-hi);font:800 11px/1 var(--rg-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:11px 14px;border-radius:7px;box-shadow:0 2px 0 rgba(0,0,0,.42);transition:.16s;white-space:nowrap}
.content-add{background:linear-gradient(180deg,rgba(227,201,133,.18),rgba(227,201,133,.05));padding:12px 16px}.content-add:hover,.content-edit:hover{background:rgba(227,201,133,.14)}.content-delete{color:#efb0a3;border-color:rgba(210,100,80,.35)}.content-delete:hover{background:rgba(210,100,80,.12)}.content-add:active,.content-edit:active,.content-delete:active{transform:translateY(2px);box-shadow:none}
.sbpwa-content-list{margin-top:2px}.sbpwa-content-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid rgba(227,201,133,.12)}.content-copy{min-width:0}.content-copy strong{display:block;color:var(--rg-cream);font:700 17px/1.35 var(--rg-display)}.content-copy span{display:block;margin-top:6px;color:var(--rg-dim);font-size:13px;line-height:1.6}.content-actions{display:flex;gap:8px;flex:0 0 auto}
.sbpwa-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(227,201,133,.14);margin-top:18px;border:1px solid rgba(227,201,133,.14)}.project-item{background:linear-gradient(145deg,rgba(16,27,35,.96),rgba(7,15,22,.98));min-width:0}.project-image{aspect-ratio:16/8;overflow:hidden;background:#081119}.project-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.04)}.project-copy{padding:22px 22px 24px}.project-meta{display:flex;gap:8px;margin-bottom:9px}.project-meta span{font:800 9px/1 var(--rg-sans);letter-spacing:.13em;text-transform:uppercase;color:#ead7a2;border:1px solid rgba(227,201,133,.26);padding:6px 8px}.project-copy h3{font:700 22px/1.2 var(--rg-display);margin:0;color:var(--rg-cream)}.project-location{margin:6px 0 0!important;color:var(--rg-gold-hi)!important;font-size:12px!important}.project-copy>p:not(.project-location){margin:10px 0 0;color:var(--rg-dim);font-size:13px;line-height:1.7}.project-copy .content-actions{margin-top:17px}
.content-modal{position:fixed;inset:0;z-index:100002;display:grid;place-items:center;padding:22px;background:rgba(3,8,13,.78);backdrop-filter:blur(8px)}.content-modal[hidden]{display:none}.content-dialog{position:relative;width:min(620px,100%);max-height:min(90vh,760px);overflow:auto;padding:30px;background:linear-gradient(150deg,#14252d,#09151d);border:1px solid rgba(227,201,133,.38);box-shadow:0 28px 70px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1);color:var(--rg-cream)}.content-dialog h2{font:700 30px/1.15 var(--rg-display);margin:0 0 20px}.content-dialog label{display:block;margin:0 0 17px;color:var(--rg-gold-hi);font:700 11px/1.3 var(--rg-sans);letter-spacing:.13em;text-transform:uppercase}.content-dialog input,.content-dialog textarea,.content-dialog select{display:block;width:100%;margin-top:8px;border:1px solid rgba(227,201,133,.2);background:#071119;color:var(--rg-cream);padding:13px 14px;border-radius:5px;outline:none;font:500 14px/1.45 var(--rg-sans)}.content-dialog textarea{resize:vertical;min-height:120px}.content-dialog input:focus,.content-dialog textarea:focus,.content-dialog select:focus{border-color:rgba(227,201,133,.65);box-shadow:0 0 0 2px rgba(227,201,133,.08)}.content-close{position:absolute;top:14px;right:16px;border:0;background:none;color:var(--rg-dim);font-size:28px;line-height:1;cursor:pointer}.content-close:hover{color:#fff}.project-fields[hidden]{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:18px;border-top:1px solid rgba(227,201,133,.14)}
@media(max-width:700px){.section-heading{align-items:flex-start;flex-direction:column}.content-add{width:100%}.sbpwa-project-list{grid-template-columns:1fr}.content-actions{flex-wrap:wrap}.sbpwa-content-row{align-items:flex-start;flex-direction:column}.content-actions{width:100%}.content-actions button{flex:1}.content-dialog{padding:26px 20px}.form-row{grid-template-columns:1fr}}

/* ============================================================================
   v2.8.0 — Our Products catalogue
   ============================================================================ */
.products-shell,.sbpwa-products-shell,.sbpwa-product-detail-shell{--product-gold:#e6cf8c}
.products-hero,.product-detail-hero{width:min(var(--sb-content),calc(100% - 44px));margin:0 auto;padding:58px 0 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.products-hero{position:relative}.products-hero:after,.product-detail-hero:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(227,201,133,.4),transparent)}
.products-hero h1,.product-detail-hero h1{margin:4px 0 10px;font:800 clamp(34px,5vw,64px)/1.04 var(--rg-display);color:var(--rg-cream);text-shadow:0 2px 0 #6b4f1e,0 5px 0 #3d2c10,0 14px 25px rgba(0,0,0,.55)}
.products-hero p:not(.eyebrow),.product-detail-hero p:not(.eyebrow){max-width:680px;margin:0;color:var(--rg-dim);font:500 14px/1.75 var(--rg-sans)}
.products-toolbar{width:min(var(--sb-content),calc(100% - 44px));margin:0 auto 26px;display:grid;grid-template-columns:minmax(0,1fr) 230px 190px;gap:14px;padding:16px;border:1px solid rgba(227,201,133,.18);border-radius:14px;background:linear-gradient(145deg,rgba(20,37,45,.9),rgba(6,15,22,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 10px 30px rgba(0,0,0,.3)}
.products-toolbar label{margin:0;color:var(--rg-gold-hi);font:800 10px/1.2 var(--rg-sans);letter-spacing:.13em;text-transform:uppercase}.products-toolbar input,.products-toolbar select{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid rgba(227,201,133,.2);border-radius:8px;background:#071119;color:var(--rg-cream);outline:none;font:500 13px/1.3 var(--rg-sans)}
.products-toolbar input:focus,.products-toolbar select:focus{border-color:rgba(227,201,133,.65);box-shadow:0 0 0 2px rgba(227,201,133,.08)}
.products-section{width:min(var(--sb-content),calc(100% - 44px));margin:0 auto;padding:10px 0 120px}.products-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.products-section-head h2{margin:3px 0 0;font:700 30px/1.1 var(--rg-display);color:var(--rg-cream)}.products-section-head .count{color:var(--rg-gold-hi);font:700 11px/1 var(--rg-sans);letter-spacing:.1em;text-transform:uppercase}
.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-card{min-width:0;overflow:hidden;border:1px solid rgba(227,201,133,.18);border-radius:14px;background:linear-gradient(145deg,rgba(20,37,45,.98),rgba(6,15,22,.99));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -3px 0 rgba(0,0,0,.35),0 3px 0 #c3a05c,0 6px 0 #6b4f1e,0 22px 35px rgba(0,0,0,.5);transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 3px 0 #e1cb8d,0 7px 0 #8b6b2f,0 30px 48px rgba(0,0,0,.55),0 0 28px rgba(227,201,133,.12)}
.product-image{display:block;aspect-ratio:16/10;background:linear-gradient(145deg,#10212a,#061017);overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;filter:saturate(.9) contrast(1.03)}.product-card:hover .product-image img{transform:scale(1.035)}.product-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 28%,rgba(0,0,0,.18));pointer-events:none}.product-image-empty{display:grid;place-items:center;color:rgba(227,201,133,.65)}.product-image-empty svg{width:70px;height:70px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.product-copy{padding:20px 20px 22px}.product-category{display:inline-block;color:var(--rg-gold-hi);font:800 9px/1 var(--rg-sans);letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}.product-featured{float:right;color:#1a1305;background:linear-gradient(180deg,#faedc2,#c3a05c);padding:6px 8px;border-radius:999px;font:800 8px/1 var(--rg-sans);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 2px 0 #6b4f1e}.product-copy h3{margin:0;font:700 23px/1.16 var(--rg-display)}.product-copy h3 a{color:var(--rg-cream);text-decoration:none}.product-copy h3 a:hover{color:#fff3c4}.product-copy>p{margin:9px 0 12px;color:var(--rg-dim);font-size:13px;line-height:1.65;min-height:42px}.product-meta{display:flex;gap:7px;flex-wrap:wrap}.product-meta span{border:1px solid rgba(227,201,133,.18);padding:6px 8px;color:#c8d0ce;font:700 9px/1 var(--rg-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:5px}.product-view{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:14px;border-top:1px solid rgba(227,201,133,.14);color:var(--rg-gold-hi);text-decoration:none;font:800 11px/1 var(--rg-sans);letter-spacing:.12em;text-transform:uppercase}.product-view span{font-size:18px}.product-admin-actions{display:flex;gap:8px;margin-top:13px}.product-edit,.product-delete{flex:1;appearance:none;border:1px solid rgba(227,201,133,.3);background:rgba(255,255,255,.03);color:var(--rg-gold-hi);padding:9px;border-radius:6px;font:800 9px/1 var(--rg-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.product-delete{color:#efb0a3;border-color:rgba(210,100,80,.3)}.product-edit:hover{background:rgba(227,201,133,.12)}.product-delete:hover{background:rgba(210,100,80,.12)}
.products-empty{grid-column:1/-1;text-align:center;padding:70px 25px;border:1px dashed rgba(227,201,133,.25);border-radius:14px;color:var(--rg-dim)}.products-empty strong{display:block;color:var(--rg-cream);font:700 22px/1.2 var(--rg-display);margin-bottom:8px}.products-empty span{font-size:13px}
.check-label{display:flex!important;flex-direction:column;gap:8px}.check-label input{width:22px!important;height:22px;margin:8px 0 0!important;accent-color:#c3a05c}.product-category-create{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 8px;padding:11px 0;border-top:1px solid rgba(227,201,133,.12);color:var(--rg-dim);font-size:12px}.product-category-create .content-edit{flex:0 0 auto}
.product-detail-hero{padding-bottom:34px}.product-detail{width:min(1120px,calc(100% - 44px));margin:24px auto 120px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:42px;align-items:start}.product-detail-image{aspect-ratio:4/3;border:1px solid rgba(227,201,133,.25);border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#142b34,#061017);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 3px 0 #c3a05c,0 6px 0 #6b4f1e,0 30px 55px rgba(0,0,0,.55);display:grid;place-items:center;color:rgba(227,201,133,.65)}.product-detail-image img{width:100%;height:100%;object-fit:cover;display:block}.product-detail-image svg{width:100px;height:100px}.product-detail-copy{padding:12px 0}.product-status{display:inline-block;padding:7px 10px;border-radius:999px;background:linear-gradient(180deg,#a8ecc4,#3f9b68);color:#062615;font:800 9px/1 var(--rg-sans);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 2px 0 #1b5637}.product-detail-copy h2{margin:14px 0 4px;font:800 clamp(32px,4vw,52px)/1.05 var(--rg-display);color:var(--rg-cream);text-shadow:0 2px 0 #6b4f1e,0 5px 0 #3d2c10}.product-code{margin:0;color:var(--rg-gold-hi);font:700 11px/1.5 var(--rg-sans);letter-spacing:.08em}.product-description{margin-top:24px;color:var(--rg-dim);font-size:14px;line-height:1.85}.product-description p{margin:0 0 13px}.product-price{margin-top:24px;padding:17px 18px;border:1px solid rgba(227,201,133,.2);border-radius:10px;background:rgba(227,201,133,.05);display:flex;align-items:center;justify-content:space-between;gap:20px}.product-price small{color:var(--rg-dim);font:800 10px/1 var(--rg-sans);letter-spacing:.12em;text-transform:uppercase}.product-price strong{color:#f7e6ac;font:800 23px/1 var(--rg-display)}.product-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.product-detail-actions>*{text-decoration:none;text-align:center}
@media(max-width:980px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products-toolbar{grid-template-columns:1fr 1fr}.product-filter:last-child{grid-column:1/-1}.product-detail{grid-template-columns:1fr}.product-detail-image{max-height:560px}}
@media(max-width:700px){.products-hero,.product-detail-hero{width:calc(100% - 28px);padding:38px 0 28px;align-items:flex-start;flex-direction:column}.products-hero .directory-actions,.product-detail-hero .directory-actions{width:100%}.products-hero .directory-actions>*{width:100%}.products-toolbar,.products-section{width:calc(100% - 28px)}.products-toolbar{grid-template-columns:1fr;padding:13px}.product-filter:last-child{grid-column:auto}.products-grid{grid-template-columns:1fr}.products-section{padding-bottom:110px}.products-section-head{align-items:flex-start;flex-direction:column;gap:8px}.product-detail{width:calc(100% - 28px);margin-top:18px}.product-detail-actions{display:grid;grid-template-columns:1fr}.product-detail-actions>*{width:100%}}
