:root{color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bs-blue-50: #eef4ff;--bs-blue-100: #d9e7ff;--bs-blue-200: #bcd4ff;--bs-blue-300: #8eb8ff;--bs-blue-400: #5892ff;--bs-blue-500: #276eff;--bs-blue-600: #125efa;--bs-blue-700: #0b49d5;--bs-blue-800: #103eaa;--bs-blue-900: #123887;--bs-neutral-0: #ffffff;--bs-neutral-50: #f7f9fc;--bs-neutral-100: #edf1f7;--bs-neutral-200: #dce2eb;--bs-neutral-300: #c2cad6;--bs-neutral-400: #8f9aaa;--bs-neutral-500: #657184;--bs-neutral-600: #495466;--bs-neutral-700: #343d4c;--bs-neutral-800: #202734;--bs-neutral-900: #10151e;--bs-black: #070707;--bs-success-500: #16a36a;--bs-warning-500: #e49a12;--bs-danger-500: #dc3f4f;--bs-info-500: var(--bs-blue-600);--bs-bg: var(--bs-neutral-50);--bs-surface: var(--bs-neutral-0);--bs-surface-subtle: var(--bs-neutral-100);--bs-text: var(--bs-neutral-900);--bs-text-muted: var(--bs-neutral-600);--bs-border: var(--bs-neutral-200);--bs-primary: var(--bs-blue-600);--bs-primary-hover: var(--bs-blue-700);--bs-primary-soft: var(--bs-blue-50);--bs-font-sans: Inter, "Segoe UI", Arial, sans-serif;--bs-font-mono: "DejaVu Sans Mono", "Roboto Mono", Consolas, monospace;--bs-text-xs: .75rem;--bs-text-sm: .875rem;--bs-text-md: 1rem;--bs-text-lg: 1.125rem;--bs-text-xl: 1.5rem;--bs-text-2xl: 2rem;--bs-space-1: .25rem;--bs-space-2: .5rem;--bs-space-3: .75rem;--bs-space-4: 1rem;--bs-space-5: 1.25rem;--bs-space-6: 1.5rem;--bs-space-8: 2rem;--bs-space-10: 2.5rem;--bs-space-12: 3rem;--bs-radius-sm: .375rem;--bs-radius-md: .625rem;--bs-radius-lg: 1rem;--bs-radius-pill: 999px;--bs-shadow-sm: 0 1px 2px rgba(16, 21, 30, .08);--bs-shadow-md: 0 8px 24px rgba(16, 21, 30, .1);--bs-shadow-lg: 0 18px 48px rgba(16, 21, 30, .14);--bs-duration-fast: .12s;--bs-duration-base: .18s;--bs-ease: cubic-bezier(.2, .8, .2, 1);--bs-focus: 0 0 0 3px rgba(18, 94, 250, .28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bs-bg);color:var(--bs-text);font-family:var(--bs-font-sans);line-height:1.5}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:none;box-shadow:var(--bs-focus)}.center-screen,.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--bs-space-6)}.login-page{background:linear-gradient(180deg,#eef4ffd9,#f7f9fcf5),var(--bs-bg)}.login-card{position:relative;width:min(100%,440px);padding:var(--bs-space-8);border:1px solid var(--bs-border);border-radius:var(--bs-radius-lg)!important;box-shadow:var(--bs-shadow-lg);overflow:hidden}.login-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--bs-primary)}.login-brand{display:grid;gap:var(--bs-space-4)}.brand-lockup{display:inline-flex;align-items:center;min-width:0;gap:var(--bs-space-3)}.brand-lockup.is-compact{justify-content:center;width:100%}.brand-symbol{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--bs-border);border-radius:var(--bs-radius-md);background:var(--bs-surface);box-shadow:var(--bs-shadow-sm);overflow:hidden}.brand-symbol img{width:74%;height:74%;object-fit:contain;display:block}.brand-lockup-sm .brand-symbol{width:36px;height:36px}.brand-lockup-lg .brand-symbol{width:62px;height:62px}.brand-copy{min-width:0}.brand-title{color:var(--bs-text)!important;font-family:var(--bs-font-mono)!important;font-size:var(--bs-text-lg)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:0!important}.brand-subtitle{color:var(--bs-text-muted)!important;font-size:var(--bs-text-xs)!important;line-height:1.25!important;letter-spacing:0!important}.brand-lockup-sm .brand-title{font-size:var(--bs-text-md)!important}.brand-lockup-lg .brand-title{font-size:var(--bs-text-2xl)!important}.brand-lockup-lg .brand-subtitle{font-size:var(--bs-text-sm)!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:286px 1fr;background:var(--bs-bg)}.app-shell.is-collapsed{grid-template-columns:86px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--bs-surface);border-right:1px solid var(--bs-border);overflow:hidden auto}.brand-block{min-height:88px;display:flex;align-items:center;padding:var(--bs-space-5) var(--bs-space-4)}.nav-list{padding:var(--bs-space-3)}.nav-button{min-height:42px;border-radius:var(--bs-radius-md)!important;margin-bottom:4px!important;color:var(--bs-text-muted)!important;transition:all var(--bs-duration-base) var(--bs-ease)!important}.nav-button.active,.nav-button:hover{background:var(--bs-primary-soft)!important;color:var(--bs-primary)!important}.nav-button.active{font-weight:600!important}.nav-button .MuiListItemIcon-root{min-width:40px;color:inherit}.nav-button .MuiListItemText-primary{font-size:var(--bs-text-sm);font-weight:500}.main-area{min-width:0}.topbar{position:sticky;top:0;z-index:10;min-height:76px;padding:var(--bs-space-3) var(--bs-space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--bs-space-4);background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--bs-border)}.user-pill{display:grid;justify-items:end;padding:var(--bs-space-1) 0}.content-area{padding:var(--bs-space-6)}.page-stack{display:flex;flex-direction:column;gap:var(--bs-space-5)}.page-stack>.MuiBox-root:first-child h5,.page-stack>.MuiBox-root:first-child h4{color:var(--bs-text);letter-spacing:0;font-weight:600!important}.page-stack .MuiTypography-h4,.page-stack .MuiTypography-h5,.page-stack .MuiTypography-h6,.client-portal .MuiTypography-h4,.client-portal .MuiTypography-h5,.client-portal .MuiTypography-h6,.MuiDialogTitle-root{font-weight:600!important}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bs-space-4)}.metric-card{min-height:124px;padding:var(--bs-space-5);display:flex;flex-direction:column;align-items:flex-start;gap:var(--bs-space-3);border:1px solid var(--bs-border);border-radius:var(--bs-radius-lg)!important;box-shadow:var(--bs-shadow-sm)}.metric-icon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--bs-radius-md);color:var(--bs-primary);background:var(--bs-primary-soft)}.metric-content{min-width:0;width:100%}.metric-value{line-height:1.12!important;font-size:1.35rem!important;font-family:var(--bs-font-mono)!important;font-weight:700!important;letter-spacing:0!important;overflow-wrap:break-word;word-break:normal}.metric-hint{display:block;margin-top:var(--bs-space-1)}.data-panel,.form-panel,.permission-panel{border:1px solid var(--bs-border);border-radius:var(--bs-radius-lg)!important;box-shadow:var(--bs-shadow-sm)}.form-panel,.permission-panel{padding:var(--bs-space-5)}.MuiTableContainer-root.data-panel{padding:0;overflow:auto}.MuiPaper-root.data-panel:not(.MuiTableContainer-root){padding:var(--bs-space-5)}.dialog-form{display:flex;flex-direction:column;gap:var(--bs-space-4);padding-top:var(--bs-space-3)!important}.empty-state{padding:var(--bs-space-6);text-align:center;color:var(--bs-text-muted)}.timeline-item,.stage-row,.parcel-row,.mini-stage{border:1px solid var(--bs-border);border-radius:var(--bs-radius-md);padding:var(--bs-space-4);background:var(--bs-surface);box-shadow:var(--bs-shadow-sm)}.timeline-item{border-left:4px solid var(--bs-primary)}.stage-row{display:flex;flex-direction:column;gap:var(--bs-space-3)}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--bs-space-4)}.permission-panel{display:flex;flex-direction:column}.qr-box{min-height:190px;display:grid;place-items:center;gap:var(--bs-space-3);padding:var(--bs-space-6);border:1px dashed var(--bs-neutral-400);border-radius:var(--bs-radius-lg);background:var(--bs-neutral-50);text-align:center}.qr-box svg{width:72px;height:72px}.qr-image{width:min(100%,320px);height:auto;border-radius:var(--bs-radius-md)}.break-text{word-break:break-word}.powerbi-frame,.powerbi-mock{width:100%;height:clamp(640px,calc(100vh - 230px),1080px);min-height:640px;border:1px solid var(--bs-border);border-radius:var(--bs-radius-lg);background:var(--bs-surface);box-shadow:var(--bs-shadow-sm);overflow:hidden}.powerbi-frame iframe{width:100%!important;height:100%!important;border:0;display:block}.powerbi-mock{display:grid;align-content:center;justify-items:center;gap:var(--bs-space-3);padding:var(--bs-space-8);text-align:center}.client-portal{min-height:100vh;padding:var(--bs-space-8);background:var(--bs-bg)}.obra-report-portal{padding:var(--bs-space-5) var(--bs-space-6) var(--bs-space-6)}.obra-report-shell{min-height:calc(100vh - 44px)}.obra-report-title{flex:0 0 auto}.obra-report-title h4{letter-spacing:0}.obra-report-portal .powerbi-frame,.obra-report-portal .powerbi-mock{height:calc(100vh - 132px);min-height:680px}.mini-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--bs-space-3)}.mini-stage{display:flex;justify-content:space-between;gap:var(--bs-space-3)}.MuiToggleButtonGroup-root{border-radius:var(--bs-radius-md)}.MuiToggleButton-root{min-height:42px;border-color:var(--bs-border)!important;color:var(--bs-text-muted)!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}.MuiToggleButton-root.Mui-selected,.MuiToggleButton-root.Mui-selected:hover{background:var(--bs-primary-soft)!important;color:var(--bs-primary)!important}.MuiSwitch-switchBase.Mui-checked{color:var(--bs-primary)!important}.MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:var(--bs-primary)!important}.MuiChip-root,.MuiSkeleton-root{border-radius:var(--bs-radius-md)!important}@media (max-width: 980px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{position:static;height:auto;max-height:min(360px,48vh);border-right:0;border-bottom:1px solid var(--bs-border)}.brand-block{min-height:76px}.metric-grid,.permission-grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.topbar{align-items:flex-start;flex-direction:column;padding:var(--bs-space-4)}.content-area,.client-portal,.login-page{padding:var(--bs-space-4)}.login-card{padding:var(--bs-space-6)}.powerbi-frame,.powerbi-mock{height:calc(100vh - 210px);min-height:520px}.obra-report-portal .powerbi-frame,.obra-report-portal .powerbi-mock{height:calc(100vh - 124px);min-height:520px}.metric-grid,.permission-grid{grid-template-columns:1fr}.user-pill{justify-items:start}.brand-lockup-sm .brand-subtitle{display:none}}
