@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--brand-primary:#104336;--forest:var(--brand-primary);--paper:#f5f3ed;--white:#fffefa;--ink:#20352e;--muted:#60716a;--line:#dfe5dc;--mint:#edf3e9;--radius:18px;font-family:'DM Sans',system-ui,sans-serif;--on-primary:#fff}
:root[data-theme=dark]{--paper:#101d20;--white:#1b302e;--ink:#edf6ef;--muted:#b4c8c0;--line:#36554c;--mint:#24493e;--on-primary:#fff;--forest:var(--brand-primary)}
body{font-size:14px;line-height:1.5;background:var(--paper);color:var(--ink)}
h1{font-size:clamp(27px,3vw,38px);font-weight:500;letter-spacing:-.035em;line-height:1.15}h2{font-weight:550;font-size:19px;letter-spacing:-.02em}h3{font-size:16px}button,input,select,textarea{font-family:inherit}.icon{stroke-width:1.6}
.sidebar{background:var(--white);padding:26px 16px 18px;width:250px;overflow-y:auto}.main{margin-left:250px}.brand{gap:11px;margin-bottom:28px}.brand>span{font-weight:550;letter-spacing:-.035em;max-width:170px;overflow-wrap:anywhere;font-size:25px}.brand img{object-fit:contain}.workspace{margin-bottom:25px}.workspace select{font-size:12px}.nav-item{font-size:13px;padding:11px 12px;color:var(--muted)}.nav-item.active{background:var(--mint);color:var(--ink);font-weight:600}.nav-label,.eyebrow{font-size:10px;color:var(--muted);letter-spacing:.12em}.sidebar-bottom{padding-top:20px}.pilot-card{background:var(--paper);padding:15px}.pilot-card p,.profile strong{font-size:12px}.pilot-card>span{font-size:9px}.profile small{font-size:11px}
.topbar{background:var(--white);height:82px;padding-right:265px}.breadcrumbs{font-size:12px}.topbar-right .avatar{display:none}main{padding:32px;max-width:1500px}.page-heading p{font-size:14px}.button{font-size:13px;min-height:43px;padding:11px 16px;border-radius:10px;font-weight:600}.button.primary{background:var(--brand-primary);color:white}.button.primary:hover{filter:brightness(1.15)}.button.secondary{background:var(--white);color:var(--ink);border-color:var(--line)}.compact{font-size:12px;min-height:37px}.text-link{color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:4px}.panel{background:var(--white);border-color:var(--line)}.panel-heading p,.metric-top{font-size:12px;color:var(--muted)}.metric>small{font-size:11px;color:var(--muted)}.metric-value{font-weight:500;font-variant-numeric:tabular-nums}.welcome-banner{background:var(--mint);border-color:var(--line)}.welcome-banner h2{font-weight:500;color:var(--ink)}.welcome-banner p{font-size:13px;color:var(--muted)}.banner-kicker{color:var(--muted)}.welcome-banner .banner-art{opacity:.7}.soft-note{background:var(--mint);color:var(--muted);font-size:12px}.legend{font-size:11px;color:var(--muted)}.legend-hint{font-size:10px}
table{font-variant-numeric:tabular-nums}th{font-size:11px!important;letter-spacing:.04em}td{font-size:13px!important}td small,.person small{font-size:11px!important}.badge,.status{font-size:11px}.field{font-size:13px;color:var(--ink);margin-bottom:18px;min-width:0}.field input,.field select,.field textarea{font-size:14px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:10px;min-height:45px;margin-top:7px;width:100%;padding:11px 12px}.field input::placeholder{color:var(--muted);opacity:.85}.field small{font-size:11px;color:var(--muted)}.field-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-error{font-size:13px}.notice{font-size:13px}.field input:focus-visible,.field select:focus-visible,button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid #789f8c;outline-offset:3px}
dialog{background:var(--white);border:1px solid var(--line);width:560px;border-radius:20px;max-height:calc(100dvh - 32px);max-width:calc(100vw - 24px)}.modal-heading{padding:24px 26px 16px;align-items:flex-start}.modal-heading h2{font-size:24px;font-weight:500;letter-spacing:-.025em}.modal-heading .eyebrow{font-size:10px;margin-bottom:8px}.modal-body,dialog form{padding:8px 26px 26px}.modal-intro{font-size:13px;color:var(--muted)}.modal-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;gap:12px}.modal-heading .icon-button{background:var(--mint);border-radius:50%}.modal-heading .icon-button .icon{width:18px}dialog .preferences{margin:0 26px 14px;padding:0;border:0;background:transparent;justify-content:flex-end;width:auto;gap:12px}dialog .preferences select{font-size:11px;min-height:28px}.preferences{box-shadow:none;border-color:var(--line);background:var(--white)}.preferences .brisa-select-button{font-size:12px;min-height:32px;padding:5px 8px;border:0;background:transparent}.preferences label{max-width:125px}dialog .preferences label{max-width:120px}body:has(dialog[open])>.preferences{visibility:hidden}
.auth-story{background:var(--mint);padding:48px}.auth-story h1{font-size:clamp(36px,4vw,58px);font-weight:450;color:var(--ink)}.auth-story p{color:var(--muted);font-size:15px}.auth-entry{background:var(--paper)}.auth-card{max-width:400px}.auth-card>p{font-size:14px;color:var(--muted)}.auth-card .field,.auth-card .field input{font-size:14px}.auth-card h2{font-size:32px;font-weight:500}.auth-tabs{background:var(--mint);border-color:var(--line)}.auth-tabs button{font-size:13px;color:var(--muted)}.auth-tabs button.selected{color:var(--ink);background:var(--white)}.auth-footnote{font-size:11px!important}.auth-divider{font-size:11px;color:var(--muted)}
.portal-header{background:var(--white);padding-right:255px}.portal-header .brand>span{max-width:260px}.bill-controls .field,.bill-rate-grid .field,.bill-body p,.bill-report p{font-size:13px}.bill-rate-grid input{font-size:13px}.bill-rate-editor p,.bill-assumptions li{font-size:13px}.bill-report strong{font-variant-numeric:tabular-nums}#powered-by{position:fixed;bottom:9px;right:16px;font-size:10px;z-index:15;color:var(--muted);background:var(--white);padding:3px 8px;border-radius:8px}#powered-by[hidden]{display:none}
/* Native elements remain authoritative for values, validation and API-compatible changes. */
.brisa-select{position:relative;min-width:0;width:100%;margin-top:7px}.brisa-select select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;padding:0!important;margin:0!important;border:0!important}.brisa-select-button{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;text-align:left;min-height:45px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:14px}.brisa-select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.brisa-select-button svg{width:14px;height:14px;flex-shrink:0;transform:rotate(90deg)}.brisa-popup{position:fixed;z-index:1000;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 42px #0002;padding:6px;overflow:auto;max-height:280px}.brisa-popup [role=option]{padding:10px 12px;min-height:40px;cursor:pointer;border-radius:7px;font-size:13px}.brisa-popup [role=option]:hover,.brisa-popup [role=option]:focus{background:var(--mint);outline:0}.brisa-popup [aria-selected=true]{background:var(--mint);font-weight:600}.brisa-popup [aria-disabled=true]{opacity:.5;cursor:not-allowed}.workspace .brisa-select{margin:0}.workspace .brisa-select-button{border:0;min-height:30px;padding:0;background:transparent;font-size:12px}.preferences .brisa-select{margin:0}.heading-actions .brisa-select{max-width:260px}.date-wrap{position:relative;margin-top:7px}.date-wrap input{margin:0!important;padding-right:46px!important;min-width:0;width:100%;color-scheme:light}.date-wrap input::-webkit-calendar-picker-indicator{display:none}.date-wrap button{position:absolute;right:4px;top:4px;bottom:4px;min-width:36px;border:0;background:var(--mint);color:var(--ink);border-radius:8px}.date-wrap button .icon{width:18px}.period .date-wrap{margin:0}.period .date-wrap input{min-height:34px;padding-left:8px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.calendar-heading strong{font-size:13px}.calendar-heading button{border:0;background:var(--mint);color:var(--ink);border-radius:7px;padding:6px 10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-grid button{border:0;border-radius:7px;min-height:32px;background:transparent;color:var(--ink);font-size:12px}.calendar-grid button:hover,.calendar-grid button:focus-visible{background:var(--mint)}.calendar-grid button[aria-pressed=true]{background:var(--brand-primary);color:white}.calendar-grid small{text-align:center;color:var(--muted)}.calendar-months{grid-template-columns:repeat(3,1fr)}.calendar-clear{margin-top:8px;border:0;padding:7px;background:var(--mint);border-radius:7px;color:var(--ink)}
.workspace-main{max-width:1150px}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.workspace-panel{padding:26px}.workspace-panel>p{color:var(--muted);margin:12px 0 20px}.workspace-panel h2{margin-bottom:12px}.workspace-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.workspace-main .table-wrap{overflow:auto}.workspace-main table{min-width:560px}.identity-preview{display:flex;align-items:center;gap:14px;padding:20px;background:var(--mint);border-radius:12px;margin-bottom:20px}.identity-preview img{width:45px;height:45px;object-fit:contain}.identity-preview strong{display:block;font-size:19px}.identity-preview small{color:var(--muted)}.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-cards article{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.plan-cards p{font-size:13px;color:var(--muted);margin-top:8px}.readiness-list{padding-left:20px;color:var(--muted);line-height:1.8}
@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.topbar-right{display:none}.sidebar{width:225px}.main{margin-left:225px}.workspace-grid{grid-template-columns:1fr}.plan-cards{grid-template-columns:1fr}.portal-header .brand>span{font-size:19px}.topbar{padding-right:225px}}
@media(max-width:700px){.sidebar{width:250px}.main{margin-left:0}main{padding:22px 18px}.topbar{height:74px;padding:16px}.page-heading{align-items:flex-start;flex-wrap:wrap}.heading-actions{flex-wrap:wrap;max-width:100%}.field-grid{grid-template-columns:1fr}.portal-header{padding:80px 18px 20px}.modal-heading{padding:22px 20px 14px}.modal-body,dialog form{padding:4px 20px 22px}dialog .preferences{margin:0 20px 12px}.modal-footer .button{white-space:normal}.workspace-panel{padding:20px}.auth-story{padding:72px 24px 30px}.auth-story h1{font-size:38px}.auth-entry{padding:28px 24px 48px}.preferences{right:12px;top:12px}.welcome-banner{padding:24px}.welcome-banner .banner-art{display:none}.welcome-banner h2{font-size:25px}.metrics{gap:12px}.metric{padding:16px}.metric-value{font-size:26px}.energy-grid{grid-template-columns:1fr}.portal-header .brand>span{max-width:230px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.marketing-header{max-width:1240px;margin:auto;padding:30px 30px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:84px}.marketing-header .brand{margin:0}.marketing-header nav{display:flex;align-items:center;gap:26px;font-size:14px}.marketing-main{max-width:1240px;padding:30px}.marketing-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;min-height:540px;padding:32px 0 65px}.marketing-hero h1{font-size:clamp(42px,5.3vw,68px);font-weight:450;letter-spacing:-.045em;line-height:1.04;margin:22px 0}.marketing-hero p{font-size:18px;color:var(--muted);max-width:480px;line-height:1.6}.marketing-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 18px}.marketing-hero small{color:var(--muted);font-size:12px}.marketing-art{min-height:390px;background:radial-gradient(ellipse at 80% 15%,#dbe4f0 0%,transparent 65%),radial-gradient(ellipse at 20% 80%,#d9e5ca 0%,transparent 60%),var(--mint);border-radius:38px;position:relative;overflow:hidden;border:1px solid var(--line)}:root[data-theme=dark] .marketing-art{background:radial-gradient(ellipse at 80% 15%,#293e4a 0%,transparent 65%),var(--mint)}.art-node{position:absolute;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:16px;z-index:1;max-width:90%;box-shadow:0 12px 40px #10251c0a}.art-node .icon{color:var(--ink);margin-bottom:9px;width:24px;height:24px}.art-node strong{display:block;font-size:16px;font-weight:550}.art-node small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.art-team{top:35px;left:28px}.art-data{top:170px;right:25px}.art-member{bottom:22px;left:35px}.art-sun{position:absolute;right:45px;top:40px;background:#dbeaaf;color:#104336;display:grid;place-items:center;height:65px;width:65px;border-radius:50%}.art-sun .icon{width:32px;height:32px}.art-line{position:absolute;inset:75px 80px;border:1px dashed #92a898;transform:rotate(-20deg);border-radius:50%}.marketing-section{padding:65px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.marketing-section h2{font-size:clamp(28px,3.5vw,42px);font-weight:450;line-height:1.2;letter-spacing:-.035em;max-width:650px}.marketing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.marketing-steps article{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:18px}.marketing-steps article:nth-child(2){background:var(--mint)}.marketing-steps article>span{font-size:12px;color:var(--muted);display:block;margin-bottom:24px}.marketing-steps h3{font-size:22px;font-weight:500;margin-bottom:12px}.marketing-steps p,.marketing-platform p{font-size:15px;color:var(--muted)}.marketing-platform{display:grid;grid-template-columns:1fr 1fr;gap:55px}.marketing-platform p{margin:22px 0}.marketing-features{background:var(--mint);padding:30px;border-radius:24px}.marketing-features p{display:flex;gap:12px;align-items:center;margin:10px 0 24px;color:var(--ink)}.marketing-features small{font-size:12px;color:var(--muted)}.marketing-disclaimer{font-size:12px;color:var(--muted);margin-top:20px}.marketing-meeting{background:var(--mint);border:1px solid var(--line);border-radius:26px;padding:42px;margin-bottom:40px}.marketing-meeting p{font-size:16px;color:var(--muted);max-width:640px;margin:18px 0 24px}.marketing-meeting small{display:block;margin-top:16px;color:var(--muted);font-size:12px}.marketing-footer{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 30px 50px;font-size:12px;color:var(--muted)}.marketing-footer .brand{margin:0}.marketing-footer .brand>span{font-size:25px}.marketing-footer>a:last-child{text-decoration:underline}
@media(max-width:700px){.marketing-header{padding:75px 20px 20px}.marketing-header nav>a:not(.button){display:none}.marketing-main{padding:20px}.marketing-hero{grid-template-columns:1fr;gap:25px;padding-top:18px}.marketing-art{min-height:380px}.marketing-hero h1{font-size:44px}.marketing-hero p{font-size:16px}.marketing-steps,.marketing-platform{grid-template-columns:1fr}.marketing-section{padding:38px 0}.marketing-meeting{padding:26px}.marketing-footer{padding:20px 20px 50px;flex-wrap:wrap}.marketing-header .button{font-size:12px;padding:9px 11px}}
/* Community register shares the app's typography, colours and custom controls. */
.registry-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:22px 0;flex-wrap:wrap}
.registry-tabs button{background:none;color:var(--muted);border:0;border-bottom:3px solid transparent;padding:14px 18px;font:inherit;cursor:pointer}
.registry-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--forest);font-weight:600}
.registry-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.registry-metrics article{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--white)}
.registry-metrics strong{display:block;font-size:1.7rem;line-height:1.3;margin-bottom:7px}
.registry-metrics span,.registry-note{color:var(--muted)}
.registry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.registry-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:.9rem;line-height:1.5}
.registry-check input{flex:none;min-height:0;width:18px;height:18px;margin-top:2px;accent-color:var(--forest)}
.registry-checks,.registry-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}
.registry-glossary article{padding:12px 0;border-bottom:1px solid var(--line)}
.registry-glossary code{display:block;font-size:.8rem;overflow-wrap:anywhere;color:var(--muted);margin-top:5px}
.registry-main details{margin:16px 0}.registry-main summary{cursor:pointer;font-weight:600;padding:12px 0}
.registry-main fieldset{min-width:0;border:0;padding:0;margin:0}.registry-main fieldset:disabled{opacity:.7}.registry-main fieldset[hidden]{display:none}.registry-main textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:200px;font-family:ui-monospace,monospace;font-size:.85rem;line-height:1.55}
.registry-main input[type=checkbox]{appearance:none;border:1px solid var(--line);border-radius:4px;background:var(--white);display:grid;place-content:center}.registry-main input[type=checkbox]:checked{background:var(--forest);border-color:var(--forest)}.registry-main input[type=checkbox]:checked::before{content:'';width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.registry-permissions article,.registry-batch{border-top:1px solid var(--line);padding:16px 0;overflow-wrap:anywhere}
.registry-batch code{font-size:.75rem}.registry-actions{display:flex;gap:10px;flex-wrap:wrap}
.registry-main table small{white-space:normal;overflow-wrap:anywhere}.registry-main td{max-width:320px;overflow-wrap:anywhere}
@media(max-width:640px){.registry-metrics{grid-template-columns:1fr}.registry-fields,.registry-checks,.registry-glossary{grid-template-columns:1fr}.registry-tabs button{padding:12px;font-size:.9rem}.registry-main .workspace-panel{padding:20px}}
.energy-main .workspace-panel{margin-top:18px}.energy-supply-report{padding:18px 0;border-bottom:1px solid var(--line)}.energy-report-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.energy-report-heading h3{margin:0}.energy-hash{display:block;overflow-wrap:anywhere;font-size:.75rem}.energy-source-form{padding:12px 0}.energy-main .registry-metrics{margin-top:20px}.energy-simulation{border-left:4px solid var(--forest)}

.energy-main code{overflow-wrap:anywhere;word-break:break-word}.energy-guide ol{padding-left:22px;margin:18px 0}.energy-guide li{margin:12px 0}.energy-guide .soft-note p{margin:10px 0}.energy-main .bill-report{margin-top:20px}.energy-main [id]{scroll-margin-top:80px}

.energy-main .field input[type=file].sr-only{width:1px;height:1px;min-height:0;padding:0;margin:0;border:0}.energy-file-button{max-width:100%;white-space:normal;margin-top:7px}

/* Keep the portal wordmark intact when account controls wrap on small screens. */
.portal-header{flex-wrap:wrap}
.portal-header .brand{flex-shrink:0;white-space:nowrap}
.portal-header .brand img{flex-shrink:0}

/* Separate registry cards consistently, including the paired person/supply forms. */
.registry-main #registry-content{display:grid;gap:24px}
.registry-main #registry-content>.workspace-grid,
.registry-main #registry-content>.registry-metrics,
.registry-main #registry-content>.registry-note{margin:0}
#toast.registry-save-toast{display:flex;align-items:flex-start;gap:12px;width:min(420px,calc(100vw - 32px));padding:18px;white-space:normal;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0002;pointer-events:auto}
.registry-save-toast strong{display:block;font-size:14px;line-height:1.5}
.registry-save-toast p{margin-top:4px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.save-notice-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--mint);color:var(--forest)}
.registry-save-toast button{flex:none;margin-left:auto;border:0;background:transparent;color:var(--muted);padding:2px 6px;font-size:22px;line-height:1;min-width:32px;min-height:32px}

/* A shared heading rhythm keeps actions from touching titles and supporting copy. */
.workspace-main .page-heading>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.workspace-main .page-heading>div>h1,
.workspace-main .page-heading>div>p{margin:0}

/* Headers participate in layout at every width; controls never cover page panels. */
.portal-header,.marketing-header,.topbar{gap:20px;flex-wrap:wrap}
.portal-header{max-width:none;width:100%;padding:24px 32px}
.topbar{height:auto;min-height:82px;padding:20px 32px}
.topbar-right{padding-right:0;min-width:0;flex-wrap:wrap}
.portal-header>.preferences,.marketing-header>.preferences,.topbar>.preferences{position:static;margin-left:auto;flex:none;max-width:100%;z-index:auto}
body:has(dialog[open]) [data-global-preferences]{visibility:hidden}
.brand{min-width:0;max-width:100%}
.brand img{flex-shrink:0}
.brand>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.portal-header .brand{flex:0 1 auto;min-width:0;white-space:normal}
.portal-header .brand>span{max-width:none}
.sidebar .brand>span{max-width:none}
.page-heading,.panel-heading,.section-title,.heading-actions{flex-wrap:wrap}
.page-heading>div,.panel-heading>div,.workspace-grid>.panel,.energy-grid>.panel,.metrics>.metric{min-width:0}
.heading-actions{max-width:100%;flex-shrink:1}
.heading-actions>select,.heading-actions>.brisa-select{min-width:0;max-width:100%}
.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.energy-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
#energy-main-guide{margin-bottom:24px}
main>.panel+.panel,main>.panel+.workspace-grid{margin-top:24px}
.marketing-header{padding-top:30px}
#powered-by{position:static;display:block;width:max-content;max-width:calc(100% - 32px);margin:16px 16px 16px auto;text-align:right}
@media(max-width:1000px){.workspace-grid,.energy-grid{grid-template-columns:1fr}}
@media(max-width:700px){
 .portal-header,.topbar{padding:18px 20px;gap:16px}
 .portal-header .brand{flex-basis:100%}
 .portal-header>div{max-width:100%;min-width:0}
 .portal-header .brand>span{font-size:22px}
 .marketing-header{padding:20px;gap:16px}
 .marketing-header nav{flex-wrap:wrap;gap:12px}
 .page-heading,.heading-actions{gap:16px}
 .heading-actions{width:100%;justify-content:flex-start}
 .heading-actions>.brisa-select{flex:1 1 180px}
 .panel-heading{padding:20px}
}

/* A quiet workspace with an explicit, persistent desktop navigation toggle. */
.sidebar-heading{display:flex;align-items:center;gap:8px;margin-bottom:24px;min-width:0}
.sidebar-heading .brand{margin:0;flex:1;min-width:0;padding-left:4px}
.sidebar-dismiss{display:none}
.sidebar.is-collapsed{display:flex}
.main.sidebar-collapsed{margin-left:76px}
.topbar{justify-content:flex-start}
.topbar-context{display:flex;align-items:center;gap:16px;min-width:0}
.topbar-context .breadcrumbs{min-width:0;flex-wrap:wrap}
.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted)}
.sidebar-toggle:hover{background:var(--mint);color:var(--ink)}
.topbar-right{margin-left:auto}
.sidebar-bottom{padding-top:24px}
.sidebar-backdrop{display:none}
.overview-guides>#energy-main-guide,.overview-guides>.panel{margin:0;min-width:0}
.overview-guides>#energy-main-guide>.panel{height:100%}
@media(max-width:700px){
 .sidebar-heading{position:sticky;top:0;z-index:1;background:var(--white);padding:10px 0;flex-shrink:0}
 .sidebar-dismiss{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px}
 .sidebar-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;padding:0;border:0;background:#06160d66;z-index:19;cursor:pointer}
 .sidebar-backdrop[hidden]{display:none}
}

/* Reference-led workspace: a dark icon rail, pill navigation and soft surfaces. */
body:has(.main){--paper:#e9eee6;--white:#fff;--ink:#192a24;--muted:#586b61;--line:#d5dfd4;--mint:#e0edd8;--accent:#b9de9c;--secondary:#cfe7e4;--radius:24px}
:root[data-theme=dark] body:has(.main){--paper:#101d20;--white:#1b302e;--ink:#edf6ef;--muted:#b4c8c0;--line:#36554c;--mint:#24493e;--accent:#b9e69d;--secondary:#86d5cb}
.main{margin-left:250px;background:var(--paper)}
.main>main{padding:24px 28px 32px;max-width:1500px}
.main .topbar{padding:20px 28px 12px;min-height:76px;background:var(--paper);border-bottom:0;gap:16px}
.main .topbar-context{flex:1 1 460px;gap:12px;min-width:0}
.workspace-tabs{display:flex;align-items:center;gap:3px;min-width:0;max-width:100%;padding:5px;background:var(--white);border-radius:999px;overflow-x:auto;scrollbar-width:thin}
.workspace-tabs button{display:flex;align-items:center;justify-content:center;flex:none;padding:9px 14px;min-height:38px;font-size:12px;color:var(--muted);white-space:nowrap;border:0;background:none;border-radius:999px}
.workspace-tabs button:hover{background:var(--mint);color:var(--ink)}
.workspace-tabs button.active{background:var(--ink);color:var(--white)}
.workspace-tabs button:focus-visible{outline-offset:-2px}
.main .sidebar-toggle{width:36px;height:36px;border:0;background:var(--white);border-radius:50%;color:var(--ink)}
.main .topbar-right{display:flex;padding:0;gap:12px;flex-shrink:1;margin:0}
.main .topbar-right>.avatar{display:none}
.main .preferences{border:0;border-radius:999px;margin-left:0;padding:5px;background:var(--white)}
.profile-pill{display:flex;align-items:center;gap:10px;min-height:42px;max-width:210px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--white)}
.main .profile-pill .avatar{display:inline-flex;background:var(--mint);color:var(--ink)}
.profile-copy{display:block;min-width:0}
.profile-copy strong,.profile-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-copy strong{font-size:12px;font-weight:500}.profile-copy small{font-size:10px;color:var(--muted)}
.profile-pill>.icon{width:12px;height:12px;transform:rotate(90deg);color:var(--muted)}
.main .topbar>.preferences{order:2}
.main .topbar-right{order:3;margin-left:auto}
.profile-menu{position:relative;flex:none}
.profile-menu summary{list-style:none;cursor:pointer}
.profile-menu summary::-webkit-details-marker{display:none}
.profile-menu summary:focus-visible{outline:2px solid #789f8c;outline-offset:3px}
.profile-menu[open] summary>.icon{transform:rotate(-90deg)}
.profile-menu-links{position:absolute;right:0;top:calc(100% + 10px);width:min(230px,calc(100vw - 36px));padding:8px;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px #10201818;z-index:45}
.profile-menu-links a,.profile-menu-links button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;background:none;border-radius:10px;text-align:left;color:var(--ink);font-size:12px}
.profile-menu-links a:hover,.profile-menu-links button:hover{background:var(--mint)}
.profile-menu-links .icon{width:17px;height:17px;color:var(--muted)}
.profile-menu-links button{border-top:1px solid var(--line);margin-top:4px}
.profile-workspace-slot .workspace{display:flex;margin:0 0 6px;padding:10px;border:0;background:var(--paper);border-radius:12px}
.profile-workspace-slot .workspace-logo{display:none}
.profile-workspace-slot .workspace select{max-width:100%}
.profile-workspace-slot .brisa-select-button{padding:0;min-height:30px;border:0;border-radius:0;background:none;font-size:12px}
.main .demo-indicator{border:0;background:transparent;padding:0;font-size:10px;color:var(--muted)}
.main .page-heading{margin-bottom:22px;gap:16px}
.main .page-heading h1{font-size:clamp(27px,2.6vw,36px);font-weight:450;letter-spacing:-.045em;overflow-wrap:break-word}
.main .page-heading p{font-size:13px;margin-top:7px}.main .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:9px}
.main .metrics{gap:14px;margin-bottom:18px}
.main .metric{border-color:var(--line);border-radius:24px;padding:20px;box-shadow:none}
.main .metric-value{font-size:29px;font-weight:450;letter-spacing:-.03em}
.main .metric-icon{background:transparent;width:26px;height:26px}.main .metric-icon .icon{width:18px;height:18px}
.main .panel{border-color:var(--line);border-radius:24px;box-shadow:none}
.main .panel-heading{padding:22px 24px 14px}.main .panel-heading h2{font-size:17px;font-weight:500}
.main .energy-grid{gap:18px;margin-bottom:18px}
.main .energy-use{background:var(--mint)}
.main .energy-use .soft-note{background:var(--white);border-radius:16px}
.main .donut{width:150px;height:150px;margin:12px auto 22px}
.main .donut>div>strong{font-size:36px;font-weight:450}
.main .chart-bar{fill:#a8c595}.main .chart-line{stroke:#335b3e}
.main .dot.sage{background:#a8c595}.main .dot.forest{background:#335b3e}
.main .donut-base{stroke:#d5dfca}.main .donut-fill{stroke:#335b3e}
:root[data-theme=dark] .main .chart-bar{fill:#4e9e88}
:root[data-theme=dark] .main .chart-line{stroke:var(--accent)}
:root[data-theme=dark] .main .donut-base{stroke:#3b6253}
:root[data-theme=dark] .main .donut-fill{stroke:var(--accent)}
.main .energy-line{padding:11px 24px}.main .energy-use>.soft-note{margin:10px 24px 22px}
.main .workspace-grid{gap:18px;margin-bottom:26px}
.main .overview-guides .workspace-panel{padding:24px}
.main .overview-guides .setup-guide{background:#e9e4f3}
:root[data-theme=dark] .main .overview-guides .setup-guide{background:#30303d}
.main .overview-guides .setup-tasks{grid-template-columns:1fr;gap:4px;padding:0 24px}
.main .overview-guides .setup-tasks li{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:6px 0}
.main .overview-guides .setup-tasks strong{margin:0;font-weight:500}
.main .overview-guides .setup-next{border:0;background:var(--white);border-radius:18px;margin:16px 24px;padding:16px}
.main .overview-guides .setup-guide>.soft-note{background:transparent;margin:0;padding:0 24px 22px}
.main .project-card{border-color:var(--line);border-radius:24px;overflow:hidden}
.main .project-content{padding:20px}.main .project-art{height:94px}
.button{border-radius:999px}.period{border-radius:999px;border-color:transparent;padding:7px 12px}
.segmented{border:0;border-radius:999px;background:var(--paper);padding:4px}
.segmented button{border-radius:999px;min-height:30px;padding:6px 12px}
.segmented button.selected{background:var(--white);box-shadow:none;color:var(--ink)}
.registry-tabs{border:0;border-radius:999px;background:var(--white);padding:5px;gap:4px;width:max-content;max-width:100%}
.registry-tabs button{border:0;border-radius:999px;padding:10px 16px}
.registry-tabs button[aria-selected=true]{background:var(--ink);color:var(--white);font-weight:500}
/* Expanded navigation has names; the compact rail keeps every destination. */
@media(min-width:701px){
 .sidebar{width:250px;padding:22px 16px 16px;background:#102622;border-right:1px solid #304d40;color:#edf6ef;gap:0}
 .sidebar-heading{margin-bottom:22px}
 .sidebar-heading .brand{padding:0;gap:10px;min-width:0}
 .sidebar-heading .brand img{width:36px;height:36px;flex:none}
 .sidebar .brand>span{font-size:19px;color:#edf6ef;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .sidebar .workspace{display:none}
 .sidebar .nav-label{color:#99b9ab;margin-bottom:10px}
 .sidebar nav{display:flex;flex-direction:column;gap:4px}
 .sidebar .nav-item{height:40px;min-height:40px;padding:0 12px;display:flex;align-items:center;gap:11px;font-size:12px;color:#b8cec3;border-radius:12px;margin:0 0 4px}
 .sidebar .nav-item>span{min-width:0}.sidebar .nav-item .icon{width:19px;height:19px;flex:none}
 .sidebar .nav-item:hover{background:#24473b;color:#f0f8ed}
 .sidebar .nav-item.active{background:var(--accent);color:#14372a}
 .sidebar .nav-count{margin-left:auto;background:#14372a14;color:inherit}
 .sidebar-bottom{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:6px}
 .sidebar .profile{padding:12px 0;gap:8px;border-color:#304d40}
 .sidebar .profile strong{color:#edf6ef;font-size:12px}.sidebar .profile small{color:#99b9ab}
 .sidebar .profile>.icon-button,.sidebar .workspace-create{display:flex;align-items:center;gap:10px;min-height:38px;margin:0!important;padding:8px 10px;color:#b8cec3;font-size:11px;text-decoration:none;border:0;background:none;border-radius:12px}
 .sidebar .workspace-create .icon{width:18px;height:18px;flex:none}
 .sidebar .workspace-create:hover,.sidebar .profile>.icon-button:hover{background:#24473b;color:#f0f8ed}
 .sidebar.is-collapsed{width:76px;padding:22px 12px 16px}
 .sidebar.is-collapsed .sidebar-heading{justify-content:center;margin-bottom:20px}
 .sidebar.is-collapsed .sidebar-heading .brand{flex:none;gap:0;justify-content:center}
 .sidebar.is-collapsed .brand>span,.sidebar.is-collapsed .nav-label{display:none}
 .sidebar.is-collapsed .nav-item{padding:0;justify-content:center;gap:0;font-size:0}
 .sidebar.is-collapsed .nav-item>span{display:none}
 .sidebar.is-collapsed .profile{display:contents}.sidebar.is-collapsed .profile>span{display:none}
 .sidebar.is-collapsed .profile>.icon-button,.sidebar.is-collapsed .workspace-create{justify-content:center;width:100%;height:38px;padding:0;font-size:0}
 .sidebar.is-collapsed .workspace-create>span{display:none}
}
@media(max-width:1200px){.profile-copy,.profile-pill>.icon{display:none}.profile-pill{padding:5px}.main .demo-indicator{display:none}}
@media(max-width:1000px){.main{margin-left:250px}.main.sidebar-collapsed{margin-left:76px}}
@media(max-width:700px){
 .main,.main.sidebar-collapsed{margin-left:0}.main>main{padding:22px 18px 28px}
 .main .topbar{padding:14px 18px 8px;gap:10px}
 .main .topbar-context{flex-basis:100%;width:100%;gap:10px}
 .workspace-tabs{flex:1}.workspace-tabs button{padding:9px 12px;font-size:11px}
 .main .sidebar-toggle{width:44px;height:44px}
 .workspace-tabs button{min-height:42px;font-size:12px}
 .main .topbar-right{margin-left:auto}.main .preferences{margin-left:0}
 .main .metrics{gap:12px}.main .metric{padding:16px}.main .metric-value{font-size:26px}
 .main .panel-heading{padding:20px}.main .workspace-grid{gap:18px}
 .main .profile-pill{max-width:44px;min-height:44px}
 .sidebar .workspace-create{display:flex;align-items:center;gap:8px}
 .sidebar .workspace-create .icon{width:16px;height:16px}
}

/* Keep page-section shortcuts available when navigating long data panels. */
.main .topbar{position:sticky;top:0;z-index:14;box-shadow:0 1px 0 var(--line)}
.workspace-tabs{border:1px solid var(--line)}
.workspace-section:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
:root[data-theme=dark] .workspace-tabs button.active{background:var(--accent);color:#15372b}
:root[data-theme=dark] .main .overview-guides .setup-guide{background:#263946;border-color:#3e5363}
:root[data-theme=dark] .main .dot.sage{background:#4e9e88}
:root[data-theme=dark] .main .dot.forest{background:var(--accent)}
:root[data-theme=dark] .main .metric-icon.green{color:var(--secondary)}
:root[data-theme=dark] .main .panel-heading>.icon{color:var(--secondary)}
:root[data-theme=dark] .main .energy-use{background:#254a3d;border-color:#3b6854}
.main .metrics .metric:nth-child(2){background:var(--mint)}
.main .metrics .metric:nth-child(3){background:var(--secondary)}
:root[data-theme=dark] .main .metrics .metric:nth-child(3){background:#25454a;border-color:#396269}

@media(min-width:701px){
 :root[data-theme=dark] .sidebar .nav-item.active{color:#14372a}
}

/* Workspace names wrap at word boundaries; icon labels float beside the rail. */
.sidebar:not(.is-collapsed) .brand>span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;line-height:1.3;font-size:16px}
.sidebar-heading .brand{align-items:center}
.sidebar .brand:focus-visible{outline:2px solid var(--accent,#98cfb1);outline-offset:4px;border-radius:10px}
.sidebar-tooltip{position:fixed;z-index:60;max-width:min(240px,calc(100vw - 100px));padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);box-shadow:0 8px 24px #0002;font-size:12px;line-height:1.4;overflow-wrap:anywhere;pointer-events:none}
.sidebar-tooltip[hidden]{display:none}

/* Arcadia-inspired public site: cream paper, forest structure, one mint action. */
.marketing-page{--paper:#f3f1ec;--white:#fff;--ink:#101f1e;--muted:#535e5d;--line:#c2cec8;--mint:#e4ebe2;--mk-green:#104336;--mk-mint:#0fff87;--mk-sheet:#fff;--mk-sage:#dbe6d8;--mk-lavender:#e8e7f5;--mk-violet:#7c18d3;background:var(--paper);color:var(--ink)}
:root[data-theme=dark] .marketing-page{--paper:#101d20;--white:#1b302e;--ink:#edf6ef;--muted:#b4c8c0;--line:#36554c;--mint:#24493e;--mk-green:#a8d6c0;--mk-sheet:#1b302e;--mk-sage:#284c3d;--mk-lavender:#49475d;--mk-violet:#ba9bdd}
.marketing-page .marketing-skip{position:absolute;top:8px;left:12px;z-index:50;transform:translateY(-160%);padding:10px 16px;border-radius:8px;background:var(--white);color:var(--ink)}
.marketing-page .marketing-skip:focus{transform:none}
.marketing-announcement{display:flex;justify-content:space-between;gap:14px;padding:10px max(24px,calc((100% - 1184px)/2));background:#104336;color:#f3f1ec;font-size:11px;letter-spacing:.02em}
.marketing-announcement>span:first-child{display:flex;align-items:center;gap:9px}
.marketing-announcement i{width:6px;height:6px;border-radius:50%;background:#0fff87;flex:none}
.marketing-page .marketing-header{max-width:1240px;padding:24px 28px;gap:20px;flex-wrap:wrap}
.marketing-page .marketing-header .brand{font-size:32px;color:var(--ink);gap:9px}
.marketing-page .marketing-header .brand img{width:32px;height:32px}
.marketing-page .marketing-header .brand>span{font-size:30px;letter-spacing:-.05em}
.marketing-page .marketing-header nav{gap:23px;font-size:12px;margin-left:auto}
.marketing-page .marketing-header .preferences{border:0;background:transparent;padding:0;margin:0}
.marketing-page .marketing-header .preferences select{font-size:11px}
.marketing-page .button{padding:12px 20px;min-height:46px;font-size:13px;font-weight:500;border-radius:8px}
.marketing-page .button.primary{background:var(--mk-mint);border:1px solid var(--mk-mint);color:#103f32}
.marketing-page .button.primary:hover{background:#42fca2;border-color:#42fca2}
.marketing-page .button.secondary{border-color:var(--line);color:var(--ink);background:transparent}
.marketing-page .button.secondary:hover{background:var(--mint)}
.marketing-page .button .icon,.marketing-text-link .icon{width:16px;height:16px}
.marketing-page .marketing-main{max-width:1240px;margin:auto;padding:0 28px}
.marketing-page .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.1em;font-weight:650;color:var(--mk-green);margin-bottom:18px}
.marketing-page .marketing-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;min-height:0;padding:48px 0 56px}
.marketing-page .marketing-hero h1{font-size:clamp(42px,4.2vw,60px);font-weight:350;letter-spacing:-.04em;line-height:1.05;margin:0 0 24px}
.marketing-page .marketing-hero h1 span{color:var(--mk-green)}
.marketing-page .marketing-hero p{font-size:16px;line-height:1.8;color:var(--muted);max-width:500px}
.marketing-page .marketing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:28px 0 16px}
.marketing-page .marketing-hero small{display:block;font-size:11px;color:var(--muted);line-height:1.6}
.marketing-text-link{display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:500;color:var(--mk-green);text-underline-offset:4px}
.marketing-text-link:hover{text-decoration:underline}
.marketing-page figure{margin:0;min-width:0}
.marketing-page figcaption{font-size:10px;color:var(--muted);line-height:1.6;padding-top:10px}
.marketing-page .marketing-hero-photo{position:relative;align-self:stretch;min-height:430px;background:linear-gradient(140deg,#afc4bf,#e8e7f5,#f1eee9);border-radius:24px;overflow:hidden}
.marketing-page .marketing-hero-photo>img{width:100%;height:100%;min-height:430px;max-height:530px;object-fit:cover;object-position:38% 65%;display:block}
.marketing-page .marketing-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 22px 16px;background:linear-gradient(transparent,#07251bb8);color:white;font-size:9px}
.marketing-photo-label{position:absolute;left:22px;right:22px;bottom:52px;display:flex;align-items:center;gap:12px;padding:16px 18px;color:#104336;background:#f3f1eced;backdrop-filter:blur(8px);border:1px solid #f3f1ec66;border-radius:12px;font-size:15px;font-weight:500}
.marketing-photo-label .icon{width:24px;height:24px;flex:none}
.marketing-capabilities{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marketing-capabilities>span{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.marketing-capabilities .icon{width:18px;height:18px;color:var(--mk-green)}
.marketing-page .marketing-section{padding:90px 0;border-top:0;scroll-margin-top:24px}
.marketing-page .marketing-section h2{font-size:clamp(32px,3.7vw,48px);font-weight:350;line-height:1.12;letter-spacing:-.035em;max-width:700px;margin:0}
.marketing-section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}
.marketing-section-intro>div{flex:1}
.marketing-section-intro>p{width:360px;max-width:45%;font-size:14px;line-height:1.8;color:var(--muted)}
.marketing-page .marketing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:0}
.marketing-page .marketing-steps article{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:16px}
.marketing-page .marketing-steps article:nth-child(2){background:var(--mint)}
.marketing-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px;color:var(--mk-green);font-size:12px}
.marketing-step-top .icon{width:23px;height:23px}
.marketing-page .marketing-steps h3{font-size:21px;line-height:1.25;font-weight:450;letter-spacing:-.025em;margin-bottom:14px}
.marketing-page .marketing-steps p{font-size:13px;line-height:1.85;color:var(--muted)}
.marketing-page .marketing-product{padding-top:0}
.marketing-product-preview{border:1px solid var(--line);border-radius:16px;padding:12px;background:linear-gradient(150deg,var(--mint),var(--mk-lavender),var(--paper))}
.marketing-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:5px 8px 16px;font-size:11px;color:var(--muted)}
.marketing-preview-bar>span{display:flex;align-items:center;gap:7px}
.marketing-preview-bar i{width:6px;height:6px;flex:none;border-radius:50%;background:var(--mk-green)}
.marketing-preview-bar button{display:inline-flex;align-items:center;gap:7px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:11px;padding:8px 10px;white-space:nowrap;min-height:36px}
.marketing-preview-bar .icon{width:14px;height:14px}
.marketing-preview-image{max-height:490px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#e9eee6}
.marketing-preview-image.expanded{max-height:none}
.marketing-preview-image img{display:block;width:100%;height:auto;max-width:none}
.marketing-product-preview figcaption{padding:12px 8px 4px}
.marketing-product-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:30px}
.marketing-product-notes .icon{width:19px;height:19px;color:var(--mk-green);margin-bottom:12px}
.marketing-product-notes h3{font-size:15px;font-weight:500;margin-bottom:8px}
.marketing-product-notes p{font-size:12px;color:var(--muted);line-height:1.8}
.marketing-page .marketing-community-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;border-top:1px solid var(--line)}
.marketing-community-story figure>img{width:100%;height:380px;object-fit:cover;object-position:50% 75%;border-radius:16px;display:block}
.marketing-community-story p,.marketing-energy-story p{font-size:14px;color:var(--muted);line-height:1.85;margin:22px 0}
.marketing-community-story ul{list-style:none;padding:0;margin:24px 0}
.marketing-community-story li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.marketing-community-story .marketing-role-note{font-size:11px;margin-bottom:0}
.marketing-page .marketing-energy-story{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;padding-top:0}
.marketing-map-panel{background:linear-gradient(145deg,var(--mint),var(--mk-lavender),var(--paper));border:1px solid var(--line);border-radius:24px;padding:24px}
.community-map{display:block;width:100%;height:auto}
.marketing-map-panel>div{text-align:center;font-size:10px;color:var(--muted);padding-top:16px}
.energy-route{animation:brisa-energy-flow 12s linear infinite}
@keyframes brisa-energy-flow{to{stroke-dashoffset:-56}}
.marketing-page .marketing-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;border-top:1px solid var(--line)}
.marketing-faq-list details{border-bottom:1px solid var(--line)}
.marketing-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;list-style:none;cursor:pointer;font-size:15px;font-weight:450}
.marketing-faq-list summary::-webkit-details-marker{display:none}
.marketing-faq-list summary .icon{width:16px;height:16px;flex:none;color:var(--mk-green)}
.marketing-faq-list details[open] summary .icon{transform:rotate(45deg)}
.marketing-faq-list p{padding-bottom:24px;color:var(--muted);font-size:13px;line-height:1.8}
.marketing-page .marketing-meeting{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#104336;border:0;border-radius:24px;padding:48px;margin-bottom:70px;color:#f3f1ec}
.marketing-meeting .eyebrow{color:#0fff87}
.marketing-page .marketing-meeting h2{font-size:clamp(34px,3.8vw,50px)}
.marketing-page .marketing-meeting p{font-size:14px;color:#d0ddd6;line-height:1.8;max-width:540px;margin:22px 0}
.marketing-page .marketing-meeting .button.secondary{border-color:#648e7f;color:#f3f1ec}
.marketing-page .marketing-meeting .button.secondary:hover{background:#205545}
.marketing-page .marketing-meeting small{color:#becfc6;font-size:10px;line-height:1.8;max-width:500px}
.marketing-meeting-mark{flex:none;color:#0fff8733}.marketing-meeting-mark .icon{width:160px;height:160px;stroke-width:1}
.marketing-page .marketing-footer{max-width:none;background:#104336;color:#d0ddd6;padding:46px max(28px,calc((100% - 1184px)/2));gap:40px;align-items:flex-start}
.marketing-page .marketing-footer .brand{color:#f3f1ec}.marketing-page .marketing-footer .brand>span{font-size:30px}
.marketing-footer p{font-size:12px;line-height:1.7;margin-top:16px}
.marketing-footer nav{display:flex;flex-direction:column;gap:14px;font-size:12px;padding-top:8px}
.marketing-page .marketing-footer a:hover{text-decoration:underline}
.marketing-credits{font-size:11px;max-width:280px;padding-top:8px}.marketing-credits summary{cursor:pointer;text-underline-offset:3px}
.marketing-credits p{font-size:10px;margin:12px 0}.marketing-credits a{text-decoration:underline}
@media(max-width:1000px){
 .marketing-page .marketing-header nav{gap:16px}.marketing-page .marketing-header .preferences{margin-left:auto}
 .marketing-page .marketing-hero{gap:28px;padding-top:36px}
 .marketing-page .marketing-hero h1{font-size:46px}
 .marketing-page .marketing-hero-photo{min-height:450px}.marketing-page .marketing-hero-photo>img{min-height:450px}
 .marketing-page .marketing-community-story,.marketing-page .marketing-energy-story,.marketing-page .marketing-faq{gap:32px}
 .marketing-page .marketing-steps article{padding:22px}
}
@media(max-width:700px){
 .marketing-announcement{padding:9px 20px;font-size:9px}.marketing-announcement>span:last-child{display:none}
 .marketing-page .marketing-header{padding:20px;gap:16px}.marketing-page .marketing-header nav{gap:0}
 .marketing-page .marketing-header nav>a:not(.button){display:none}
 .marketing-page .marketing-header .preferences{margin-left:0}
 .marketing-page .marketing-main{padding:0 20px}
 .marketing-page .marketing-hero{grid-template-columns:1fr;gap:28px;padding:32px 0;min-height:0}
 .marketing-page .marketing-hero h1{font-size:44px;line-height:1.07}.marketing-page .marketing-hero p{font-size:15px}
 .marketing-page .marketing-hero-photo{min-height:0;height:310px}.marketing-page .marketing-hero-photo>img{height:310px;min-height:0;max-height:none;object-position:40% 70%}
 .marketing-photo-label{left:16px;right:16px;bottom:44px;padding:13px;font-size:13px}.marketing-page .marketing-hero-photo figcaption{padding:26px 16px 13px}
 .marketing-page .marketing-actions{gap:16px}.marketing-page .button{padding:11px 16px;font-size:12px}
 .marketing-capabilities{gap:16px;padding:22px 0;align-items:flex-start;flex-direction:column}
 .marketing-page .marketing-section{padding:52px 0}.marketing-page .marketing-section h2{font-size:34px}
 .marketing-section-intro{display:block;margin-bottom:28px}.marketing-section-intro>p{width:auto;max-width:100%;margin-top:20px;font-size:13px}
 .marketing-page .marketing-steps,.marketing-product-notes{grid-template-columns:1fr;gap:16px}
 .marketing-page .marketing-steps article{padding:24px}.marketing-step-top{margin-bottom:22px}
 .marketing-product-notes{gap:24px;padding-top:26px}
 .marketing-page .marketing-product{padding-top:0}
 .marketing-preview-bar{align-items:flex-start;font-size:10px;padding:4px 2px 12px;gap:12px;flex-wrap:wrap}
 .marketing-preview-bar button{min-height:40px}.marketing-preview-image{max-height:none;overflow:auto}
 .marketing-preview-image.expanded img{width:1000px}
 .marketing-product-preview figcaption{padding-left:2px;padding-right:2px;font-size:9px}
 .marketing-page .marketing-community-story,.marketing-page .marketing-energy-story,.marketing-page .marketing-faq{grid-template-columns:1fr;gap:30px}
 .marketing-community-story figure>img{height:280px}
 .marketing-page .marketing-energy-story{padding-top:0}.marketing-map-panel{padding:16px}
 .marketing-faq-list summary{font-size:14px;padding:20px 0}
 .marketing-page .marketing-meeting{padding:30px 24px;margin-bottom:44px;gap:0}
 .marketing-page .marketing-meeting h2{font-size:34px}.marketing-meeting-mark{display:none}
 .marketing-page .marketing-footer{padding:34px 24px;gap:28px;flex-wrap:wrap}
 .marketing-footer>div{flex-basis:100%}
}

/* Give headings and navigation more presence without scaling the whole UI. */
.marketing-page .marketing-header nav{font-size:14px;font-weight:450}
.marketing-page .marketing-header .button{font-size:14px}
.marketing-page .marketing-hero h1{font-size:clamp(48px,5vw,68px);font-weight:420;letter-spacing:-.035em;line-height:1.08}
.marketing-page .marketing-hero p{font-size:18px;line-height:1.7;max-width:540px}
.marketing-page .marketing-section h2{font-size:clamp(36px,4vw,52px);font-weight:420;line-height:1.15}
.marketing-page .marketing-steps p,.marketing-section-intro>p,.marketing-community-story p,.marketing-energy-story p{font-size:15px;line-height:1.8}
.main .page-heading h1{font-size:clamp(28px,2.8vw,38px);font-weight:500;letter-spacing:-.035em}
.main .page-heading p{font-size:15px}
.main .panel-heading h2{font-size:19px;font-weight:550}
.workspace-tabs button{font-size:13px}
@media(min-width:701px){.sidebar:not(.is-collapsed) .nav-item{font-size:13px}}
@media(max-width:700px){
 .marketing-page .marketing-hero h1{font-size:clamp(40px,12vw,48px)}
 .marketing-page .marketing-hero p{font-size:17px}
 .marketing-page .marketing-section h2{font-size:38px}
 .marketing-page .marketing-header .button{font-size:13px}
 .main .page-heading h1{font-size:30px}
 .main .page-heading p{font-size:14px}
 .workspace-tabs button{font-size:13px}
}
.marketing-page .marketing-hero-photo>img{object-position:28% 60%}
.marketing-community-story figure>img{object-position:50% 50%}
.marketing-page .marketing-hero-photo figcaption{font-size:11px;line-height:1.6}
@media(max-width:700px){.marketing-page .marketing-hero-photo>img{object-position:35% 60%}.marketing-page .marketing-hero-photo figcaption{font-size:10px}}

/* Twin Currents: original traced lettering and symbol, with theme-aware ink. */
.marketing-page .brand .brisa-wordmark{display:block;width:142px;height:44px;flex-shrink:0}
:root[data-theme=dark] .marketing-page .brand{--brisa-brand-ink:#ffffff}
.marketing-page .marketing-footer .brand{--brisa-brand-ink:#ffffff}
@media(max-width:700px){.marketing-page .marketing-header .brand .brisa-wordmark{width:128px;height:40px}}

/* Final interface review: clear waiting states and readable account actions. */
.auth-tabs button{font-size:14px;min-height:44px}
.auth-card .auth-footnote{font-size:12px!important;line-height:1.65!important}
.auth-feature{font-size:12px;line-height:1.6}
.empty-project p{font-size:14px;line-height:1.65}
.portal-main .portal-pending-sections{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden;margin-top:24px}
.portal-main .portal-pending-sections>.panel{margin:0;border:0;border-radius:0;padding:18px 22px;background:transparent}
.portal-main .portal-pending-sections>.panel+.panel{border-top:1px solid var(--line)}
.portal-pending-sections h2{font-size:16px;font-weight:550;line-height:1.4;margin:0 0 8px}
.portal-pending-sections p{font-size:14px;line-height:1.6;margin:0}
.portal-header .brand>span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal}
@media(max-width:700px){
 /* At least 16px prevents Safari from zooming when an editable field gets focus. */
 main input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),
 dialog input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),
 .field input:not([type=checkbox]):not([type=radio]),.field textarea,
 .auth-card .field input,.bill-rate-grid input,.registry-main textarea{font-size:16px}
 .auth-card .field{font-size:14px}
 .portal-header .text-link{display:inline-flex;align-items:center;min-height:44px}
 .portal-main .portal-pending-sections>.panel{padding:16px 20px}
}

.demo-guide{padding:24px;margin:0 0 24px;border:1px solid var(--line);background:var(--mint)}
.demo-guide h2{font-size:22px;line-height:1.3;margin:8px 0}
.demo-guide p{font-size:14px;line-height:1.6;margin:10px 0}
.demo-guide .heading-actions{margin-top:18px;gap:10px;justify-content:flex-start}
#marketing-contact .panel{padding:28px;border-radius:24px;background:var(--white);margin-top:24px;max-width:850px}
#marketing-contact p{font-size:14px;line-height:1.65}
#marketing-contact textarea{resize:vertical;min-height:120px}
.contact-confirmation{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--mint);overflow-wrap:anywhere}
@media(max-width:700px){.demo-guide,#marketing-contact .panel,.contact-confirmation{padding:20px}.demo-guide .heading-actions{width:100%}}

/* Guided visits: one continuous story, with the result before editable details. */
.demo-guide-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.demo-guide .eyebrow{font-size:11px;line-height:1.5}
.demo-guide-count{font-size:13px;font-weight:600;white-space:nowrap;color:var(--muted)}
.demo-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:18px 0 22px}
.demo-progress li{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;line-height:1.4;color:var(--muted)}
.demo-progress li>span{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;font-size:11px}
.demo-progress [aria-current=step]{font-weight:650;color:var(--ink)}
.demo-progress [aria-current=step]>span{background:var(--ink);color:var(--white);border-color:var(--ink)}
.demo-progress .is-visited>span{background:var(--white)}
.demo-guide .demo-scenario{padding:12px 0;border-top:1px solid var(--line);font-size:13px}
.demo-guide .demo-look-for{color:var(--muted);margin-top:12px}
.demo-tools{margin:24px 0;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}
.demo-tools>summary{cursor:pointer;padding:20px;font-size:15px;font-weight:550;min-height:44px}
.demo-tools-body{padding:0 20px 20px;min-width:0}
.demo-tools-body>.bill-controls,.demo-tools-body>.bill-editors{margin-top:18px}
@media(max-width:1000px){.demo-progress{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}}
@media(max-width:700px){.demo-guide .eyebrow{font-size:10px}.demo-guide h2{font-size:23px}.demo-progress li{font-size:11px;gap:5px}.demo-progress li>span{width:22px;height:22px}.demo-tools>summary{padding:18px}.demo-tools-body{padding:0 12px 16px}.demo-guide .heading-actions>a,.demo-guide .heading-actions>button{min-height:44px}}
.demo-explanation{margin-top:12px}
.demo-explanation>summary{cursor:pointer;font-size:13px;line-height:1.6;color:var(--muted);padding:6px 0}

/* Product Design audit: readable supporting copy and restrained action hierarchy. */
.marketing-page .button{font-size:14px;min-height:48px}
.marketing-page .button.primary{background:#104336;border-color:#104336;color:#fff}
.marketing-page .button.primary:hover{background:#205545;border-color:#205545}
:root[data-theme=dark] .marketing-page .button.primary,
.marketing-page .marketing-meeting .button.primary{background:#bfdf9c;border-color:#bfdf9c;color:#122c24}
:root[data-theme=dark] .marketing-page .button.primary:hover,
.marketing-page .marketing-meeting .button.primary:hover{background:#d0eab2;border-color:#d0eab2}
.marketing-page .marketing-hero small,.marketing-page .marketing-meeting small{font-size:13px;line-height:1.65}
.marketing-page .marketing-text-link{font-size:14px;min-height:44px}
.marketing-capabilities>span{font-size:14px}
.marketing-product-notes h3{font-size:18px;line-height:1.4}
.marketing-product-notes p,.marketing-faq-list p{font-size:15px;line-height:1.75}
.marketing-preview-bar,.marketing-preview-bar button{font-size:13px}
.marketing-preview-bar button{min-height:44px}
.marketing-page .marketing-product-preview figcaption,.marketing-community-story .marketing-role-note{font-size:12px;line-height:1.7}
.marketing-community-story li{font-size:15px}
.marketing-faq-list summary{font-size:17px;line-height:1.5}
.marketing-footer p,.marketing-footer nav{font-size:14px;line-height:1.7}
.marketing-footer nav a{display:inline-flex;align-items:center;min-height:44px}
.marketing-credits summary{min-height:44px;display:flex;align-items:center}
.marketing-page .marketing-credits p{font-size:12px}
.marketing-page :is(a,button,summary,input,textarea):focus-visible{outline:3px solid var(--mk-green);outline-offset:4px}
.marketing-page .marketing-meeting :is(a,button):focus-visible,.marketing-page .marketing-footer :is(a,summary):focus-visible{outline-color:#bfdf9c}
.main .project-numbers span>small,.main .project-footer>span:last-child{font-size:12px;color:var(--muted);line-height:1.5}
.main .project-numbers{flex-wrap:wrap;row-gap:12px}
.main .project-footer{flex-wrap:wrap;gap:12px}
@media(max-width:700px){
 .marketing-page .marketing-header{display:grid;grid-template-columns:1fr auto;gap:14px}
 .marketing-page .marketing-header .preferences{grid-row:1;grid-column:2;justify-self:end;gap:0}
 .marketing-page .marketing-header nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;border-top:1px solid var(--line);padding-top:10px}
 .marketing-page .marketing-header nav>a:not(.button){display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 .marketing-page .marketing-header nav>.button{margin-left:auto}
 .marketing-page .marketing-header .brand .brisa-wordmark{width:112px;height:36px}
 .marketing-page .marketing-section-intro>p{font-size:15px}
 .marketing-page .marketing-product-preview figcaption{font-size:12px}
 .marketing-page .marketing-hero h1{font-size:clamp(38px,10.6vw,48px)}
 .marketing-page .marketing-header .button{font-size:14px}
 #marketing-contact :is(input,textarea){font-size:16px}
}
.demo-guide .demo-guide-status:empty{display:none}
.demo-tools-body .bill-history{margin-bottom:0}

/* Supply setup keeps existing records discoverable before optional plan choices. */
.registry-setup-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-left:22px;margin:20px 0 0}
.registry-setup-guide li{padding-left:4px;min-width:0;font-size:14px;line-height:1.6}
.registry-setup-guide li a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.registry-setup-guide li span{display:block;color:var(--muted)}
#registry-people,#registry-supply,#registry-links{scroll-margin-top:24px}
@media(max-width:700px){.registry-setup-guide ol{grid-template-columns:1fr;gap:14px}}

/* Wide reports must remain reachable with a keyboard on narrow screens. */
.table-wrap[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}
/* Report labels and values use the same readable tokens as the workspace. */
.portal-main table th{color:var(--muted)}
.portal-main table td{color:var(--ink)}
.bill-report .close-meta small,.bill-report .close-meta p,
.bill-report .bill-energy small,.bill-report .bill-assumptions p,
.bill-report .bill-estimate-note{color:var(--muted)}
.portal-main .page-disclaimer{color:var(--muted);font-size:12px;line-height:1.6}
.bill-report .table-wrap{max-width:100%;overflow-x:auto}

/* Marketing FAQ controls and a local photographic invitation. */
.marketing-faq-list summary>span:first-child{flex:1;min-width:0}
.marketing-faq-toggle{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--mk-sheet);color:var(--mk-green);transition:background .18s,border-color .18s}
.marketing-faq-toggle>span{display:flex}
.marketing-faq-toggle .faq-collapse{display:none}
.marketing-faq-list summary .marketing-faq-toggle .icon{width:20px;height:20px;transform:none;color:inherit}
.marketing-faq-list details[open] .faq-expand{display:none}
.marketing-faq-list details[open] .faq-collapse{display:flex}
.marketing-faq-list details[open] .marketing-faq-toggle,.marketing-faq-list summary:hover .marketing-faq-toggle{background:#c6e686;border-color:#c6e686;color:#123e36}
.marketing-faq-list summary:focus-visible{outline:2px solid var(--mk-green);outline-offset:5px;border-radius:4px}
.marketing-page .marketing-meeting{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.marketing-meeting>div{min-width:0}
.marketing-meeting-photo{position:relative;margin:0;min-width:0;padding-bottom:28px}
.marketing-meeting-photo>img{display:block;width:100%;height:350px;object-fit:cover;object-position:50% 55%;border-radius:18px}
.marketing-meeting-photo-note{position:absolute;left:18px;right:18px;bottom:48px;display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;background:#f4f3eafa;color:#123e36;box-shadow:0 8px 28px #061e2420}
.marketing-meeting-photo-note>.icon{width:30px;height:30px;flex:none}
.marketing-meeting-photo-note strong,.marketing-meeting-photo-note span{display:block}
.marketing-meeting-photo-note strong{font-size:17px;font-weight:550;line-height:1.4}
.marketing-meeting-photo-note span{margin-top:4px;font-size:13px;line-height:1.5}
.marketing-meeting-photo figcaption{position:absolute;bottom:0;left:0;right:0;font-size:10px;line-height:1.5;color:#d0ddd6}
@media(max-width:900px){.marketing-page .marketing-meeting{grid-template-columns:1fr;gap:28px}.marketing-meeting-photo>img{height:320px}}
@media(max-width:700px){.marketing-page .marketing-meeting{gap:28px;padding:28px 22px}.marketing-meeting-photo>img{height:260px}.marketing-meeting-photo-note{left:12px;right:12px;bottom:48px;padding:14px;gap:10px}.marketing-meeting-photo-note strong{font-size:15px}.marketing-meeting-photo-note span{font-size:12px}.marketing-meeting-photo figcaption{font-size:9px}.marketing-faq-list summary{gap:12px}}
@media(prefers-reduced-motion:reduce){.marketing-faq-toggle{transition:none}}
.marketing-faq-list details[open] summary .marketing-faq-toggle .icon{transform:none}

/* Short enquiry form with an independent, optional scheduling path. */
.marketing-contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:24px;align-items:start}
.marketing-contact-form{min-width:0}
#marketing-contact .panel{margin-top:0;max-width:none}
#marketing-contact .contact-form-lead{margin:8px 0 24px;color:var(--muted)}
.marketing-booking-card{border:1px solid var(--line);border-radius:24px;background:var(--mint);padding:28px;min-width:0}
.marketing-contact-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--mk-sheet);color:var(--mk-green);margin-bottom:24px}
.marketing-contact-icon .icon{width:24px;height:24px}
.marketing-page .marketing-booking-card h3{font-size:26px;line-height:1.25;letter-spacing:-.025em;font-weight:500;margin:0 0 18px}
.marketing-booking-card p{color:var(--muted)}
.marketing-booking-card ul{padding-left:20px;margin:24px 0;display:grid;gap:12px;font-size:14px}
.marketing-booking-card .button{width:100%;white-space:normal;text-align:center}
.marketing-booking-card small{display:block;color:var(--muted);font-size:12px;line-height:1.65;margin-top:16px}
.marketing-booking-card button:disabled{opacity:1;color:var(--muted);cursor:default;background:transparent}
.contact-project-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0 24px;padding:0 0 4px}
.contact-project-details summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:18px 0;font-size:14px;font-weight:500;min-height:48px}
.contact-project-details summary::-webkit-details-marker{display:none}
.contact-project-details summary>.icon{width:18px;height:18px;flex:none}
.contact-project-details[open] summary>.icon{transform:rotate(180deg)}
.contact-project-details>small{display:block;font-size:12px;color:var(--muted);margin:0 0 16px}
#marketing-contact .contact-data-note{font-size:12px;color:var(--muted)}
.contact-project-details summary:focus-visible{outline:2px solid var(--mk-green);outline-offset:3px;border-radius:6px}
@media(max-width:900px){.marketing-contact-layout{grid-template-columns:1fr}.marketing-booking-card{max-width:none}}
@media(max-width:700px){.marketing-booking-card{padding:22px}.marketing-booking-card .eyebrow{margin-bottom:12px}.marketing-page .marketing-booking-card h3{font-size:24px}#marketing-contact .field-grid{grid-template-columns:1fr}.contact-project-details summary{font-size:14px}}
.registry-main .table-wrap:focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:8px}
.date-month-display{position:absolute;left:12px;right:47px;top:1px;bottom:1px;display:flex;align-items:center;pointer-events:none;color:var(--ink);font-size:14px;border-radius:6px;padding-right:4px;z-index:1}.date-wrap input:focus~.date-month-display{visibility:hidden}.period .date-month-display{left:8px}@media(max-width:700px){.date-month-display{font-size:16px}}
.brisa-validation-error{display:block!important;color:#ad2f25!important;font-size:13px!important;line-height:1.5;margin-top:8px}html[data-theme=dark] .brisa-validation-error{color:#ffc4bc!important}[aria-invalid=true]{border-color:#ad2f25!important}.date-wrap.has-month-display input:not(:focus){color:transparent!important}.date-wrap .date-month-display{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:inherit;line-height:1.4}.period .date-wrap.has-month-display{min-width:170px}.workspace-switch-link{white-space:nowrap;gap:6px}

.field:has(+.brisa-validation-error){margin-bottom:0}.brisa-validation-error{margin-bottom:14px}.period .date-month-display{font-size:12px}
.date-wrap.has-month-display input:not(:focus)::-webkit-datetime-edit{color:transparent}.client-frame-main main section[id]{scroll-margin-top:180px}

/* All client tools share the core workspace shell. */
.client-frame-main>main{width:100%;margin:0 auto}.client-frame-sections a{display:flex;align-items:center;flex:none;min-height:38px;padding:9px 14px;font-size:13px;color:var(--muted);white-space:nowrap;border-radius:999px;text-decoration:none}.client-frame-sections a:hover,.client-frame-sections a:focus-visible{background:var(--mint);color:var(--ink)}
.workspace-menu{position:relative;flex:none}.workspace-menu summary{list-style:none;cursor:pointer}.workspace-menu summary::-webkit-details-marker{display:none}.workspace-menu-list{position:absolute;right:0;top:calc(100% + 10px);width:280px;max-width:calc(100vw - 32px);max-height:320px;overflow:auto;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:8px;box-shadow:0 16px 40px #10262226;z-index:30}.workspace-menu-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;text-align:left;border:0;border-radius:12px;background:transparent;color:var(--ink)}.workspace-menu-list button:hover,.workspace-menu-list button[aria-pressed=true]{background:var(--mint)}.workspace-menu-list button span{overflow-wrap:anywhere}.workspace-menu-list .icon{flex:none;width:18px;height:18px}.workspace-menu-list .form-error:empty{display:none}#section-communities-detail{scroll-margin-top:180px}

#tool-view>main{padding:0;max-width:none;width:100%;margin:0}#tool-view .portal-header{display:none}#tool-view [id]{scroll-margin-top:180px}#tool-view[aria-busy=true]{min-height:240px}.main>main:focus{outline:none}

.workspace-tabs:empty,.workspace-tabs[hidden]{display:none!important}
*{scrollbar-width:thin;scrollbar-color:#81968b transparent}*::-webkit-scrollbar{width:8px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#81968b;border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#536f60}:root[data-theme=dark] *{scrollbar-color:#63897d transparent}:root[data-theme=dark] *::-webkit-scrollbar-thumb{background-color:#63897d}.sidebar{scrollbar-color:#426858 transparent}.sidebar::-webkit-scrollbar-thumb{background-color:#426858}.workspace-tabs::-webkit-scrollbar{height:4px}
.main .energy-guide{padding:0;overflow:hidden}.main .energy-guide>.panel-heading{padding:24px;border-bottom:1px solid var(--line);min-height:100px;align-items:center}.main .energy-guide h2,.main .setup-guide h2{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.5px}.main .energy-guide>.panel-heading p,.main .setup-guide>.panel-heading p{font-size:12px;line-height:1.6;margin-top:8px}.main .energy-guide ol,.main .setup-tasks{list-style:none;display:grid;gap:0;margin:0;padding:12px 24px}.main .energy-guide li,.main .setup-tasks li{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;font-size:13px;line-height:1.5}.main .energy-guide li a{font-size:13px;font-weight:500;text-decoration:none;line-height:1.5}.main .energy-guide li a:hover{text-decoration:underline}.guide-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--muted)}.main .overview-guides .badge{font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap}.main .setup-tasks strong{font-size:13px;font-weight:500;line-height:1.5}.main .energy-guide>.soft-note,.main .setup-next{margin:12px 24px 20px;padding:18px;border-radius:18px}.main .energy-guide>.soft-note strong,.main .setup-next strong{font-size:13px;font-weight:600;color:var(--ink)}.main .energy-guide>.soft-note p,.main .setup-next p{font-size:12px;line-height:1.6;margin:6px 0 14px}.main .energy-guide>p:last-child,.main .setup-guide>.soft-note{font-size:12px;line-height:1.7;margin:0;padding:0 24px 24px}.main .setup-next{display:block}.main .setup-next .button{margin-top:0}.archive-list{list-style:none;padding:0;display:grid;gap:12px}.archive-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:var(--paper);border-radius:16px}.archive-list small{display:block;color:var(--muted);margin-top:4px}.archive-list strong{overflow-wrap:anywhere}@media(max-width:450px){.main .energy-guide li{flex-wrap:wrap;gap:8px}.main .energy-guide li a{flex:1 1 160px}.archive-list li{flex-wrap:wrap}}

.main .energy-guide li,.main .setup-tasks li{margin:0}.main .setup-guide>.panel-heading{padding:24px;min-height:100px;border-bottom:1px solid var(--line);align-items:center}
/* Compact pill navigation scrolls without a track cutting through its rounded edge. */
.workspace-tabs{overflow-y:hidden;scrollbar-width:none}
.workspace-tabs::-webkit-scrollbar{display:none;width:0;height:0}
.brisa-select.is-empty .brisa-select-button>.icon{display:none}
.brisa-select.is-empty .brisa-select-button{cursor:default}
.main .setup-tasks{grid-template-columns:1fr}.main .setup-tasks li{background:transparent;border:0;border-radius:0}.main .setup-tasks strong{display:inline;margin:0}.main .energy-guide>.button,.main .energy-guide>.text-link{margin:0 24px 18px}.main .energy-guide>.panel-heading>div{min-width:0}.main .energy-guide>.panel-heading>.badge{flex:none}.main .energy-guide>ol li>a{min-width:0;overflow-wrap:anywhere}.main .energy-guide .guide-step{flex:none}
.main .energy-guide .badge,.main .setup-guide .badge{font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap}

/* Keep the scroll track inside a padded, rounded shell rather than on the pill edge. */
.workspace-tabs-frame{display:flex;flex:1 1 auto;min-width:0;max-width:100%;padding:0 16px 6px;border:1px solid var(--line);border-radius:999px;background:var(--white);overflow:hidden}
.workspace-tabs-frame[hidden]{display:none!important}
.workspace-tabs-frame>.workspace-tabs{width:100%;max-width:100%;min-width:0;padding:5px 0 3px;border:0;border-radius:0;background:transparent;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#81968b transparent}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar{display:block;width:8px;height:5px}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-track{background:var(--line);border-radius:999px}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-thumb{background:#81968b;border:0;border-radius:999px}
:root[data-theme=dark] .workspace-tabs-frame>.workspace-tabs{scrollbar-color:#63897d transparent}
:root[data-theme=dark] .workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-thumb{background:#63897d}
@media(max-width:700px){.workspace-tabs-frame{flex:1; padding-inline:12px}}

/* Shared spacing for rounded control groups, with an inner safe area. */
:root{--pill-inset:6px;--pill-gap:6px;--content-gap:24px}
.workspace-tabs-frame{padding:var(--pill-inset) 16px;background-clip:padding-box;isolation:isolate}
.workspace-tabs-frame>.workspace-tabs{padding:0 2px 3px;gap:var(--pill-gap);scroll-padding-inline:8px;border-radius:18px}
.workspace-tabs-frame>.workspace-tabs button,.workspace-tabs-frame>.workspace-tabs a{min-height:40px;padding:10px 16px;line-height:1.4;border-radius:999px;flex-shrink:0}
.main .registry-tabs,.main .segmented{padding:var(--pill-inset);gap:var(--pill-gap);align-items:center;max-width:100%;box-sizing:border-box}
.main .registry-tabs{overflow:hidden}.main .registry-tabs button{min-height:40px;padding:10px 16px;line-height:1.4;border-radius:999px;border:0;max-width:100%}
.main .segmented button{min-height:36px;padding:8px 14px;line-height:1.4;border-radius:999px}
.main .preferences{padding:var(--pill-inset);gap:var(--pill-gap);max-width:100%;box-sizing:border-box}
.main .energy-grid,.main .workspace-grid{gap:var(--content-gap);margin-bottom:var(--content-gap)}
@media(max-width:700px){.workspace-tabs-frame{padding:var(--pill-inset) 12px}.main .energy-grid,.main .workspace-grid{gap:18px}}
/* Minimal horizontal track: a quiet 3px line inside the pill's safe area. */
.workspace-tabs-frame>.workspace-tabs{scrollbar-color:#a9b8ae transparent}
@supports selector(::-webkit-scrollbar){.workspace-tabs-frame>.workspace-tabs{scrollbar-width:auto}}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar{height:3px}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-track{background:transparent}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-thumb{background:#a9b8ae;border:0;border-radius:999px}
.workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-thumb:hover{background:#81968b}
:root[data-theme=dark] .workspace-tabs-frame>.workspace-tabs{scrollbar-color:#47675e transparent}
:root[data-theme=dark] .workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-thumb{background:#47675e}
:root[data-theme=dark] .workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar-thumb:hover{background:#63897d}
/* Chromium/Safari standard scrollbar colors override WebKit pixel sizing.
   Use one pixel-sized implementation there; retain the thin standard fallback elsewhere. */
@supports selector(::-webkit-scrollbar){
 *{scrollbar-width:auto!important;scrollbar-color:auto!important}
 *::-webkit-scrollbar:horizontal{height:3px}
 *::-webkit-scrollbar-thumb:horizontal{border:0;border-radius:999px;background:#a9b8ae}
 *::-webkit-scrollbar-track:horizontal{background:transparent;border-radius:999px}
 *::-webkit-scrollbar-thumb:horizontal:hover{background:#81968b}
 :root[data-theme=dark] *::-webkit-scrollbar-thumb:horizontal{background:#47675e}
 :root[data-theme=dark] *::-webkit-scrollbar-thumb:horizontal:hover{background:#63897d}
 .workspace-tabs-frame>.workspace-tabs::-webkit-scrollbar{height:3px}
}

/* Account entry uses the same inset cards and pill controls as the workspace. */
.auth-layout{min-height:100dvh;padding:18px;gap:18px;background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-story{border-radius:28px;padding:clamp(28px,4vw,60px);gap:40px;background:#104336;color:#edf6ef}
.auth-story .brand,.auth-story h1{color:#edf6ef}
.auth-story .eyebrow,.auth-story>small{color:#bed6c6}
.auth-story>div{max-width:480px}
.auth-story h1{font-size:clamp(38px,4.4vw,64px);line-height:1.08;letter-spacing:-.045em;margin:20px 0 24px}
.auth-story p{color:#c5dacf;line-height:1.75;max-width:420px}
.auth-illustration{max-width:420px;padding:24px;border-radius:22px;background:#1b5142;border:1px solid #3e705c;margin-top:32px}
.auth-sun{background:#c5df9b;color:#104336;width:46px;height:46px}
.auth-flow span{background:#104336;border-color:#3e705c;color:#d9edbd;border-radius:14px}
.auth-flow i{border-color:#7da68a}
.auth-feature{color:#d7e6dd;gap:10px;font-size:13px;line-height:1.6}
.auth-feature .icon{color:#c5df9b;flex:none}
.auth-entry{padding:80px 28px 32px;min-width:0;background:transparent}
.auth-card{max-width:460px;padding:34px;background:var(--white);border:1px solid var(--line);border-radius:28px}
.auth-card h2{font-size:32px;line-height:1.15;letter-spacing:-.035em;margin:14px 0 12px}
.auth-card>p{line-height:1.65}
.auth-tabs{padding:6px;gap:6px;border-radius:999px;margin:26px 0 24px;background:var(--paper);border-color:var(--line)}
.auth-tabs button{min-height:44px;padding:10px 14px;border-radius:999px;font-size:14px;font-weight:500;line-height:1.4}
.auth-tabs button.selected{background:var(--mint);color:var(--ink);box-shadow:none}
.auth-card .field{display:block;margin-bottom:18px;font-size:13px;font-weight:550;line-height:1.5}
.auth-card .field input{min-height:48px;padding:12px 14px;border-radius:14px;background:var(--paper);font-size:15px;font-weight:400;line-height:1.5}
.auth-card .field small{display:block;font-size:12px;font-weight:400;line-height:1.5;margin-top:7px}
.auth-card .auth-submit{min-height:48px;font-size:14px;border-radius:999px;margin-top:4px}
.auth-card>.text-link{display:inline-flex;align-items:center;min-height:36px;margin:10px 18px 0 0;font-size:12px;line-height:1.5;text-underline-offset:4px}
.auth-card .auth-footnote{border-top:1px solid var(--line);padding-top:18px;margin-top:20px!important;text-align:left;font-size:12px!important;line-height:1.6!important}
.auth-card .form-error:empty{display:none}
.auth-layout input:autofill{background:var(--paper)!important;color:var(--ink)!important;caret-color:var(--ink);box-shadow:0 0 0 1000px var(--paper) inset!important}
.auth-layout input:-webkit-autofill,.auth-layout input:-webkit-autofill:hover,.auth-layout input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink)!important;caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--paper) inset!important}
:root[data-theme=dark] .auth-story{background-color:#123e34;border:1px solid #36554c}
:root[data-theme=dark] .auth-card{background:#1b302e}
:root[data-theme=dark] .auth-tabs button.selected{background:#c5df9b;color:#183d30}
:root[data-theme=dark] .auth-card .button.primary{background:#c5df9b;color:#183d30;border-color:#c5df9b}
:root[data-theme=dark] .auth-card .field input{color-scheme:dark}
@media(min-width:1600px){.auth-card{max-width:500px;padding:40px}.auth-entry{padding-inline:48px}}
@media(max-width:900px){.auth-layout{gap:12px;padding:12px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.auth-story{padding:28px}.auth-story h1{font-size:38px}.auth-entry{padding:76px 12px 24px}.auth-card{padding:26px}.auth-illustration{padding:20px}}
@media(max-width:700px){.auth-layout{grid-template-columns:1fr;gap:16px;padding:12px}.auth-story{padding:66px 24px 26px;gap:28px;border-radius:24px}.auth-story h1{font-size:36px;margin:14px 0 16px}.auth-story p{font-size:14px;line-height:1.65}.auth-story .brand{font-size:27px}.auth-entry{padding:0 0 12px}.auth-card{max-width:500px;border-radius:24px;padding:24px}.auth-card h2{font-size:28px}.auth-card .field input{font-size:16px}.auth-card>.text-link{margin-right:16px}.auth-tabs{margin-top:22px}.auth-illustration,.auth-story>small{display:none}}

/* A separate Tenerife photograph grounds account access in the local community. */
.auth-layout .auth-story{background-color:#104336;background-image:linear-gradient(180deg,#08241d26 0%,#08241d26 28%,#08241d99 56%,#08241df5 100%),url('/account-assets/tenerife-community.jpg');background-size:cover;background-position:64% center;justify-content:flex-start;gap:28px;min-height:620px}
.auth-story>.brand{position:relative;z-index:1;padding:10px 14px;border:1px solid #ffffff26;border-radius:999px;background:#08241db3}
.auth-story>div{margin-top:auto;position:relative;z-index:1}
.auth-story h1{max-width:480px;text-wrap:balance}
.auth-story .auth-illustration{display:none}
.auth-story>small{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:relative;z-index:1;font-size:10px;line-height:1.6;letter-spacing:.04em}
.auth-photo-credit{color:#bed6c6;font-size:10px;letter-spacing:0;text-decoration:none}
.auth-photo-credit:hover,.auth-photo-credit:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.auth-layout .auth-story{min-height:360px;padding-top:66px;gap:18px;background-position:62% 58%}.auth-story h1{font-size:32px;max-width:310px;margin:12px 0 14px}.auth-story p{font-size:13px}.auth-story>small{display:flex;font-size:9px;gap:6px}.auth-photo-credit{font-size:9px}}

/* Full-page account backdrop; the form stays on an opaque, readable surface. */
.auth-layout{position:relative;isolation:isolate;padding:40px clamp(24px,4vw,64px);gap:clamp(32px,5vw,80px);background-color:#104336;background-image:linear-gradient(90deg,#08241dc9 0%,#08241d80 48%,#08241d66 100%),linear-gradient(0deg,#08241d80,transparent 60%),url('/account-assets/tenerife-community.jpg');background-size:cover;background-position:center;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-layout .auth-story,:root[data-theme=dark] .auth-layout .auth-story{background:none;border:0;border-radius:0;min-height:0;padding:0;overflow:visible;justify-content:space-between;gap:40px}
.auth-layout .auth-story>div{margin-block:auto;max-width:520px;padding-block:48px}
.auth-layout .auth-story h1{font-size:clamp(40px,4.5vw,66px);max-width:520px}
.auth-layout .auth-story p{color:#e0ebe4;font-size:16px;max-width:450px}
.auth-layout .auth-story>.brand{margin:0;align-self:flex-start}
.auth-layout .auth-entry{padding:48px 0 0;justify-content:flex-end;align-items:center}
.auth-layout .auth-card{box-shadow:0 24px 70px #041c2233}
@media(max-width:900px){.auth-layout{padding:32px 24px;gap:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.auth-layout .auth-story h1{font-size:40px}.auth-layout .auth-story p{font-size:14px}.auth-layout .auth-card{padding:26px}}
@media(max-width:700px){.auth-layout{padding:76px 18px 24px;gap:24px;grid-template-columns:1fr;background-position:62% center;background-image:linear-gradient(180deg,#08241d99 0%,#08241da6 48%,#08241de6 100%),url('/account-assets/tenerife-community.jpg')}.auth-layout .auth-story{gap:16px}.auth-layout .auth-story>div{padding:0;margin:0}.auth-layout .auth-story h1{font-size:30px;line-height:1.15;margin:0;max-width:330px}.auth-layout .auth-story .eyebrow,.auth-layout .auth-story p{display:none}.auth-layout .auth-story>.brand{padding:8px 12px}.auth-layout .auth-story>small{font-size:9px}.auth-layout .auth-entry{padding:0;justify-content:center}.auth-layout .auth-card{padding:24px;max-width:460px}.auth-layout .auth-card h2{font-size:27px}}

/* The wordmark sits directly on the photograph, without an app-icon tile or capsule. */
.auth-layout .auth-story>.brand{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.auth-layout .auth-story>.brand .auth-wordmark{display:block;width:160px;height:auto;max-width:none;border-radius:0;object-fit:contain;filter:drop-shadow(0 2px 6px #08241d40)}
@media(max-width:700px){.auth-layout .auth-story>.brand .auth-wordmark{width:136px}}
