:root{--paper:#fffdf9;--bg:#f6f3ee;--ink:#27352f;--olive:#385747;--olive2:#ebf2ed;--wine:#a24d54;--sand:#e8dfd2;--muted:#69746e;--border:#dedfd7;--amber:#955c24;--red:#9b4643;--green:#2a785a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d9a856;outline-offset:2px}.app{max-width:1220px;margin:auto;padding:22px 45px 24px;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border)}.identity{font-family:Georgia,serif;font-size:29px;letter-spacing:-1.5px;line-height:1.05}.identity span{color:var(--wine)}.identity small{display:block;font-family:system-ui,sans-serif;font-size:9px;font-weight:800;letter-spacing:.19em;margin-top:6px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:8px}.save-indicator{font-size:10px;color:var(--muted);letter-spacing:.08em;font-weight:750;margin-right:6px}.mini{border:1px solid #cbd3c9;padding:9px 12px;background:#fffdf8;border-radius:50px;color:#345444;font-size:11px;font-weight:750}.mini:hover{background:var(--olive2)}.frame{display:grid;grid-template-columns:225px minmax(0,1fr);gap:52px;padding-top:43px}.rail{position:sticky;top:16px;align-self:start}.rail-title{color:var(--muted);font-size:11px;letter-spacing:.15em;font-weight:800;margin-bottom:17px}.railstep{display:flex;gap:10px;align-items:center;padding:10px 5px;border-top:1px solid var(--border);font-size:12px;color:#858e88}.railstep .number{flex-shrink:0;width:25px;height:25px;border-radius:50%;border:1px solid #bbc6bd;display:flex;align-items:center;justify-content:center;font-size:11px}.railstep.current{color:var(--ink);font-weight:800}.railstep.current .number{background:var(--olive);color:#fff;border-color:var(--olive)}.railstep.past .number{background:#e4eee6;color:var(--olive);border-color:#d1e3d5}.smallprint{background:#eeeae3;padding:19px 16px;border-radius:13px;margin-top:25px;color:#68756b;font-size:12px;line-height:1.65}.smallprint strong{display:block;color:var(--olive);font-weight:800;margin-bottom:5px}main{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:800;color:var(--wine)}h1,h2,h3,p{margin-top:0}.hero{font:normal clamp(38px,4.4vw,62px)/1.09 Georgia,'Times New Roman',serif;letter-spacing:-1.9px;max-width:740px;margin:14px 0 16px}.lead{color:#66736b;font-size:16px;line-height:1.72;max-width:680px;margin-bottom:30px}.panel{background:var(--paper);border:1px solid #e4e3dc;border-radius:17px;box-shadow:0 15px 45px rgba(45,54,45,.045);padding:clamp(20px,3.2vw,34px);margin-bottom:22px}.panel h2{font:normal 27px/1.18 Georgia,serif;letter-spacing:-.55px;margin:0 0 9px}.hint{color:var(--muted);font-size:13px;line-height:1.6}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.field{display:block;min-width:0}.field label,.field-label{display:block;font-size:11px;color:#516157;font-weight:800;text-transform:uppercase;letter-spacing:.075em;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;background:#fff;border:1px solid #ced8d0;border-radius:9px;min-height:45px;padding:11px 13px;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}.span2{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:24px}.btn{background:var(--olive);border:1px solid var(--olive);color:white;border-radius:9px;font-size:13px;font-weight:750;padding:13px 19px;min-height:46px}.btn:hover:not(:disabled){background:#254633}.btn.outline{background:transparent;color:var(--olive)}.btn.outline:hover{background:#f2f6f1}.btn.text{border-color:transparent;background:transparent;color:var(--muted);padding-inline:5px}.progressbar{height:5px;background:#e1e6df;margin:23px 0 32px;border-radius:5px;overflow:hidden}.progressbar span{display:block;background:var(--olive);height:100%;transition:width .25s}.sceneheading{display:flex;align-items:flex-start;gap:16px}.scene-symbol{flex:none;width:56px;height:56px;border-radius:50%;background:#efe9df;color:#91644b;font-size:29px;display:flex;justify-content:center;align-items:center}.sceneheading h2{font-size:31px}.sceneheading p{color:#5e6b62;font-size:15px;line-height:1.7;margin:0}.context{margin:19px 0 0;padding:13px 16px;background:#f0eee6;border-radius:9px;border-left:3px solid #aa885f;color:#655b4b;font-size:13px}.context strong{color:#7b5233}.choice-title{font-size:11px;font-weight:900;letter-spacing:.17em;color:var(--wine);margin:25px 0 10px;text-transform:uppercase}.choices{display:grid;gap:10px}.choice{width:100%;display:grid;grid-template-columns:27px 1fr;gap:12px;align-items:start;text-align:left;border:1px solid #d7dcd3;background:white;border-radius:11px;padding:16px;color:var(--ink)}.choice:hover{border-color:#71907a;background:#fcfefa}.choice[aria-pressed=true]{background:#edf4ed;border:2px solid var(--olive);padding:15px}.letter{display:grid;place-items:center;border:1px solid #aebdb0;color:var(--olive);border-radius:50%;width:25px;height:25px;font-weight:800;font-size:11px}.choice strong{display:block;font-size:14px}.choice small{display:block;color:#69776c;margin-top:4px;line-height:1.55;font-size:12px}.outcome{margin-top:21px;background:#f6eeeb;border-left:3px solid var(--wine);padding:16px 18px;border-radius:0 9px 9px 0}.outcome strong{font-size:12px;color:#923e4b}.outcome p{font-size:13px;line-height:1.65;margin:7px 0 0;color:#5a5050}.impact{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:7px}.impact span{font-size:10px;border-radius:50px;padding:4px 9px;background:#f0e9df;color:#655440;font-weight:750}.warning{margin-top:18px;padding:12px 15px;border:1px solid #e9d8ba;background:#fff9ee;border-radius:9px;color:#76592d;font-size:12px}.warning strong{color:#6e4a25}.note-box{border-top:1px solid var(--border);margin-top:23px;padding-top:22px}.note-box .grid2{margin-top:12px}.checks{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin-top:16px;color:#5b685d}.checks input{accent-color:var(--olive);margin-top:3px;transform:scale(1.1)}.report-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.report-top h2{font:normal 31px Georgia,serif}.report-meta{color:#68756b;font-size:12px}.counter{border:1px solid #cadaca;background:#f1f6ee;border-radius:12px;padding:12px 17px;min-width:137px;text-align:center}.counter strong{display:block;font:normal 35px Georgia,serif;color:var(--olive)}.counter small{display:block;font-size:10px;color:#576a5c}.section-heading{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:850;color:var(--wine);margin:27px 0 12px}.runbook{display:grid;gap:11px}.run-card{break-inside:avoid;padding:18px;border:1px solid #e0e3d9;background:#fafbf7;border-radius:11px}.run-card .topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.run-card h3{font-size:15px;margin:0}.run-card .status{font-size:10px;font-weight:800;white-space:nowrap}.status.open{color:#a04942}.status.ready{color:#2c7452}.run-card p{margin:7px 0 0;color:#59675d;font-size:12px;overflow-wrap:anywhere}.pill{display:inline-block;border-radius:30px;padding:5px 10px;background:#f3e9dc;font-size:11px;font-weight:800;color:#895f35}.pill.ok{background:#e7f0e7;color:#337052}.todos{padding:0;margin:8px 0 0;list-style:none;display:grid;gap:8px}.todos li{padding:12px 14px;background:#fff9ee;border:1px solid #e9d9c1;border-radius:9px;font-size:12px;color:#6a5140;break-inside:avoid}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact{border:1px solid #e5e4dc;padding:12px 14px;border-radius:9px;font-size:12px}.contact b{display:block;color:var(--olive)}.dependency{padding:13px 15px;background:#eff1ec;border-radius:9px;font-size:12px;color:#516052;margin-top:10px;break-inside:avoid}.safety{padding:15px;background:#f4f0e9;border:1px solid #e8e2d6;color:#756d5e;font-size:12px;line-height:1.6;border-radius:9px;margin-top:20px}.footer{display:flex;justify-content:space-between;gap:10px;margin-top:60px;padding:18px 0;border-top:1px solid var(--border);font-size:11px;color:#88918a}.footer b{padding-inline:5px;color:var(--wine)}.toast{position:fixed;right:20px;bottom:18px;z-index:10;background:#273f30;color:white;border-radius:9px;padding:11px 16px;box-shadow:0 8px 30px #0001;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.on{opacity:1}.print-only{display:none}
@media(max-width:850px){.app{padding:18px 20px}.frame{gap:26px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:680px){.app{padding:16px 16px 30px}.topbar{align-items:flex-start}.identity{font-size:24px}.identity small{font-size:8px}.header-actions{justify-content:flex-end;flex-wrap:wrap;max-width:185px;gap:5px}.save-indicator{flex-basis:100%;text-align:right;font-size:8px;margin:0}.mini{padding:7px 8px;font-size:10px}.frame{display:block;padding-top:23px}.rail{position:static;display:flex;gap:6px;margin-bottom:20px;overflow:hidden}.rail-title,.smallprint,.step-label{display:none}.railstep{border:0;padding:0;flex:none}.railstep .number{width:27px;height:27px}.hero{font-size:clamp(37px,10vw,47px)}.lead{font-size:14px}.grid2,.contacts{grid-template-columns:1fr}.panel{padding:20px 18px}.sceneheading{display:block}.scene-symbol{margin-bottom:12px;width:44px;height:44px;font-size:25px}.sceneheading h2{font-size:26px}.report-top{display:block}.counter{display:inline-block;margin-top:12px;text-align:left}.counter strong{display:inline;margin-right:6px}.counter small{display:inline}.footer{margin-top:32px;display:block}.footer span{display:block;margin-bottom:5px}.actions .btn{flex-grow:1;text-align:center}.run-card .topline{align-items:flex-start}.choice{padding:13px}.choice[aria-pressed=true]{padding:12px}}
@media print{@page{size:A4;margin:14mm 15mm}body{background:#fff;color:black;font-size:11px}.app{padding:0;max-width:none}.topbar,.rail,.footer,.no-print,.actions,.progressbar,.safety.screen-only{display:none!important}.frame{display:block;padding:0}.panel{border:0;box-shadow:none;padding:0;margin:0;background:#fff}.eyebrow{color:#5e655e}.hero{font-size:26px;margin:0 0 7px}.lead{font-size:10px;margin-bottom:16px}.report-top{display:flex}.report-top h2{font-size:24px}.counter{padding:6px 11px}.counter strong{font-size:23px}.section-heading{font-size:10px;margin:16px 0 7px}.runbook{gap:7px}.run-card{padding:10px 12px;background:white}.run-card p,.contact,.dependency,.todos li{font-size:10px}.run-card h3{font-size:12px}.contacts{grid-template-columns:1fr 1fr;gap:7px}.contact{padding:8px}.todos{gap:5px}.todos li{padding:8px}.print-only{display:block!important}.print-safety{font-size:9px;margin:15px 0 0;color:#666}.page-break{break-before:page}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.language-switch select{background:#fff;border:1px solid #d8d6cc;border-radius:8px;padding:9px 12px;color:#364d3d;font-weight:700;font:inherit;font-size:12px}
.geo-panel{padding:16px;border:1px solid #e6e5db;border-radius:12px;background:#fbfaf7}
.geo-row{display:flex;gap:8px;margin-top:9px}.geo-row input{flex:1;min-width:80px;width:100%;border:1px solid #deddd4;padding:11px;border-radius:8px;font-size:13px}.geo-row .btn{flex:none;min-width:112px;padding:10px 12px}
.place-option{display:block;width:100%;text-align:left;font-size:13px;line-height:1.5;background:white;border:1px solid #dbded6;color:#34483d;padding:10px 12px;border-radius:7px;margin-top:7px;cursor:pointer}.place-option:hover{border-color:#496554;background:#edf1eb}
.location-note{margin-top:18px}.weather-wrapper{margin:25px 0}.weather-card{background:#eff2ed;border:1px solid #d9e3d6;padding:22px 23px;border-radius:13px;margin:0}.weather-card.compact{padding:12px;margin-top:12px}.weather-card .eyebrow{margin-bottom:6px}.weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin:13px 0}
.weather-tile{border:1px solid #dbe0d7;background:white;border-radius:11px;padding:13px 11px;display:flex;flex-direction:column;align-items:center;gap:3px}.weather-tile .time{font-size:11px;color:#61705d;font-weight:800}.weather-tile .weather-icon{font-size:25px;line-height:1.5}.weather-tile strong{font-size:17px}.weather-tile small{font-size:10px;color:#657065;text-align:center}.weather-signal{background:#e1f0e8;border:1px solid #b6d0bf;color:#385847;border-radius:9px;padding:13px;font-size:12px;line-height:1.5;margin:13px 0}.weather-signal.caution{background:#fff2d9;border-color:#e6d2ab;color:#715433}.weather-empty{padding:16px 12px;display:flex;align-items:center;gap:12px;background:white;border:1px dashed #d8d8cf;border-radius:9px;font-size:13px}.weather-empty span{font-size:29px}.attribution{margin:10px 0 12px!important;font-size:10px!important}.attribution a{color:#45674f}.report-weather{font-size:11px;break-inside:avoid}.report-weather .weather-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-weather .weather-card{background:#f8f9f5}.report-weather .weather-tile{padding:6px 4px}.report-weather .weather-icon{font-size:15px}
@media(max-width:680px){.language-switch{margin:0 0 4px}.language-switch select{padding:7px 9px}.geo-row{flex-direction:column}.geo-row .btn{width:100%}.weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-card{padding:17px 14px}.report-weather .weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.weather-wrapper{display:none}.weather-card{background:white;border:0;padding:0}.weather-card .weather-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.weather-card .weather-tile{border:1px solid #ddd;break-inside:avoid}.weather-signal{background:#fff!important;border:1px solid #ddd;color:black}.attribution{font-size:8px!important}.language-switch{display:none}}
/* V1.3: section navigator */
.hubnav{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid #d9dfd6;padding:16px 0 2px}.hubtab{border:1px solid transparent;border-radius:9px 9px 0 0;padding:11px 14px;background:transparent;color:#617268;font-size:12px;font-weight:750}.hubtab:hover{background:#e9eee7}.hubtab.active{background:#fffefb;color:#284938;border-color:#d9dfd6;border-bottom-color:#fff}.nav-dot{display:inline-block;margin-left:5px;border-radius:100px;background:#f5e5d4;color:#795534;padding:1px 6px;font-size:10px}.hubtab.active .nav-dot{background:#e5d8cb}.frame{padding-top:32px}
/* Risk audit */
.audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 22px}.audit-summary>div{background:white;border:1px solid #dedfd7;border-radius:13px;padding:18px;text-align:center}.audit-summary strong{display:block;font:36px Georgia,serif;color:#a14e51}.audit-summary small{font-size:12px;color:#617268}.audit-panel h2{margin-bottom:8px}.audit-item{border-top:1px solid #e2e2d9;padding:18px 0}.audit-item.audited{opacity:.66}.risk-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.risk-tag{font-size:10px;letter-spacing:.03em;border-radius:30px;padding:4px 9px;background:#f3ece3;color:#725835;font-weight:800}.risk-tag.priority{background:#f5e2df;color:#914b40}.audit-item p{color:#67776d;font-size:13px;margin:10px 0}.risk-action{background:#f0f3ec;padding:10px 12px;border-radius:8px;font-size:12px;color:#315641}.audit-item .checks{margin-top:12px}.risk-report-chips{border:1px solid #e3ddd4;background:#fffaf1;padding:10px 16px;border-radius:9px}.risk-report-chips p{margin:3px 0;font-size:11px}
/* Editable stationery studio */
.template-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:21px}.tpl-pill{padding:9px 13px;background:#fff;border:1px solid #d7dfd5;border-radius:24px;font-weight:730;color:#4c6555;font-size:12px}.tpl-pill.active{background:#345744;color:white;border-color:#345744}.template-top{max-width:260px;margin-bottom:18px}.template-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:20px;align-items:start}.tpl-edit{padding:21px}.tpl-edit .field{margin-top:13px}.tpl-edit .field textarea{min-height:102px}.tpl-preview h2{font:normal 23px Georgia,serif;margin:0 0 12px}.template-sheet{background:#fffdf7;border:1px solid #c6d2c6;min-height:630px;padding:23px;text-align:center;color:#354d3e;box-shadow:0 12px 20px #00000008}.sheet-inner{border:1px solid #b5c3b6;min-height:575px;padding:39px 24px 25px;overflow-wrap:anywhere}.sheet-overline{font-size:10px;font-weight:850;letter-spacing:.19em;color:#708572;text-transform:uppercase}.sheet-flower{font-size:38px;color:#9cac95;margin:10px auto}.template-sheet h2{font:normal 35px/1.16 Georgia,serif;letter-spacing:-1px;margin:19px 0}.template-sheet h3{font:normal 23px Georgia,serif;margin:14px 0}.template-sheet p{line-height:1.7}.sheet-big{font-size:40px!important}.sheet-phrase{font-style:italic;margin:25px auto}.sheet-date{font-size:17px!important;color:#5b645b}.sheet-divider{margin:21px;color:#a78075}.sheet-lines{text-align:left;border-top:1px solid #cbd3c9;border-bottom:1px solid #cbd3c9;margin:28px auto;padding:15px 16px;line-height:2.1;font-size:13px}.sheet-small{font-size:11px;color:#698071;margin-top:27px}.sheet-sign{font:8px system-ui,sans-serif;letter-spacing:.15em;color:#9da79e;margin-top:40px}.template-sheet.modern{background:white;color:#28332d}.modern .sheet-inner{border:0;border-top:5px solid #2b3f36}.modern h2{font-family:system-ui,sans-serif!important;font-weight:300!important;letter-spacing:-1px!important}.template-sheet.romantic{background:#fff8f6;color:#7d4d59}.romantic .sheet-inner{border:2px double #d2b2b8}.romantic .sheet-overline,.romantic .sheet-flower{color:#b9798c}.template-sheet.editorial{background:linear-gradient(180deg,#fdfbf7,#fff);color:#463d2f}.editorial .sheet-inner{border:0;padding-top:58px;box-shadow:inset 0 0 0 1px #e5d8bf}.editorial .sheet-overline{color:#9d8354;letter-spacing:.31em}.editorial .sheet-flower{color:#b79868}.template-sheet.editorial h2{font:normal 47px/1.05 'Times New Roman',Georgia,serif;letter-spacing:-1.7px;text-transform:uppercase}.template-sheet.editorial h3{font:normal 23px/1.2 'Times New Roman',Georgia,serif;letter-spacing:.1em;text-transform:uppercase}.editorial .sheet-divider{font-size:17px;color:#b79868}.editorial .sheet-phrase{font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-size:11px;max-width:520px}.template-sheet.minimal{background:#fff;color:#1d1f21}.minimal .sheet-inner{border:0;padding-top:62px}.minimal .sheet-overline{color:#85888c;letter-spacing:.28em}.minimal .sheet-flower,.minimal .sheet-divider{display:none}.template-sheet.minimal h2,.template-sheet.minimal h3{font-family:Helvetica,Arial,sans-serif;letter-spacing:-1.4px}.minimal p{max-width:500px;margin-left:auto;margin-right:auto}.minimal .sheet-date{font-weight:700;letter-spacing:.08em}.template-sheet.rustic{background:#f8f1e6;color:#5d4538}.rustic .sheet-inner{border:1px dashed #b88c6a;background:linear-gradient(180deg,#fffaf4,#f8efe1)}.rustic .sheet-overline,.rustic .sheet-small,.rustic .sheet-sign{color:#8c5b3d}.rustic .sheet-flower{color:#c47b55}.rustic .sheet-divider{color:#b66949}.template-sheet.midnight{background:#142236;color:#eef3f9}.midnight .sheet-inner{border:1px solid #3a5578;background:linear-gradient(180deg,#16253a,#0f1928)}.midnight .sheet-overline,.midnight .sheet-small,.midnight .sheet-sign{color:#b6c9e6}.midnight .sheet-flower,.midnight .sheet-divider{color:#d5b173}.template-sheet.midnight h2,.template-sheet.midnight h3{color:#fffaf0}.midnight .sheet-lines{border-color:#415a78;background:rgba(255,255,255,.03)}
@media(max-width:900px){.template-editor-layout{grid-template-columns:1fr}.tpl-preview{max-width:570px;margin:auto;width:100%}}
@media(max-width:680px){.hubnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:13px 0 5px}.hubtab{flex-shrink:0;white-space:nowrap;padding:9px 11px}.audit-summary>div{padding:12px 5px}.audit-summary strong{font-size:29px}.audit-summary small{font-size:10px}.template-sheet{padding:12px;min-height:500px}.sheet-inner{min-height:475px;padding:30px 13px}.sheet-big{font-size:31px!important}.template-sheet h2{font-size:29px}.template-sheet.editorial h2{font-size:35px!important}.template-sheet.minimal h2{font-size:27px!important}}
@media print{.hubnav,.tpl-edit,.template-picker,.template-top,.tpl-preview>h2{display:none!important}.template-editor-layout{display:block}.template-sheet{margin:0 auto;border:0;box-shadow:none;min-height:260mm;width:100%;padding:10mm}.sheet-inner{min-height:247mm;padding:40mm 19mm}.audit-panel{page-break-after:auto}.audit-item{break-inside:avoid}}

@media print{body[data-view="templates"] .hero,body[data-view="templates"] .lead,body[data-view="templates"] .eyebrow,body[data-view="templates"] .template-top,body[data-view="templates"] .tpl-edit,body[data-view="templates"] .template-picker{display:none!important}body[data-view="templates"] .template-editor-layout{display:block!important}body[data-view="templates"] .tpl-preview{max-width:100%!important;width:100%!important}body[data-view="templates"] .template-sheet{width:100%;min-height:250mm;margin:0;padding:5mm 12mm}body[data-view="templates"] .sheet-inner{min-height:240mm;padding:34mm 13mm}body[data-view="risk"] .lead{font-size:11px}}
@media(max-width:680px){.hubnav{flex-wrap:wrap;overflow-x:visible;gap:5px;border-bottom:0}.hubtab{flex:1 1 auto;white-space:normal;border:1px solid #dce2d8;border-radius:20px;padding:7px 9px;font-size:11px}.hubtab.active{border-color:#658772;background:#e9f0e8}.frame{padding-top:19px}}

.vow-complete-backup{border:1px solid #648b74!important;background:#eff6ef!important;color:#254b35!important;font-weight:700!important}.header-actions{flex-wrap:wrap;row-gap:6px}.vow-complete-backup:focus-visible{outline:3px solid #d5ae7b;outline-offset:2px}

/* VOW / IF 2.4 - unified backup and data reset */
#exportBackup.vow-legacy-backup-hidden,#importBackup.vow-legacy-backup-hidden,#restoreFile.vow-legacy-backup-hidden{display:none!important}
#vow-data-overlay{position:fixed;inset:0;z-index:200000;background:rgba(16,31,25,.68);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
#vow-data-overlay *{box-sizing:border-box}
.vow-data-card{background:#fffdf8;color:#293f33;border-radius:18px;padding:25px;width:min(650px,100%);max-height:calc(100vh - 35px);overflow:auto;font:14px/1.55 system-ui,-apple-system,sans-serif;box-shadow:0 30px 90px #0006}
.vow-data-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.vow-data-head small{letter-spacing:.13em;font-size:10px;color:#647568}.vow-data-head h2{font:normal 29px Georgia,serif;margin:5px 0 6px;color:#293f33}.vow-data-head button{border:0;background:transparent;font-size:30px;color:#293f33;cursor:pointer;padding:0 8px}
.vow-data-card p{margin:9px 0;color:#5f7168}.vow-data-card section{padding:16px 0;border-top:1px solid #dce4d9}.vow-data-card section strong{font-size:15px;color:#304d3c}.vow-data-card button:not(.vow-data-head button){padding:11px 16px;border-radius:9px;cursor:pointer;font-weight:700;font-size:13px;border:1px solid #345741}.vow-data-primary{background:#345741;color:#fff}.vow-data-secondary{background:#fffdf8;color:#345741}.vow-danger{background:#fff7f3;margin:8px -11px 0;padding:16px 11px!important;border-radius:12px;border:1px solid #e7cdc2!important}.vow-reset-line{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.vow-reset-line input{flex:1;min-width:150px;max-width:225px;padding:10px;border:1px solid #d4b9ae;border-radius:8px}.vow-reset-line button{background:#a43f35;color:#fff;border-color:#a43f35!important}.vow-data-card #vow-data-note{font-weight:600;min-height:20px}
@media(max-width:600px){.vow-data-card{padding:18px}.vow-data-head h2{font-size:23px}#vow-data-overlay{padding:8px}}

/* VOW / IF 2.5 · location picker (additive) */
.map-chooser-row,.map-links{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0 7px;align-items:center}
.map-chooser-row .btn{min-width:135px}
.map-links a{font-size:12px;background:#fff;padding:9px 12px;border:1px solid #d5ddd4;border-radius:9px;color:#365a49;text-decoration:none;font-weight:650}
.map-links a:hover{background:#eef5ed}
.map-paste-title{margin-top:18px}
#mapLinkFeedback{margin:8px 0 0;line-height:1.6}
.vow-map-backdrop{position:fixed;inset:0;z-index:600000;background:rgba(10,25,25,.65);display:flex;align-items:center;justify-content:center;padding:15px}
.vow-map-dialog{width:min(930px,100%);max-height:min(94vh,920px);overflow:auto;background:#fffaf5;border-radius:16px;box-shadow:0 20px 80px #07191266;color:#293d32}
.vow-map-head{padding:17px 20px 10px;display:flex;gap:16px;justify-content:space-between;align-items:center}
.vow-map-head h3{margin:0;font:normal 25px Georgia,serif}
.vow-map-close{font-size:19px;background:transparent;border:1px solid #cad8ce;border-radius:8px;padding:5px 10px;cursor:pointer}
.vow-map-instructions{padding:0 20px 9px;margin:0;color:#6e756d;font-size:13px}
#vowMapCanvas{height:min(55vh,540px);min-height:290px;margin:0 16px;border-radius:11px;overflow:hidden;background:#e5ebdf;position:relative}
.vow-map-status{padding:10px 18px;font-size:13px;color:#4f5e51}
.vow-map-footer{padding:10px 18px 17px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.vow-map-footer .btn{padding:11px 18px}
.vow-map-source{font-size:10px;color:#68756a;padding:0 18px 12px}
.vow-map-warning{padding:20px;font-size:13px;color:#8e4339}
@media(max-width:680px){.vow-map-backdrop{padding:6px}.vow-map-dialog{max-height:98vh}.vow-map-head{padding:12px}.vow-map-head h3{font-size:20px}#vowMapCanvas{height:47vh;min-height:245px;margin:0 8px}.vow-map-footer{padding:9px 12px 15px}.map-links a{flex:1;white-space:nowrap;text-align:center}}
