:root{--ink:#18201d;--muted:#566159;--paper:#f5f7f3;--card:#fff;--line:#dbe1dc;--field:#eef1ec;--green:#176b4d;--green-dark:#0d4d36;--green-tint:#edf6f1;--amber:#d88b18;--red:#b73b32;--radius:18px}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{min-height:100vh;margin:0}a{color:inherit}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--green);outline-offset:2px}button,.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-flex}button.secondary,.button.secondary{background:var(--field);color:var(--ink)}button.danger,.button.danger{color:var(--red);background:#fff0ef}button.danger-solid,.button.danger-solid{background:var(--red);color:#fff}button:disabled,.button.is-disabled{opacity:.55;cursor:not-allowed}button:not(:disabled):active,.button:active{filter:brightness(.96);transform:translateY(1px)}input,textarea,select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;font-size:1rem;font-weight:400}textarea{resize:vertical;min-height:112px}label{gap:6px;font-size:.9rem;font-weight:700;display:grid}input[type=checkbox],input[type=radio]{width:auto;min-width:22px;height:22px;min-height:0;accent-color:var(--green);border:0;border-radius:0;flex:none;padding:0}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){align-items:center;gap:10px;min-height:44px;display:flex}.shell{max-width:min(760px,100%);padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(116px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:9px;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{display:block}.ghost{min-height:40px;color:var(--muted);background:0 0;border-radius:10px;padding:8px 12px;font-size:.85rem;font-weight:600}.ghost:hover{background:var(--field);color:var(--ink)}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800}.back-link{min-height:44px;color:var(--muted);align-items:center;gap:4px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}h1{letter-spacing:-.02em;margin:6px 0 10px;font-size:1.5rem;font-weight:800;line-height:1.2}h2{margin:0;font-size:1.2rem}h3{margin:0;font-size:1rem}p{overflow-wrap:anywhere;line-height:1.55}.muted{color:var(--muted)}.stack{gap:14px;display:grid}.stack>p{margin:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px #14281e0a}.card-link{text-decoration:none;display:block}.card-link:hover{border-color:#9ab6a8}.clock-total{font-variant-numeric:tabular-nums;margin:0;font-size:2.25rem;font-weight:800}.form-grid{gap:14px;display:grid}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.status{background:var(--field);border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800;display:inline-flex}.severity-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.severity-minor{background:var(--field);color:#496059}.severity-moderate{color:#8a5a0c;background:#fdf3e4}.severity-major{color:var(--red);background:#fff0ef}.severity-critical{background:var(--red);color:#fff}.area-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.observation{border-left:4px solid var(--line);padding-left:14px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.photo-grid figure{align-content:start;gap:6px;min-width:0;margin:0;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%}.photo-grid button,.photo-grid .button{min-height:44px;padding:6px 10px;font-size:.75rem}.empty{text-align:center;padding:36px 18px}.notice{background:var(--green-tint);color:var(--green-dark);border-radius:12px;padding:12px 14px}.auth{min-height:100vh;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));place-items:center;display:grid}.auth .card{width:min(440px,100%)}.auth h1{letter-spacing:-.045em;margin:8px 0 12px;font-size:clamp(2rem,8vw,2.75rem);line-height:1.02}.print-only{display:none}.app-nav{z-index:40;background:var(--card);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));position:fixed;bottom:0;left:0;right:0}.app-nav-inner{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;width:min(430px,100%);margin:0 auto;display:grid}.app-nav a{min-height:52px;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.app-nav a[aria-current=page]{color:var(--green);background:var(--green-tint)}.list{flex-direction:column;display:flex}.list>.list-row{border-top:1px solid var(--line)}.list>.list-row:first-child{border-top:0}.list-row{align-items:center;gap:12px;min-height:56px;padding:12px 2px;text-decoration:none;display:flex}.list-row .grow{flex:1;min-width:0}.list-row .grow>strong{display:block}.list-row .grow .muted{font-size:.85rem}.list-row>svg{color:var(--muted);flex:none}.list-row:hover .grow>strong{color:var(--green-dark)}details.disclosure{border:1px solid var(--line);background:var(--field);border-radius:12px}details.disclosure>summary{cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:12px 14px;font-weight:700;list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:after,.line-more>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-right:2px;transition:transform .15s;transform:rotate(45deg)}details.disclosure[open]>summary:after,.line-more[open]>summary:after{transform:rotate(225deg)}details.disclosure>.disclosure-body{padding:2px 14px 14px}details.confirm>summary{list-style:none}details.confirm>summary::-webkit-details-marker{display:none}details.confirm>.confirm-body{justify-items:start;gap:10px;padding-top:10px;display:grid}.row>details.confirm[open]{flex-basis:100%}.icon-button{background:var(--field);width:44px;min-width:44px;min-height:44px;color:var(--ink);border-radius:12px;padding:0}@media (max-width:520px){.two-col{grid-template-columns:1fr}.desktop-label{display:none}}@media print{@page{margin:16mm}html,body{background:#fff}.no-print,.topbar button,.topbar form,.app-nav,.back-link{display:none!important}:is(.shell,.shell:has(>main.wide)){width:100%;max-width:none;padding:0}.card{break-inside:avoid;box-shadow:none;border-color:#bbb}.print-only{display:block}a{text-decoration:none}}.observation-card{border:1px solid var(--line);background:var(--card);break-inside:avoid;border-radius:14px;padding:14px}.staged-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.staged-grid li{gap:6px;font-size:.75rem;display:grid}.staged-grid img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%}.staged-grid button{min-height:44px;padding:6px 10px;font-size:.75rem}.cover-image{aspect-ratio:16/9;object-fit:cover;border-radius:12px;width:100%}.cover label.button{cursor:pointer}.field-list{gap:12px;margin:0;display:grid}.field-list>div{gap:2px;min-width:0;display:grid}.field-list dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.field-list dd{overflow-wrap:anywhere;margin:0}@media (min-width:520px){.field-list{grid-template-columns:1fr 1fr}}.cost-table-wrap{min-width:0}.cost-table{border-collapse:collapse;width:100%}.cost-table .amount{font-variant-numeric:tabular-nums}.cost-table .amount-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:800}.cost-table .cost-line-note{color:var(--muted);font-size:.85rem;font-weight:400}.cost-total-row>th,.cost-total-row .amount{font-weight:800}.line-kind{color:var(--muted);background:var(--field);flex:none;font-size:.7rem;font-weight:700}.line-pair-cont{color:var(--muted);font-weight:400}.line-pair-tail>th,.line-pair-tail>td{border-top:0;padding-top:0}.cost-subtotal-row>th{color:var(--muted);font-weight:600}.cost-subtotal-row .amount{font-weight:600}@media (max-width:699px){.cost-table,.cost-table thead,.cost-table tbody,.cost-table tfoot{display:block}.cost-table thead{display:none}.cost-table tr{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px 0;display:grid}.cost-table tbody tr:first-child{border-top:0}.cost-table tr>th{text-align:left;overflow-wrap:anywhere;grid-column:1/-1;padding:0}.cost-table td{align-content:start;gap:2px;min-width:0;padding:0;display:grid}.cost-table .amount{overflow-wrap:anywhere}.cost-table tr.cost-edit-row{border-top:0;grid-template-columns:1fr;padding-top:0}}@media (min-width:700px){.cost-table-wrap{overflow-x:auto}.cost-table th,.cost-table td{border-top:1px solid var(--line);text-align:right;white-space:nowrap;vertical-align:top;padding:10px 8px}.cost-table thead th{color:var(--muted);border-top:0;font-size:.8rem;font-weight:700}.cost-table tr>th:first-child{text-align:left;white-space:normal;min-width:190px}.cost-table .amount-label{display:none}.cost-table tr.cost-edit-row>td{text-align:left;white-space:normal;border-top:0;padding:0 8px 12px}}.amount-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.amount-line>.amount{font-variant-numeric:tabular-nums;text-align:right;font-weight:800}.report-entry+.report-entry{border-top:1px solid var(--line);padding-top:14px}@media print{.cost-table{display:table}.cost-table tbody{display:table-row-group}.cost-table tfoot{display:table-footer-group}.cost-table thead{display:table-header-group}.cost-table tr{border-top:0;padding:0;display:table-row}.cost-table th,.cost-table td{text-align:right;vertical-align:top;border-top:1px solid #bbb;padding:8px 6px;display:table-cell}.cost-table thead th{border-top:0;font-size:.8rem;font-weight:700}.cost-table tr>th:first-child{text-align:left}.cost-table tr.cost-edit-row>td{text-align:left;border-top:0}.cost-table .amount-label{display:none}.field-list>div,.amount-line,table tr{break-inside:avoid}}.shell:has(>main.wide){max-width:min(1180px,100%)}.pane-split{align-items:start;gap:18px;min-width:0;display:grid}.pane-split>*{min-width:0}@media (max-width:899px){.pane-split>.pane-desk-only{display:none}}@media (min-width:900px){.pane-split{grid-template-columns:236px minmax(0,1fr)}.zone-rail{top:calc(16px + env(safe-area-inset-top));max-height:calc(100vh - 200px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-bottom:4px;position:sticky;overflow-y:auto}}.zone-rail{align-content:start;gap:10px;display:grid}.zone-rail-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.zone-rail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.zone-rail-head-second{border-top:1px solid var(--line);margin-top:2px;padding-top:12px}.zone-rail-head>details.zone-add[open]{flex-basis:100%}.zone-add>summary{cursor:pointer;width:32px;height:32px;color:var(--green-dark);background:var(--green-tint);border-radius:10px;place-items:center;margin-left:auto;font-size:1.1rem;font-weight:700;line-height:1;list-style:none;display:grid}.zone-add>summary::-webkit-details-marker{display:none}.zone-add>summary:hover{background:#dceee5}.zone-add[open]>summary{background:var(--field);color:var(--ink)}.zone-add-body{padding:12px 0 4px}.zone-rail-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.zone-rail-item{border-left:3px solid #0000;border-radius:12px;justify-content:space-between;align-items:baseline;gap:10px;min-height:44px;padding:9px 10px;font-size:.9rem;text-decoration:none;display:flex}.zone-rail-item:hover{background:var(--field)}.zone-rail-item[aria-current=page]{background:var(--green-tint);border-left-color:var(--green);font-weight:700}.zone-rail-name{overflow-wrap:anywhere;min-width:0}.zone-rail-note{color:var(--muted);font-size:.72rem;font-weight:400;display:block}.zone-rail-total{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:.85rem}.zone-rail-item[aria-current=page] .zone-rail-total{color:var(--green-dark)}.zone-rail-actions{gap:10px;padding-top:4px;display:grid}.line-table .line-group-row>th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-size:.72rem;font-weight:800}.line-table .line-removed .line-description{text-decoration:line-through}.line-table .line-removed .amount,.line-table .line-removed td{color:var(--muted)}.line-table .line-entry-row>td>h3{margin:0 0 10px}.line-form{gap:12px;display:grid}@media (min-width:700px){.line-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.line-form>.line-form-wide{grid-column:1/-1}.line-form>button{justify-self:start}.line-table .line-group-row>th{padding-top:18px}.line-table .line-entry-row>td,.line-table .line-empty-row>td{text-align:left;white-space:normal}}@media (max-width:699px){.line-table td:empty{display:none}.line-table .line-entry-row,.line-table .line-empty-row{grid-template-columns:1fr}}.zone-footer{bottom:calc(72px + env(safe-area-inset-bottom));z-index:20;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 18px;display:flex;position:sticky;box-shadow:0 -8px 24px #14281e14}.zone-footer-figures{flex-wrap:wrap;gap:8px 24px;min-width:0;display:flex}.zone-footer-figure{gap:2px;min-width:0;display:grid}.zone-footer-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.zone-footer-figure>.amount{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:800}.zone-chip{background:var(--green-tint);color:var(--green-dark);border-radius:999px;align-items:center;padding:6px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.zone-chip-differs{color:#8a5a0c;background:#fdf3e4}.zone-footer-wide{display:contents}.zone-footer-narrow{display:none}@media (max-width:699px){.zone-footer{padding:8px 14px}.zone-footer-wide{display:none}.zone-footer-narrow{flex:1;min-width:0;display:block}.zone-footer-narrow>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:44px;list-style:none;display:flex}.zone-footer-narrow>summary::-webkit-details-marker{display:none}.zone-footer-narrow>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-right:2px;transition:transform .15s;transform:rotate(45deg)}.zone-footer-narrow[open]>summary:after{transform:rotate(225deg)}.zone-footer-narrow>summary>.zone-chip{flex:none}.zone-footer-narrow>summary>.zone-footer-figure{flex:1;min-width:0;overflow:hidden}.zone-footer-narrow>summary .zone-footer-label{white-space:nowrap}.zone-footer-narrow-body{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:8px;padding-top:10px;display:flex}}.line-form-wide{position:relative}.cost-book{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:.5rem;max-height:15rem;margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #14281e1f}.cost-book li{margin:0}.cost-book button{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:.375rem;padding:.5rem;display:block}.cost-book button:hover,.cost-book button:focus-visible{background:var(--field)}.cost-book-item{font-weight:600;display:block}.cost-book .muted{font-size:.8125rem;display:block}.line-quotes{margin-top:.5rem}.line-quote{flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.375rem 0;display:flex}.line-quote.stranded{opacity:.6}.line-quote-chosen{font-weight:600}.line-quote-form{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}@media print{.zone-footer{padding:14px 18px}.zone-footer-wide{display:contents}.zone-footer-narrow{display:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.line-more>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;list-style:none;display:grid}.line-more>summary::-webkit-details-marker{display:none}.line-more>summary:after{grid-area:1/2/-1;align-self:center}.line-summary-head{overflow-wrap:anywhere;grid-column:1;min-width:0}.line-summary-figures{grid-column:1;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.line-summary-calc{color:var(--muted);overflow-wrap:anywhere;min-width:0;font-size:.85rem}.line-summary-figures>.amount{flex:none;font-weight:800}.line-more-body{padding-top:10px}@media (min-width:700px){.line-summary-figures{display:none}}@media (max-width:699px){.line-more>summary{min-height:48px}.line-table .cost-row:has(>th>.line-more:not([open]))>td{display:none}.line-table .cost-row:has(>th>.line-more:not([open]))+.cost-edit-row{display:none}.line-table .cost-row>td.line-total-cell{display:none}}.line-add>summary{cursor:pointer;align-items:center;gap:10px;min-height:48px;font-weight:700;list-style:none;display:flex}.line-add>summary::-webkit-details-marker{display:none}.line-add-plus{background:var(--green-tint);width:32px;height:32px;color:var(--green-dark);border-radius:10px;flex:none;place-items:center;font-size:1.1rem;font-weight:700;line-height:1;display:grid}.line-add>summary:hover>.line-add-plus{background:#dceee5}.line-add[open]>summary>.line-add-plus{background:var(--field);color:var(--ink)}.line-add-body{padding-top:12px}.suggestion-edit{grid-column:1/-1}@media print{.line-table .cost-row:has(>th>.line-more:not([open]))>td{display:table-cell}.line-table .cost-row>td.line-total-cell{display:table-cell}.line-table .cost-row:has(>th>.line-more:not([open]))+.cost-edit-row{display:table-row}.line-summary-figures{display:none}}.phase-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:48px;list-style:none;display:flex}.phase-fold>summary::-webkit-details-marker{display:none}.phase-fold>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-right:2px;transition:transform .15s;transform:rotate(45deg)}.phase-fold[open]>summary:after{transform:rotate(225deg)}.phase-fold-title{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.phase-fold-title>h2{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.phase-fold-running{color:#8a5a0c;background:#fdf3e4;border-radius:999px;flex:none;padding:5px 9px;font-size:.75rem;font-weight:800}.phase-fold-body{padding-top:12px}.live-now-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.live-now-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:44px;padding:8px 0;display:flex}.live-now-row:last-child{border-bottom:0}.live-now-name{overflow-wrap:anywhere;min-width:0;font-weight:700}.live-now-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.85rem;display:flex}.status.unowned{color:#8a5a0c;background:#fdf3e4}.pipeline-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pipeline-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;min-height:44px;padding:10px 0;display:flex}.pipeline-row:last-child{border-bottom:0}.pipeline-main{flex:260px;gap:4px;min-width:0;display:grid}.pipeline-main>strong{overflow-wrap:anywhere}.pipeline-stage-form{flex:0 auto;align-items:end}.pipeline-stage-label{gap:4px;font-size:.85rem;display:grid}.pipeline-stage-label select{width:auto;min-width:150px}.pipeline-figures{flex-wrap:wrap;gap:2px 12px;font-size:.85rem;display:flex}.program-task{border:1px solid var(--line);background:var(--field);border-radius:12px}.program-task>summary{cursor:pointer;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;min-height:48px;padding:12px 14px;font-weight:700;list-style:none;display:flex}.program-task>summary::-webkit-details-marker{display:none}.program-task>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;transition:transform .15s;transform:rotate(45deg)}.program-task[open]>summary:after{transform:rotate(225deg)}.program-task-name{overflow-wrap:anywhere;min-width:0}.program-task-meta{flex:none;align-items:center;gap:8px;display:flex}.program-task-body{padding:2px 14px 14px}.program-task-quick-edit select,.program-task-quick-edit input:not([type=hidden]){flex:130px;width:auto}.program-task-quick-edit button{flex:none}.date-layout-option input[type=number]{flex:0 80px;width:auto}.program-crew-picker{border:0;gap:4px;min-width:0;margin:0;padding:0}.program-crew-picker legend{margin-bottom:6px;padding:0;font-weight:700}.program-crew-picker label{min-height:44px;font-weight:500}.program-crew-picker input[type=checkbox]{width:auto}.program-status-in_progress{color:#8a5a0c;background:#fdf3e4}.program-status-complete{background:var(--green-tint);color:var(--green-dark)}.program-dependency-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.program-dependency{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.attention-list{display:grid}.attention-row{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:48px;padding:12px 0;display:flex}.attention-main{flex:1;gap:2px;min-width:0;text-decoration:none;display:grid}.attention-main .muted{font-size:.85rem}a.attention-row-link{color:inherit;text-decoration:none}a.attention-row-link:hover{color:var(--green-dark)}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{background:var(--card);border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:999px;align-items:center;padding:8px 16px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.filter-chip:hover{color:var(--ink);border-color:#9ab6a8}.filter-chip-active{background:var(--green);border-color:var(--green);color:#fff}.filter-chip-active:hover{color:#fff}@media screen{.line-filtered-out{display:none}}.deal-tabs{background:var(--field);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;display:grid}.deal-tab{min-height:44px;color:var(--muted);border-radius:11px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;text-decoration:none;display:flex}.deal-tab:hover{color:var(--ink)}.deal-tab-active{background:var(--card);color:var(--green);font-weight:800;box-shadow:0 2px 8px #14281e14}.deal-tab-active:hover{color:var(--green)}.stat-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat-tile{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:12px 10px;display:flex}.stat-tile-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.stat-tile-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:800;overflow:hidden}.deal-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.deal-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:3px;min-height:44px;padding:14px;text-decoration:none;display:grid}.deal-tile:hover{border-color:#9ab6a8}.deal-tile .muted{font-size:.8rem}.attention-count{color:#8a5a0c;background:#fdf3e4}.home-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.home-day{color:var(--muted);flex-direction:column;align-items:center;gap:1px;font-size:.65rem;font-weight:700;display:flex}.home-day-num{min-width:26px;min-height:26px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.home-day-today{background:var(--green);color:#fff;font-weight:800}.home-agenda-day{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.home-agenda-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:800}.home-task{align-items:center;gap:8px;min-height:32px;text-decoration:none;display:flex}.home-task:hover .home-task-text{color:var(--green-dark)}.home-task-bar{border-radius:2px;flex:none;width:4px;height:30px}.home-task-text{min-width:0;font-size:.9rem}.home-cal-link{color:var(--green);align-items:center;min-height:44px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.home-legend{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.prop-dot{border-radius:3px;flex:none;width:10px;height:10px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-head{color:var(--muted);text-align:center;padding:4px 0;font-size:.65rem;font-weight:700}.cal-cell{border-top:1px solid var(--line);flex-direction:column;gap:2px;min-height:58px;padding:4px 3px;text-decoration:none;display:flex}.cal-weekend{background:var(--field)}.cal-selected{background:var(--green-tint);box-shadow:inset 0 0 0 2px var(--green);border-radius:8px}.cal-num{color:var(--ink);font-size:.72rem;font-weight:700}.cal-dim{color:#9aa59d}.cal-bar{border-radius:3px;height:5px}@keyframes skeleton-pulse{0%{opacity:1}to{opacity:.55}}.skeleton-bar{background:var(--field);border-radius:8px;width:60%;height:28px;animation:1.1s ease-in-out infinite alternate skeleton-pulse}.skeleton-card{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);height:130px;animation:1.1s ease-in-out infinite alternate skeleton-pulse}.skeleton-card-short{height:80px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.gantt-scroll{overflow-x:auto}.gantt{--gantt-label-col:11rem;--gantt-cols:var(--gantt-label-col) repeat(var(--gantt-days), minmax(.45rem, 1fr));grid-template-columns:var(--gantt-cols);align-items:center;row-gap:4px;display:grid;position:relative}.gantt-overlay{grid-template-columns:var(--gantt-cols);pointer-events:none;display:grid;position:absolute;inset:0}.gantt-weekend{background:var(--field);grid-row:1}.gantt-today{background:var(--red);grid-row:1;justify-self:center;width:2px}.gantt-week,.gantt-day,.gantt-bar,.gantt-bar-side,.gantt-group-name{z-index:1;position:relative}.gantt-head,.gantt-group,.gantt-row{display:contents}.gantt-corner{z-index:2;background:var(--paper);grid-area:1/1;position:sticky;left:0}.gantt-label{overflow-wrap:anywhere;z-index:2;background:var(--paper);grid-column:1;padding:2px 8px 2px 0;font-size:.85rem;position:sticky;left:0}.gantt-week{color:var(--muted);text-align:left;border-left:2px solid var(--line);border-bottom:1px solid var(--line);grid-row:1;padding:4px 2px 4px 5px;font-size:.75rem;font-weight:700}.gantt-day{color:var(--muted);text-align:center;border-bottom:1px solid var(--line);grid-row:2;padding:0 0 2px;font-size:.62rem}.gantt:has(.gantt-day) .gantt-week{border-bottom:0}.gantt-load-label{z-index:2;background:var(--paper);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;grid-column:1;align-self:center;font-size:.62rem;font-weight:700;position:sticky;left:0}.gantt-load{text-align:center;border-bottom:1px solid var(--line);border-radius:4px;padding:1px 0;font-size:.62rem;font-weight:700}.gantt-load-open{color:#9aa59d}.gantt-load-light{color:#4a6b1f;background:#f0f6e9}.gantt-load-full{background:var(--green-tint);color:var(--green-dark)}.gantt-load-overbooked{color:var(--red);background:#fff0ef}.gantt-load-no-capacity{color:#c2cbc4}.gantt:has(.gantt-load) .gantt-day{border-bottom:0}.gantt:has(.gantt-load):not(:has(.gantt-day)) .gantt-week{border-bottom:0}.ai-working{align-items:center;gap:8px;display:flex}.ai-working-dot{background:var(--green-dark);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.2s ease-in-out infinite ai-pulse}.ai-working-step{animation:.5s ai-fade}.ai-working-clock{font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0;margin-left:auto;font-size:.8rem}@keyframes ai-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes ai-fade{0%{opacity:0}to{opacity:1}}.gantt-group-name{grid-column:1/-1;margin:8px 0 0;font-size:.85rem;font-weight:700}.gantt-group-name-text{align-items:center;gap:6px;display:inline-flex;position:sticky;left:0}.gantt-group-name-text:before{content:"";background:hsl(var(--phase-hue,0) var(--phase-sat,0%) 55%);border-radius:3px;flex:none;width:10px;height:10px}.gantt-bar{border-radius:6px;align-items:center;min-height:1.5rem;padding:0 6px;text-decoration:none;display:flex;overflow:hidden}.gantt-bar-text{white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:.75rem;font-weight:600;overflow:hidden}.gantt-bar-side{white-space:nowrap;text-overflow:ellipsis;color:hsl(var(--phase-hue,0) var(--phase-sat,0%) 32%);padding:0 6px;font-size:.75rem;font-weight:600;overflow:hidden}.gantt-bar-side-left{text-align:right}.gantt-bar-not_started{background:hsl(var(--phase-hue,0) var(--phase-sat,0%) 93%);border:1px solid hsl(var(--phase-hue,0) var(--phase-sat,0%) 42%);color:hsl(var(--phase-hue,0) var(--phase-sat,0%) 24%)}.gantt-bar-in_progress{background:hsl(var(--phase-hue,0) var(--phase-sat,0%) 77%);border:1px solid hsl(var(--phase-hue,0) var(--phase-sat,0%) 36%);color:hsl(var(--phase-hue,0) var(--phase-sat,0%) 18%)}.gantt-bar-complete{background:hsl(var(--phase-hue,0) var(--phase-sat,0%) 36%);border:1px solid hsl(var(--phase-hue,0) var(--phase-sat,0%) 30%);color:#fff}.gantt-bar-conflict{outline:2px dashed var(--red);outline-offset:2px;border-color:var(--red)}.program-task:target{outline:2px solid var(--green);outline-offset:2px}@media screen and (max-width:699px){.gantt{--gantt-label-col:8rem}.gantt-day{display:none}.gantt:has(.gantt-day) .gantt-week{border-bottom:1px solid var(--line)}}@media print{.gantt-scroll{overflow-x:visible}.gantt-bar,.gantt-weekend{-webkit-print-color-adjust:exact;print-color-adjust:exact}.gantt{--gantt-label-col:9rem}.gantt-load,.gantt-load-label{display:none}.gantt:has(.gantt-load) .gantt-day{border-bottom:1px solid var(--line)}.gantt:has(.gantt-load):not(:has(.gantt-day)) .gantt-week{border-bottom:1px solid var(--line)}.gantt-group{grid-column:1/-1;grid-template-columns:subgrid;break-inside:avoid;row-gap:2px;display:grid}}.week-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.week-nav-label{text-align:center;flex-direction:column;align-items:center;gap:2px;font-size:.9rem;display:flex}.week-nav-label a{font-size:.8rem;font-weight:700}.person-chips{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.person-chips::-webkit-scrollbar{display:none}.person-chip{border:1px solid var(--line);background:var(--card);min-height:52px;color:var(--ink);border-radius:999px;flex:none;align-content:center;gap:1px;padding:8px 14px;text-decoration:none;display:grid}.person-chip[aria-current=true]{border-color:var(--green);background:var(--green-tint)}.person-chip-name{white-space:nowrap;font-size:.85rem;font-weight:700}.person-chip-hours{color:var(--muted);font-size:.72rem;font-weight:600}.person-chip[aria-current=true] .person-chip-hours{color:var(--green-dark)}.board-person{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.board-person>h2{margin:0}.week-strip{grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.week-cell{color:var(--ink);background:var(--field);border-radius:12px;justify-items:center;gap:2px;padding:8px 2px;text-decoration:none;display:grid}.week-cell-day{color:var(--muted);font-size:.68rem;font-weight:700}.week-cell-hours{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.week-cell-open{color:var(--muted)}.week-cell-light{color:#4a6b1f;background:#f0f6e9}.week-cell-full{background:var(--green-tint);color:var(--green-dark)}.week-cell-overbooked{color:var(--red);background:#fff0ef}.week-cell-no-capacity{color:#c2cbc4;background:0 0}.week-cell-today{box-shadow:inset 0 -3px 0 var(--green)}.board-day>h3{justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 2px;font-size:.95rem;display:flex}.board-day-hours{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700}.board-tasks{display:grid}.board-task{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.board-task:first-child{border-top:0}.board-task-main{flex:60%;gap:2px;min-width:0;display:grid}.board-task-main>a{color:var(--ink);font-weight:600;text-decoration:none}.board-task-main>a:hover{text-decoration:underline}.board-task-meta{color:var(--muted);font-size:.78rem}.board-give,.board-move{background:0 0;border-color:#0000;flex:none}.board-give>summary,.board-move>summary{min-height:40px;color:var(--muted);padding:8px 10px;font-size:.8rem;font-weight:700}.board-give[open],.board-move[open]{background:var(--field);border-color:var(--line);flex-basis:100%}.board-give[open]>summary,.board-move[open]>summary{color:var(--ink)}.nudges{flex:none;gap:2px;display:flex}.nudge-form{display:contents}.nudge{background:var(--field);width:36px;min-width:36px;min-height:36px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.nudge:hover:not(:disabled){background:var(--green-tint);color:var(--green-dark)}.nudge:disabled{opacity:.45}.nudge-error{color:var(--red);flex-basis:100%;font-size:.75rem}.two-step{gap:0;display:grid}.two-step>button[aria-expanded=true]{border-radius:12px 12px 0 0}.two-step>.confirm-body{background:var(--field);border-radius:0 0 12px 12px;justify-items:stretch;gap:10px;padding:12px 14px;display:grid}.two-step>.confirm-body>p{margin:0;font-size:.85rem}.confirm-go{justify-self:start;width:auto;min-height:44px;padding:10px 18px}.side-nav{display:none}@media (min-width:900px){.desk{grid-template-columns:72px minmax(0,1fr);min-height:100vh;display:grid}.side-nav{background:var(--card);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:18px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.side-nav-company{display:none}.side-nav-list,.side-nav-children{gap:2px;margin:0;padding:0;list-style:none;display:grid}.side-nav-link{min-height:44px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px;font-size:.9rem;font-weight:700;text-decoration:none;display:flex}.side-nav-link:hover{background:var(--field);color:var(--ink)}.side-nav-section.is-current>.side-nav-link{color:var(--green);background:var(--green-tint)}.side-nav-label,.side-nav-children{display:none}:is(.shell,.shell:has(>main.wide)){max-width:1180px;margin:0;padding:20px 32px 56px}.app-nav{display:none}.zone-footer{bottom:env(safe-area-inset-bottom)}.zone-rail{max-height:calc(100vh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media (min-width:1200px){.desk{grid-template-columns:240px minmax(0,1fr)}.side-nav{padding:18px 14px}.side-nav-company{letter-spacing:.1em;text-transform:uppercase;color:var(--green);white-space:nowrap;text-overflow:ellipsis;padding:6px 12px 14px;font-size:.72rem;font-weight:800;display:block;overflow:hidden}.side-nav-link{justify-content:flex-start}.side-nav-label{display:inline}.side-nav-children{padding:2px 0 8px 40px;display:grid}.side-nav-child{color:var(--muted);border-radius:10px;padding:7px 10px;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.side-nav-child:hover{background:var(--field);color:var(--ink)}.side-nav-child[aria-current=page]{color:var(--green-dark);background:var(--green-tint)}.side-nav-section.is-deal{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.side-nav-section.is-deal>.side-nav-link{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;background:0 0;font-size:.8rem}}.photo-thumb{cursor:zoom-in;background:0 0;border:0;border-radius:10px;width:100%;min-height:0;padding:0;display:block}.photo-thumb>img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.photo-thumb:focus-visible{outline:2px solid var(--green);outline-offset:2px}.photo-wall{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.photo-wall-group .area-head{margin-bottom:10px}.photo-wall-group .area-head a.status{text-decoration:none}.photo-grid .photo-thumb{min-height:0;font-size:inherit;padding:0}.photo-viewer{color:#fff;background:#0c0f0e;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0}.photo-viewer::backdrop{background:#000000d9}.photo-viewer-body{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid}.photo-viewer-top,.photo-viewer-bottom{padding:calc(10px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:10px;display:flex}.photo-viewer-bottom{padding-top:10px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.photo-viewer-count{color:#ffffffbf;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.photo-viewer-tools{gap:4px;display:flex}.photo-viewer-tools .ghost{color:#fff;min-width:44px;font-size:1.05rem}.photo-viewer-tools .ghost:hover:not(:disabled){color:#fff;background:#ffffff1f}.photo-viewer-tools .ghost:disabled{opacity:.35}.photo-viewer-close{font-size:1.2rem}.photo-viewer-frame{-webkit-overflow-scrolling:touch;place-items:center;min-height:0;display:grid;overflow:auto}.photo-viewer-frame.is-zoomed{cursor:grab;place-items:start}.photo-viewer-img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.photo-viewer-bottom .secondary{color:#fff;background:#ffffff1f;min-width:52px;font-size:1.4rem}.photo-viewer-caption{text-align:center;flex:1;gap:2px;min-width:0;font-size:.9rem;display:grid}.photo-viewer-home{color:#9fd9bd;font-weight:700;text-decoration:none}.photo-viewer-home:hover{text-decoration:underline}.photo-pick-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.photo-pick{cursor:pointer;display:block;position:relative}.photo-pick img{aspect-ratio:1;object-fit:cover;border:3px solid #0000;border-radius:10px;width:100%;display:block}.photo-pick input{width:22px;height:22px;accent-color:var(--green);margin:0;position:absolute;top:6px;left:6px}.photo-pick input:checked+img{border-color:var(--green)}.update-photos{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.update-photos figure{break-inside:avoid;margin:0}.update-photos img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;width:100%}.update-photos figcaption{margin-top:4px;font-size:.8rem}.update-photo-missing{aspect-ratio:4/3;border:1px dashed var(--line);text-align:center;border-radius:10px;place-items:center;padding:8px;font-size:.85rem;display:grid}.update-note{white-space:pre-wrap;border-left:3px solid var(--green);padding-left:12px}.update-editor{gap:14px;display:grid}.update-editor textarea{width:100%;min-height:72px}.update-editor .section-toggle{align-items:center;gap:8px;font-weight:700;display:flex}@media print{.update-photos figure{break-inside:avoid}}.money-charts{gap:18px;display:grid}@media (min-width:900px){.money-charts{grid-template-columns:1fr 1fr}.money-charts>.chart-wide{grid-column:1/-1}}.chart h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:.85rem}.chart-pie{grid-template-columns:120px 1fr;align-items:center;gap:12px;display:grid}.chart-pie svg{width:120px;height:120px}.chart-legend{gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.chart-legend li{align-items:center;gap:8px;display:flex}.chart-legend .swatch{border-radius:3px;flex:none;width:12px;height:12px}.chart-legend .amount{margin-left:auto}.chart-bars{gap:8px;display:grid}.chart-bar-row{grid-template-columns:110px 1fr auto;align-items:center;gap:10px;font-size:.85rem;display:grid}.chart-bar-row svg{width:100%;height:14px;display:block}.chart-bar-row .over{color:#a33;font-weight:700}.chart-money svg{width:100%;height:22px;display:block}.chart-money-key{flex-wrap:wrap;gap:16px;margin-top:6px;font-size:.85rem;display:flex}.chart-money-key span:before{content:"";vertical-align:-1px;background:var(--k);border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}
