/* App-only focus and display presets: never changes browser/OS display. */
body{--workspace-scale:1;--frame-width:100%;--frame-height:100dvh}
body[data-scale="80"]{--workspace-scale:.8}body[data-scale="90"]{--workspace-scale:.9}
body[data-scale="110"]{--workspace-scale:1.1}body[data-scale="125"]{--workspace-scale:1.25}body[data-scale="150"]{--workspace-scale:1.5}
body[data-resolution="1366x768"]{--frame-width:1366px;--frame-height:768px}
body[data-resolution="1600x900"]{--frame-width:1600px;--frame-height:900px}
body[data-resolution="1920x1080"]{--frame-width:1920px;--frame-height:1080px}
body[data-resolution="2560x1440"]{--frame-width:2560px;--frame-height:1440px}
#app{max-width:var(--frame-width);margin-inline:auto;min-height:min(100dvh,var(--frame-height))}
#app>div{min-width:0}
#main{zoom:var(--workspace-scale);max-width:none;container-type:inline-size;min-height:0}
.sidebar{height:min(100dvh,var(--frame-height));overflow-y:auto}
body:not([data-resolution="auto"]) #main{max-height:calc((min(100dvh,var(--frame-height)) - 150px)/var(--workspace-scale));overflow:auto}
body.app-focus #app{grid-template-columns:minmax(0,1fr);max-width:var(--frame-width);min-height:100dvh}
body.app-focus .sidebar,body.app-focus .topbar{display:none}
body.app-focus #main{padding-top:30px;max-height:none}
body.app-focus:not([data-resolution="auto"]) #main{max-height:calc(min(100dvh,var(--frame-height))/var(--workspace-scale));overflow:auto}
.focus-reveal{position:fixed;top:0;left:0;right:0;height:16px;display:flex;justify-content:center;z-index:45}
.focus-reveal .btn{transform:translateY(calc(-100% + 8px));background:var(--ink);color:white;border-color:var(--steel);min-height:38px;align-self:flex-start;box-shadow:0 3px 12px #18324433}
.focus-reveal:hover .btn,.focus-reveal:focus-within .btn{transform:translateY(6px)}
.side-context{margin-top:auto;border-top:1px solid #365B78;padding-top:14px;font-size:12px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.side-context form{display:flex;flex-wrap:wrap;gap:6px}.side-context label{width:100%;font-weight:700;color:#cbdce7}
.side-context input{width:100%;min-width:0;border:1px solid #7894a8;border-radius:6px;padding:5px 7px;background:#254357;color:white}
.side-context .btn{color:var(--ink)}
.context-note{font-size:10.5px;line-height:1.5;color:#a8bfce}.context-attribution a{color:#d5e7f2;text-decoration:underline;text-underline-offset:2px}
@container (max-width:950px){.board{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:620px){.board{grid-template-columns:minmax(0,1fr)}.pagehead{flex-wrap:wrap}.biz-row{flex-wrap:wrap}.biz-pairs{grid-template-columns:1fr}}
@media(max-width:860px){
 .layout{grid-template-columns:minmax(0,1fr)}.sidebar{min-width:0;flex-wrap:wrap;overflow:visible;height:auto}.sidebar nav{overflow-x:auto;max-width:100%;min-width:0}
 .side-context{width:100%;margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
 .side-context form{grid-column:1/-1;align-items:center}.side-context label{width:auto}.side-context input{flex:1;min-width:80px;width:100px}
 body:not([data-resolution="auto"]) #main{max-height:none;overflow:visible}
}
@media(pointer:coarse){.focus-reveal{height:46px;pointer-events:none}.focus-reveal .btn{transform:translateY(6px);pointer-events:auto}}

/* Real business screens share the connected dashboard's blue identity. */
#bizApp{max-width:1200px;margin:auto;overflow-wrap:anywhere}
.biz-pairs [data-field="description"]{white-space:pre-wrap}.biz-form input[type=file]{max-width:100%;font:inherit}
.biz-real{color:var(--blue,#12658c);font-size:13px;font-weight:700;margin-bottom:20px}
.biz-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:20px}
.biz-filters,.biz-tabs,.biz-actions,.biz-pager{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.biz-filters{align-items:flex-end;margin:18px 0}.biz-filters .field:first-child{flex:1;min-width:160px}
.biz-tabs{margin-top:16px}.biz-tabs [aria-pressed=true]{background:var(--ink);color:white}
.biz-list{list-style:none;padding:0;margin:12px 0}
.biz-row{display:flex;align-items:center;gap:16px;background:white;border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:10px}
.biz-main{flex:1;min-width:0}.biz-main strong,.biz-main small{display:block}.biz-main small{color:var(--muted);margin-top:5px}
.biz-project-name{display:block;max-width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.biz-project-name:hover{text-decoration:underline;text-underline-offset:3px}
.biz-project-name:focus-visible{outline:2px solid var(--blue,#12658c);outline-offset:4px;border-radius:2px;text-decoration:underline}
.biz-side{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.biz-due{font-size:12px;color:var(--muted)}
.biz-desc{white-space:pre-wrap}.biz-pager{justify-content:center;margin:16px 0}
.biz-empty,#bizLayoutNote{padding:18px;border:1px dashed var(--line);border-radius:10px;background:#fff;color:var(--muted)}
.biz-error{padding:12px;background:var(--warn-bg,#fff3e5);color:var(--warn,#805016);border:1px solid #ebdab6;border-radius:8px}
#bizNotice{padding:12px;background:#eaf4fa;border-radius:8px}
.biz-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:white;border:1px solid var(--line);border-radius:10px;padding:18px}
.biz-pairs dt{font-size:12px;color:var(--muted)}.biz-pairs dd{margin:4px 0 0;font-weight:600}
.biz-person,.biz-choice{display:flex;align-items:center;gap:10px;padding:10px 0}.biz-person{justify-content:space-between;border-bottom:1px solid var(--line)}
.biz-choice input{width:20px;height:20px}.biz-choice label{flex:1;cursor:pointer}
.biz-hist{border-top:1px solid var(--line);padding:14px 0}.biz-hist-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.biz-who{color:var(--muted)}
.biz-changes{padding-left:20px;font-size:13px}.biz-hist-subject{display:block;margin-top:6px}
.biz-dialog{width:620px;max-height:calc(100dvh - 24px);overflow:auto}.biz-form{display:grid;gap:14px}
.biz-form textarea,.biz-form input[type=date]{font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px;width:100%;background:white}
.biz-form fieldset{border:1px solid var(--line);border-radius:8px;min-width:0}
.biz-dialog .mf{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.biz-dialog [aria-invalid=true]{outline:2px solid #a42b25}
#projectFinance{margin:24px 0;overflow-wrap:anywhere;min-width:0}
.project-finance-section h2{margin-bottom:16px}
.project-finance-row{padding:18px 0;border-top:1px solid var(--line);min-width:0}
.project-finance-row p{margin:8px 0;line-height:1.6}
.project-finance-row .biz-project-name{max-width:100%;white-space:normal;text-align:left}
.project-finance-total{padding:12px;background:#eaf4fa;border-radius:8px;margin:8px 0;font-weight:600}
.project-finance-amount{font-weight:700}
@media(max-width:650px){.biz-row{align-items:flex-start;flex-direction:column;gap:12px}.biz-pairs{grid-template-columns:1fr}.biz-card{padding:12px}.biz-filters .field{width:100%}.biz-dialog .mf .btn{flex:1}.biz-tabs .btn{flex:1}#bizApp .pagehead{align-items:flex-start;gap:12px;flex-wrap:wrap}}
