:root{
  --canvas:#f5f3ee;--paper:#fffefa;--white:#fff;--navy:#101f33;--navy-2:#20354d;
  --ink:#16263b;--muted:#6b7887;--line:#e4e5e2;--line-strong:#cfd5d5;
  --yellow:#f7b714;--yellow-soft:#fff4d6;--green:#177155;--green-soft:#e8f4ee;
  --display:'Bricolage Grotesque',sans-serif;--body:'Schibsted Grotesk',sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font:13px/1.45 var(--body)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:170px;flex:0 0 170px;background:var(--navy);color:#fff;padding:26px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{padding:0 9px 28px}
.brand img{width:145px;max-width:100%;display:block}
.brand small{display:block;color:#a9bbcc;letter-spacing:.17em;font-size:10px;font-weight:800;margin-top:13px}
.side-heading{font-size:10px;letter-spacing:.13em;color:#91a6ba;padding:0 10px;margin-bottom:11px}
.side-link{width:100%;border:0;background:var(--navy-2);color:#fff;border-radius:9px;padding:11px 12px;text-align:left;font-size:12px;font-weight:700}
.side-link span{color:var(--yellow);margin-right:8px}
.side-spacer{flex:1}
.side-user{border-top:1px solid #33485d;padding:15px 8px 0;color:#dce5ee;font-size:11px}
.side-user strong,.side-user small{display:block}
.side-user small{color:#9eb1c4;margin-top:3px}
.main{flex:1;min-width:0;padding:25px clamp(18px,2vw,36px) 70px}
.topline{display:flex;justify-content:space-between;align-items:center;color:#8792a0;font-size:11px;margin-bottom:26px}
.topline strong{color:#617080;font-weight:600}
.topline .local-tag{color:#856517;background:#fff1c9;font-size:10px;padding:5px 8px;border-radius:5px;letter-spacing:.06em;font-weight:800}
.kicker{display:block;color:#997013;font-size:10px;letter-spacing:.15em;font-weight:800}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.page-head h1{font:700 clamp(28px,3vw,40px)/1 var(--display);letter-spacing:-.04em;margin:6px 0 6px}
.page-head p{margin:0;color:var(--muted);font-size:13px}
.primary-button{border:0;background:var(--navy);color:#fff;border-radius:8px;padding:10px 14px;min-height:40px;font-size:12px;font-weight:750;white-space:nowrap}
.primary-button:hover{background:var(--navy-2)}
.overview-strip{display:flex;gap:0;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:13px 17px;margin-bottom:18px;color:var(--muted)}
.overview-strip span{padding-right:22px;margin-right:22px;border-right:1px solid var(--line)}
.overview-strip b{font:700 18px var(--display);color:var(--ink);margin-right:5px}
.overview-strip .demo-label{margin-left:auto;margin-right:0;padding-right:0;border:0;letter-spacing:.1em;font-size:10px;font-weight:800;color:#9d8952}
.list-panel{background:var(--white);border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 30px rgba(20,35,49,.025)}
.list-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 11px}
.list-head h2{font:700 19px var(--display);margin:0}
.list-head p{color:var(--muted);font-size:11px;margin:2px 0 0}
.list-head>span{color:var(--muted);font-size:11px}
.filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:8px 18px 13px}
.filters label{display:grid;gap:5px;min-width:110px;flex:1}
.filters .search-field{flex:1.5;min-width:180px}
.filter-toggle{display:none;border:1px solid #d4b962;background:var(--yellow-soft);color:#795b16;border-radius:7px;min-height:39px;padding:8px 11px;font-weight:700;white-space:nowrap}
.filters label span,.field span{font-size:10px;font-weight:700;color:#5d6b7b}
.filters input,.filters select,.field input,.field select,.field textarea,.cost-table input{background:#f8f8f6;border:1px solid #dce0df;border-radius:7px;color:var(--ink);width:100%;min-height:39px;padding:8px 10px;outline:none}
.filters input:focus,.filters select:focus,.field input:focus,.field select:focus,.field textarea:focus,.cost-table input:focus{border-color:#c69a2a}
.clear-filters{border:0;background:transparent;color:#8b6418;font-size:11px;font-weight:700;min-height:39px;padding:7px 0 7px 8px}
.clear-filters:hover{text-decoration:underline}
.table-scroll{overflow:auto}
.departures-table{border-collapse:collapse;width:100%;min-width:1060px;table-layout:fixed;text-align:left}
.departures-table th{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#687687;background:#f8f9f8;padding:10px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}
.departures-table th:nth-child(1){width:16%}.departures-table th:nth-child(2){width:13.5%}.departures-table th:nth-child(3){width:12%}.departures-table th:nth-child(4){width:10.5%}.departures-table th:nth-child(5){width:8.5%}.departures-table th:nth-child(6){width:10.5%}.departures-table th:nth-child(7){width:10.5%}.departures-table th:nth-child(8){width:8.5%}.departures-table th:nth-child(9){width:10%}
.departures-table th:first-child,.departures-table td:first-child{padding-left:14px}
.departures-table th:first-child,.departures-table td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--line)}
.departures-table th:first-child{background:#f8f9f8;z-index:2}
.departures-table tbody tr:hover td:first-child{background:#fbfaf5}
.departures-table tbody tr.is-selected td:first-child{background:#fff9e7}
.departures-table td{padding:11px 8px;border-bottom:1px solid #eceeec;font-size:11px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.departures-table tbody tr:last-child td{border-bottom:0}
.departures-table tbody tr:hover{background:#fbfaf5}
.departures-table tr.is-selected{background:#fff9e7}
.name-button,.stage-button{border:0;background:none;text-align:left;padding:0;color:var(--ink)}
.name-button{max-width:100%}.name-button strong,.name-button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.name-button strong{font:700 14px var(--display)}
.name-button span{color:var(--muted);font-size:11px;margin-top:2px}
.name-button:hover strong,.stage-button:hover{text-decoration:underline;text-underline-offset:3px}
.stage-button{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.stage-button span:not(.badge){display:block;font-weight:500;font-size:10px;color:var(--muted)}
.date-cell{font-size:11px}
.area-cell strong,.area-cell small{display:block}.area-cell strong{font-weight:700}.area-cell small{color:var(--muted);font-size:10px;margin-top:2px}
.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:6px;font-size:10px;line-height:1.3;font-weight:750;white-space:nowrap}
.badge-muted{background:#eff1f0;color:#6d7882}
.badge-amber{background:var(--yellow-soft);color:#8a650e}
.badge-green{background:var(--green-soft);color:var(--green)}
.row-progress{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.row-progress b{font-size:11px}
.progress-track{height:5px;background:#eceeeb;border-radius:5px;overflow:hidden;display:inline-block;width:58px}
.progress-track i{height:100%;background:var(--yellow);display:block;border-radius:5px}
.empty-table{text-align:center;color:var(--muted);padding:45px!important}
.list-foot{padding:12px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.scroll-hint{display:none;color:#8b6c2b;font-size:10px;padding:8px 20px;text-align:right}
.drawer-open{overflow:hidden}
.drawer-backdrop{position:fixed;inset:0;background:rgba(7,23,40,.35);z-index:10}
.drawer{position:fixed;right:0;top:0;bottom:0;width:min(790px,100vw);background:var(--paper);z-index:11;display:flex;flex-direction:column;box-shadow:-18px 0 60px rgba(14,29,44,.22)}
.drawer-header{padding:23px 27px 15px;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}
.drawer-header h2{font:700 28px/1.1 var(--display);margin:5px 0 5px}
.drawer-header p{color:var(--muted);margin:0;font-size:12px}
.icon-button{border:1px solid var(--line);border-radius:8px;background:#fff;width:36px;height:36px;line-height:1;font-size:23px;color:var(--ink)}
.drawer-status{display:flex;align-items:center;gap:13px;padding:10px 27px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}
.drawer-status .progress-track{width:88px}
.drawer-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line);overflow:auto;flex:0 0 auto}
.drawer-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:13px 11px 11px;color:#718092;font-size:12px;font-weight:700;white-space:nowrap}
.drawer-tabs button.active{border-color:var(--yellow);color:var(--ink)}
.drawer-tabs button:hover{color:var(--ink)}
.drawer-body{padding:24px 27px 45px;overflow:auto;flex:1}
.tab-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.tab-intro h3{font:700 23px/1.1 var(--display);margin:5px 0}
.tab-intro p{color:var(--muted);font-size:12px;margin:0;max-width:470px}
.tab-intro>strong{font:700 17px var(--display);color:#87703b;white-space:nowrap}
.steps{display:grid;gap:10px}
.step{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.step.is-open{border-color:#d8c898}
.step-head{width:100%;display:flex;align-items:center;gap:13px;background:none;border:0;text-align:left;padding:14px 16px;color:var(--ink);min-height:69px}
.step-num{width:31px;height:31px;display:grid;place-items:center;background:#f2efe6;border-radius:7px;font:800 12px var(--display);flex:0 0 auto}
.step-copy{display:block;flex:1;min-width:0}
.step-copy strong,.step-copy small{display:block}
.step-copy strong{font:700 15px var(--display)}
.step-copy small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.chevron{color:#8c98a3;font-size:17px;margin-left:4px}
.step-content{border-top:1px solid var(--line);padding:18px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field-wide{grid-column:1/-1}
.field textarea{resize:vertical;line-height:1.5;min-height:85px}
.field-hint{font-size:11px;color:var(--muted);line-height:1.5;margin:14px 0 0}
.editor-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:12px}
.editor-card h4{font:700 16px var(--display);margin:0 0 17px}
.economy-layout{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:18px;align-items:start}
.economy-main{min-width:0}
.compact{gap:12px}
.section-rule{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 9px}
.section-rule h4{font:700 16px var(--display);margin:0}
.section-rule span{font-size:10px;color:var(--muted)}
.cost-scroll{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}
.cost-table{width:100%;border-collapse:collapse;font-size:11px}
.cost-table th{color:var(--muted);background:#f8f9f7;font-size:10px;text-align:left;padding:8px 10px}
.cost-table td{border-top:1px solid var(--line);padding:7px 10px;vertical-align:middle}
.cost-table td:first-child{min-width:145px}
.cost-table td strong,.cost-table td small{display:block}
.cost-table td small{color:var(--muted);font-size:9px;margin-top:2px}
.cost-table input{width:110px;min-height:34px;text-align:right;padding:6px 8px}
.cost-table td:last-child{text-align:right;white-space:normal;min-width:75px}
.mini-link{background:none;border:0;color:#8b6c2b;text-decoration:underline;font-size:10px;padding:3px;display:inline-block}
.subtle-button{border:1px solid #d4b962;background:var(--yellow-soft);padding:8px 11px;border-radius:7px;font-weight:750;font-size:11px;margin-top:11px}
.new-cost-form{margin-top:12px;background:#f5f2e9;padding:15px;border-radius:9px;display:grid;grid-template-columns:1fr 130px;gap:12px}
.new-cost-form .check-label{grid-column:1/-1;color:var(--muted);font-size:11px}
.new-cost-form .primary-button{justify-self:start}
.price-panel{padding-top:4px}
.segmented{display:inline-flex;background:#f0f0ed;padding:3px;border-radius:8px;gap:2px;margin:5px 0 15px}
.segmented button{border:0;background:transparent;color:#647282;border-radius:6px;padding:8px 11px;font-size:11px}
.segmented button.active{background:#fff;box-shadow:0 1px 4px #d9dddb;color:var(--ink);font-weight:700}
.suggestion{background:#fff4d6;border-radius:8px;padding:9px 11px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.suggestion small{color:#8a6b26}
.suggestion strong{font:700 16px var(--display)}
.suggestion button{border:0;background:var(--navy);color:#fff;border-radius:5px;padding:6px 8px;font-size:10px;margin-left:auto}
.suggestion button:disabled{opacity:.45}
.economy-summary{border:1px solid #d8d2c1;background:#fffdf7;border-radius:10px;padding:18px;position:sticky;top:10px}
.economy-summary>div{padding:13px 0;border-bottom:1px solid var(--line)}
.economy-summary small,.economy-summary strong{display:block}
.economy-summary small{color:var(--muted);font-size:10px}
.economy-summary strong{font:700 17px var(--display);margin-top:3px}
.economy-summary .fee-line{border:0}
.economy-summary .fee-line strong{color:var(--green)}
.economy-summary p{font-size:10px;line-height:1.55;color:var(--muted)}
.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.results-grid div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.results-grid small,.results-grid strong{display:block}
.results-grid small{color:var(--muted)}
.results-grid strong{font:700 25px var(--display);margin-top:8px}
.results-note{margin-top:14px;color:var(--muted);font-size:12px}
#toast:empty{display:none}
#toast:not(:empty){position:fixed;z-index:30;right:25px;bottom:22px;background:var(--navy);color:#fff;padding:11px 14px;border-radius:8px;box-shadow:0 8px 25px #17233433;max-width:320px;font-size:12px}
@media(max-width:1400px){.row-progress .progress-track{display:none}}
@media(max-width:1100px){.sidebar{width:158px;flex-basis:158px}.main{padding-left:18px;padding-right:18px}.overview-strip .demo-label{display:none}.scroll-hint{display:block}}
@media(max-width:750px){.app-shell{display:block}.sidebar{position:static;width:auto;height:auto;min-height:0;flex-direction:row;align-items:center;padding:12px 16px;gap:16px}.brand{padding:0}.brand img{width:125px}.brand small,.side-heading,.side-user,.side-spacer{display:none}.side-link{width:auto;margin-left:auto}.main{padding:14px 14px 55px}.topline{margin-bottom:13px}.page-head{align-items:start;margin-bottom:12px}.page-head h1{font-size:29px}.page-head p{font-size:11px}.overview-strip{overflow:auto;white-space:nowrap;padding:9px 12px;margin-bottom:11px}.overview-strip span{padding-right:13px;margin-right:13px}.list-head{padding:13px 15px 3px}.list-head p{display:none}.filters{padding:8px 15px 12px;gap:8px}.filters .search-field{min-width:190px;flex:1}.filter-toggle{display:block;align-self:end}.filters .filter-option,.filters .clear-filters{display:none}.filters.is-open .filter-option{display:grid;min-width:calc(33.333% - 6px)}.filters.is-open .clear-filters{display:block}.drawer{width:100vw}.economy-layout{grid-template-columns:1fr}.economy-summary{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.economy-summary .kicker,.economy-summary p{grid-column:1/-1}}
@media(max-width:520px){.page-head{display:block}.page-head .primary-button{margin-top:12px}.filters .search-field{min-width:100%}.filters.is-open .filter-option{min-width:calc(50% - 6px)}.clear-filters{margin-left:auto}.drawer-header,.drawer-body{padding-left:17px;padding-right:17px}.drawer-status{padding-left:17px;padding-right:17px}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:1}.step-head{padding:12px}.step-copy small{max-width:190px}.new-cost-form{grid-template-columns:1fr}.new-cost-form .check-label{grid-column:1}.economy-summary{grid-template-columns:1fr 1fr}.drawer-tabs{padding:0 10px}.drawer-tabs button{font-size:11px;padding:12px 9px}}
