/* Private Office: accessible, responsive workspace. No remote fonts or libraries. */
:root{--muted:#625f58}
.topbar{flex-wrap:wrap;gap:12px;padding:12px max(20px,calc((100vw - 1180px)/2))}
.topbar nav{order:3;flex-basis:100%;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.topbar nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center}
.topbar>form{margin-left:auto}
.shell{padding-top:32px}
.panel{margin-bottom:20px;min-width:0}
.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.workspace-grid>.panel{margin-bottom:0}.workspace-grid{margin-bottom:20px}
.workspace-filter{display:flex;align-items:end;gap:14px;flex-wrap:wrap}
.workspace-filter label{flex:1;min-width:180px}.workspace-filter button{min-height:44px}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.quick-actions a{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface)}
.quote-prices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.quote-prices span{display:block;color:var(--muted);font-size:12px}
.quote-prices strong{font-size:22px;font-variant-numeric:tabular-nums}
.quote-card h2{margin:16px 0 8px}.quote-card .item-actions{margin-top:20px}
.warning{background:#fff4d7;color:#654610;border:1px solid #d7bd7c}
.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}
.project-picture{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}figure.panel{margin:0}figcaption{font-size:13px;margin-top:12px;color:var(--muted)}
.crm-entry,.audit-entry{padding:16px 0;border-bottom:1px solid var(--border)}
.crm-entry h3{margin-top:12px}.crm-entry p{margin:10px 0}
details>summary{cursor:pointer;min-height:44px;padding:10px 0}
details>.stack{margin-top:20px}
.chart-row{display:grid;grid-template-columns:130px minmax(100px,1fr) 180px;gap:20px;align-items:center;padding:16px 0}
meter{width:100%;height:26px;accent-color:var(--accent)}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.skip-link{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:100}
.skip-link:focus{top:10px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.check{min-width:44px;min-height:44px}.item-actions{flex-wrap:wrap}
.page-head{gap:20px}.list-item>div{min-width:0}.list-item h3{overflow-wrap:anywhere}
.list-item a:not(.button-link){text-decoration:underline;text-underline-offset:3px}
.metric strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.table-wrap{overflow:auto}input,select,textarea{min-height:44px}
.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}
@media(max-width:800px){.workspace-grid{grid-template-columns:1fr}.page-head{align-items:start;flex-direction:column}.workspace-filter{align-items:stretch}.workspace-filter label{min-width:0;flex-basis:100%}.chart-row{grid-template-columns:1fr 1fr;gap:10px}.chart-row meter{grid-column:1/-1;grid-row:2}.quote-prices strong{font-size:19px}.panel{padding:20px}.topbar{position:static}.form-grid{grid-template-columns:1fr}.list-item{flex-wrap:wrap}.two-column{grid-template-columns:minmax(0,1fr)}}
@media(max-width:430px){.brand>span:last-child{display:inline}.quote-prices{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:30px}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.topbar,.quick-actions,.workspace-filter,form,.skip-link{display:none}.shell{width:100%;padding:0}.panel,.metric{box-shadow:none;break-inside:avoid}.workspace-grid{display:block}body{background:white}}
