:root{color-scheme:light;--bg:#f5f6f3;--surface:#fff;--ink:#203734;--muted:#657571;--accent:#236c58;--line:#e0e6df;--radius:18px;--rail:#183a37;--soft:#eaf3eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #88bba3;outline-offset:4px}input:focus-visible{outline-offset:1px}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.25;letter-spacing:-1px;font-weight:650}h2{font-size:20px;line-height:1.4;letter-spacing:-.4px;font-weight:650}h3{font-size:16px;line-height:1.5;font-weight:600}p{line-height:1.65}.muted{color:var(--muted)}.small{font-size:13px}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:50}.skip-link:focus{top:10px}[hidden]{display:none!important}
.workspace{min-height:100dvh}.brand{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:17px;letter-spacing:.8px;font-weight:750;flex:none}.brand img{display:block}.desktop-nav{display:flex;align-items:center;gap:6px;margin-right:auto;min-width:0}.desktop-nav a,.desktop-nav button{padding:10px 14px;border-radius:8px;font-size:13px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.desktop-nav a:hover,.desktop-nav button:hover{background:var(--soft)}.desktop-nav [aria-current=page]{color:var(--accent);background:var(--soft);font-weight:650}
.main-shell{min-width:0;display:flex;flex-direction:column}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 38px;background:#fff}.location{display:flex;gap:12px;font-size:12px;color:var(--muted)}.location strong{color:var(--ink);font-weight:550}.slash{color:#b0bdb5}.top-actions{display:flex;gap:23px;align-items:center}.connection{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;padding:10px 0}.status-dot{width:6px;height:6px;background:#899e92;border-radius:100%}.connection.online .status-dot{background:#3c8c58}.connection.offline .status-dot{background:#b87d35}.account-button{display:flex;align-items:center;gap:9px;font-size:12px;padding:10px 0;max-width:210px}.account-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-button svg{border-radius:50%;background:#edf3ed;padding:7px;width:35px;height:35px}.environment{display:flex;align-items:center;gap:12px;font-size:11px;color:#7b786b;padding:14px 38px;background:#faf9f3;border-bottom:1px solid #ebe9dc}.environment-badge{letter-spacing:1.1px;font-size:8px;font-weight:700;color:#7d755c;white-space:nowrap}#view,#messenger-view{padding:35px 38px 30px;max-width:1440px;width:100%;margin:0 auto;outline:none;min-height:70vh}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.page-heading p{color:var(--muted);font-size:13px;margin-top:8px;max-width:670px}.eyebrow{display:block;font-size:9px;letter-spacing:1.7px;font-weight:700;color:var(--muted);margin-bottom:11px}.date-chip{font-size:11px;white-space:nowrap;color:var(--muted);border:1px solid var(--line);padding:8px 13px;border-radius:8px}.hero{position:relative;overflow:hidden;border:1px solid #d9e5d8;border-radius:var(--radius);padding:32px;background:#edf3e9;display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:27px}.hero h2{font-size:26px;letter-spacing:-.8px;max-width:480px}.hero p{max-width:550px;font-size:13px;color:#5c7062;margin:12px 0 21px}.hero-mark{flex:none;width:125px;height:125px;border:1px solid #bfd2bc;border-radius:32px;transform:rotate(-8deg);background:#e0eddb;display:grid;place-items:center}.hero-mark svg{width:65px;height:65px;stroke-width:1.1;transform:rotate(8deg);color:#69956d}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:600;line-height:1.5}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:#195541}.primary-button svg,.secondary-button svg,.text-button svg{width:17px;height:17px}.secondary-button{background:var(--surface);border:1px solid var(--line)}.secondary-button:hover{background:#f1f5ef}.text-button{padding:8px 0;color:var(--accent)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:27px 0 14px}.section-header h2{font-size:16px}.section-header span{color:var(--muted);font-size:11px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entry-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;display:flex;flex-direction:column;min-height:185px;transition:border-color .15s,transform .15s}.entry-card:hover{border-color:#9db7a4;transform:translateY(-2px)}.tile-icon{width:39px;height:39px;background:var(--soft);color:var(--accent);border-radius:11px;display:grid;place-items:center;margin-bottom:20px}.entry-card h3{display:flex;justify-content:space-between;align-items:center;font-size:15px}.entry-card h3 svg{width:17px;height:17px;color:#899c90}.entry-card p{color:var(--muted);font-size:12px;margin-top:7px}.bottom-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:24px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:25px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{font-size:16px}.panel-header svg{color:#719484}.state-label{font-size:10px;background:#f1f3ef;border-radius:5px;padding:5px 8px;color:var(--muted);white-space:nowrap}.empty-compact{padding:27px 0 16px}.empty-compact h3{font-size:14px}.empty-compact p{margin-top:8px;color:var(--muted);font-size:12px;max-width:420px}.readiness{margin-top:18px}.readiness li{list-style:none;padding:14px 0;display:flex;gap:12px;border-top:1px solid var(--line);align-items:center}.readiness{padding:0}.readiness li span{flex:1;font-size:12px}.readiness li small{font-size:10px;color:var(--muted)}.readiness svg{color:#739382;width:17px;height:17px}.workspace-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#7b8c82;padding:26px 38px;margin-top:auto}.mobile-nav{display:none}.eva-button{position:fixed;bottom:22px;right:28px;z-index:12;border-radius:40px;background:var(--rail);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;box-shadow:0 7px 25px #183a3729;font-size:13px}.eva-button svg{color:#cae9ce}.workspace-footer{padding-bottom:84px}.empty-page{display:grid;place-items:center;min-height:310px;text-align:center;padding:40px}.empty-page p{max-width:510px;color:var(--muted);font-size:13px;margin:12px auto 21px}.empty-page h2{font-size:23px}.empty-illustration{width:76px;height:76px;border:1px solid #dce7d9;background:#f1f6ed;display:grid;place-items:center;border-radius:24px;color:#789f7b;margin:0 auto 23px}.empty-illustration svg{width:36px;height:36px;stroke-width:1.3}.info-row{display:flex;gap:13px;padding:18px 0;border-top:1px solid var(--line);align-items:flex-start}.info-row svg{color:#839b8c}.info-row p{font-size:12px;color:var(--muted);margin-top:5px}.module-columns{display:grid;grid-template-columns:2fr 1fr;gap:22px}.detail-list{margin:18px 0 0;padding:0;list-style:none}.detail-list li{padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.device-list{display:grid;gap:12px;margin-top:20px}.device-item{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg);border-radius:10px}.device-item .device-info{flex:1;min-width:0}.device-item strong{display:block;font-size:13px;overflow-wrap:anywhere}.device-item small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.device-item .text-button{font-size:11px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.inline-error,.form-error{color:#a44437;font-size:12px;line-height:1.6}.inline-error{padding:15px 0}.profile-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:22px}.avatar-large{width:58px;height:58px;background:var(--soft);border-radius:17px;display:grid;place-items:center;margin-bottom:20px}.avatar-large svg{color:var(--accent);width:28px;height:28px}.profile-name{overflow-wrap:anywhere}.profile-note{font-size:12px;color:var(--muted);margin-top:14px}.notice{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);padding:15px 22px;background:#203734;color:#fff;max-width:min(620px,90vw);border-radius:12px;z-index:30;font-size:13px;box-shadow:0 10px 30px #16332930}
dialog{border:1px solid var(--line);border-radius:20px;color:var(--ink);background:white;max-width:calc(100vw - 28px);padding:28px;box-shadow:0 20px 100px #183a3729}dialog::backdrop{background:#152e2a55;backdrop-filter:blur(2px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-header h2{font-size:20px}.icon-button{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:9px;background:#f2f5ef}.login-dialog{width:420px}.login-dialog label{display:block;font-size:12px;font-weight:600;margin:20px 0 8px}.login-dialog input{display:block;width:100%;padding:12px;border:1px solid #bdcdc1;border-radius:8px;background:#fff;color:var(--ink);font-size:16px}.login-dialog .primary-button{width:100%;margin-top:20px}.form-error:empty{display:none}.form-error{margin-top:15px}.login-footnote{margin-top:23px;font-size:11px}.side-dialog{position:fixed;inset:16px 16px 16px auto;width:410px;max-height:calc(100dvh - 32px);height:100%;margin:0;padding:25px;overflow:auto}.side-dialog[open]{display:flex;flex-direction:column}.eva-heading{display:flex;gap:12px;align-items:center}.eva-heading p{font-size:10px;color:var(--muted);margin-top:3px}.eva-orb{background:var(--rail);color:#ceead1;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;flex:none}.eva-content{margin-top:15px}.context-chip{font-size:12px;background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:9px;margin-bottom:55px}.eva-content h3{text-align:center;font-size:21px;margin-bottom:12px}.eva-content>p:not(.context-chip){color:var(--muted);font-size:13px;margin:12px 0}.eva-input-note{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.menu-dialog{width:450px;max-height:90dvh}.menu-dialog nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-dialog nav a{padding:14px 12px;font-size:12px;background:var(--bg);border-radius:8px}.noscript{padding:25px;background:#fff4d6;position:fixed;bottom:0;z-index:60;width:100%}
@media(min-width:1600px){#view,#messenger-view{padding-top:48px}.hero{padding:40px}.hero h2{font-size:31px}.entry-card{min-height:210px}}
@media(max-width:1180px){.workspace{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand{font-size:18px;gap:8px}.topbar{padding:0 25px}.environment{padding-left:25px;padding-right:25px}#view,#messenger-view{padding:28px 25px}.hero-mark{width:90px;height:90px}.hero{padding:25px}.hero h2{font-size:23px}.entry-card{padding:18px}.date-chip{display:none}.location>span:first-child,.location .slash{display:none}.module-columns,.profile-grid{grid-template-columns:1fr}.top-actions{gap:18px}}
@media(max-width:760px){.workspace{display:block}.sidebar{display:none}.topbar{height:65px;padding:0 20px}.location{font-size:14px}.top-actions{gap:14px}.connection{font-size:10px}.account-button span{display:none}.account-button svg{width:33px;height:33px}.environment{padding:11px 20px;gap:10px;font-size:10px}.environment-badge{font-size:7px;letter-spacing:.7px}#view,#messenger-view{padding:26px 20px 20px;min-height:75vh}h1{font-size:28px;letter-spacing:-.9px}.page-heading{margin-bottom:22px}.page-heading p{font-size:12px;margin-top:7px}.hero{padding:24px;gap:0;margin-bottom:23px}.hero h2{font-size:23px;max-width:260px}.hero p{font-size:12px;margin:12px 0 18px}.hero-mark{display:none}.cards{grid-template-columns:1fr;gap:11px}.entry-card{min-height:0;padding:19px 20px;display:grid;grid-template-columns:40px 1fr;column-gap:15px;align-items:start;border-radius:14px}.entry-card .tile-icon{grid-row:1/3;margin:0;width:39px;height:39px}.entry-card h3{font-size:14px}.entry-card p{font-size:11px;margin-top:5px}.section-header{margin-top:25px}.section-header h2{font-size:15px}.section-header span{font-size:9px}.bottom-grid{grid-template-columns:1fr;gap:15px;margin-top:22px}.panel{padding:22px;border-radius:15px}.empty-page{padding:30px 20px;min-height:320px}.empty-page h2{font-size:21px}.empty-page p{font-size:12px}.workspace-footer{padding:15px 20px 145px;display:block;font-size:9px}.workspace-footer span{display:block;margin:4px 0}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);z-index:20;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:4px}.mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;color:var(--muted);min-height:46px;border-radius:9px}.mobile-nav svg{width:20px;height:20px}.mobile-nav a[aria-current=page]{color:var(--accent);background:var(--soft)}.eva-button{bottom:calc(81px + env(safe-area-inset-bottom));right:20px;padding:13px 18px;font-size:12px}.eva-button svg{width:20px;height:20px}.side-dialog{inset:8px;width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 16px);padding:23px}.side-dialog .context-chip{margin-bottom:35px}.menu-dialog{padding:22px;max-height:83dvh}.notice{bottom:calc(146px + env(safe-area-inset-bottom));width:90vw;font-size:12px}.device-item{flex-wrap:wrap}.device-item .device-info{min-width:160px}.button-row>*{flex:1}.login-dialog{padding:23px}.profile-grid{gap:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Shared forms for desktop and phone: the same fields and permissions. */
button,input,select,textarea{font:inherit}select,textarea{color:var(--ink);max-width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;align-items:start}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:550;min-width:0}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #bdcdc1;border-radius:8px;background:white;color:var(--ink);font-size:14px;min-height:42px}.field small{font-size:11px;font-weight:400;color:var(--muted)}.form-grid>.form-error,.form-grid>.button-row,.form-grid>p,.form-grid>.full-width{grid-column:1/-1}.form-grid .button-row{margin-top:0}.form-grid input:disabled,.form-grid select:disabled{background:var(--bg);color:var(--muted)}.section-gap,.password-panel{margin-top:24px}.employee-list{display:grid;gap:16px}.employee-card h3{overflow-wrap:anywhere}.employee-card .panel-header{flex-wrap:wrap}.employee-card summary{cursor:pointer;font-size:13px;color:var(--accent)}.employee-card .form-grid{max-width:760px}.field input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.field-check{display:flex;gap:9px;align-items:center;font-size:12px}.object-list{display:grid;gap:14px}.object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.object-card h2,.object-card h3{overflow-wrap:anywhere}.object-card p{color:var(--muted);font-size:13px}.search-row{display:flex;gap:12px;margin-bottom:22px;flex-wrap:wrap}.search-row input{flex:1;min-width:150px;padding:12px;border:1px solid #bdcdc1;border-radius:8px}.object-sections{display:grid;gap:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted);font-weight:550}.status-chip{display:inline-block;background:var(--soft);padding:5px 9px;border-radius:7px;font-size:11px}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.data-grid dt{color:var(--muted);font-size:11px}.data-grid dd{margin:6px 0 0;overflow-wrap:anywhere;font-size:14px}.object-card-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.form-grid fieldset{grid-column:1/-1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px}.form-grid legend{font-size:13px;padding:0 8px}textarea{resize:vertical}select:focus-visible,textarea:focus-visible{outline:3px solid #88bba3;outline-offset:1px}
@media(max-width:760px){.form-grid,.object-grid,.data-grid{grid-template-columns:1fr}.field input:not([type=checkbox]),.field select,.field textarea{font-size:16px}.panel-header,.object-card-header{flex-wrap:wrap}.search-row>*{width:100%}.form-grid .button-row>*{width:100%}.employee-card .button-row>*{flex-basis:100%}}
.form-grid dt{font-size:11px;font-weight:450;color:var(--muted)}.form-grid dd{margin:0;font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}#view>.panel+.panel{margin-top:20px}

.budget-evidence-code{overflow-wrap:anywhere}

/* Financial copy: separate plan, bank and unverified documentary closing. */
.expenses-panel{min-width:0}.expense-heading{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.expense-heading h2{font-size:19px}.expense-heading p{margin-top:6px;line-height:1.6}.expense-heading button{flex:none}.expense-explanation{font-size:12px;line-height:1.7;color:var(--muted);margin-top:18px;max-width:880px}.expense-filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(170px,1fr) auto;align-items:end;gap:12px;margin-top:22px}.expense-filters button{min-height:42px}.expense-load-status{margin-top:18px;font-size:12px;color:var(--muted);min-height:20px}.expense-result{margin-top:12px}.expense-snapshot{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:16px;line-height:1.6;overflow-wrap:anywhere}.expense-snapshot p{margin-top:5px}.expense-snapshot strong{font-size:13px}.expense-snapshot summary{font-size:11px;margin-top:10px;cursor:pointer;color:var(--accent)}.expense-snapshot-stale{border-color:#dbc29a;background:#fff9eb}.expense-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.expense-total{display:flex;flex-direction:column;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.expense-total strong{font-size:21px;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.expense-total p{line-height:1.5}.expense-warning-label,.expense-copy-label{font-size:10px;line-height:1.5;padding:4px 8px;border-radius:6px;display:inline-block;align-self:flex-start}.expense-warning-label{color:#78531d;background:#fff0cf}.expense-copy-label{color:var(--muted);background:var(--bg)}.expense-summary-note{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 10px}.expense-list{display:grid;gap:12px;margin-top:18px}.expense-row{border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0;overflow-wrap:anywhere}.expense-row-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.expense-row-heading>div{min-width:0}.expense-row h3{font-size:14px;line-height:1.5}.expense-row-heading p{margin-top:4px;line-height:1.6}.expense-row-heading>span{flex:none}.expense-row-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.expense-row-values dt{font-size:11px;color:var(--muted)}.expense-row-values dd{margin:6px 0 0;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}.expense-kind-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px}.expense-details{border-top:1px solid var(--line);padding-top:12px}.expense-details>summary{color:var(--accent);font-size:12px;cursor:pointer;line-height:1.6}.expense-details-body{padding-top:15px;font-size:12px;line-height:1.7}.expense-details-body h4{font-size:13px;margin:20px 0 8px}.expense-details-body .data-grid{margin:0 0 12px;gap:12px}.expense-details-body .data-grid dd{font-size:12px}.expense-reasons{padding-left:20px;margin:8px 0 0}.expense-reasons li+li{margin-top:7px}.expense-arithmetic{border-left:2px solid var(--line);padding-left:14px;margin-top:12px}.expense-arithmetic>p{font-weight:600;margin-bottom:10px}.expense-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.expense-pagination button{min-width:80px}.expense-pagination button:disabled{cursor:default}.expense-empty{padding:22px 0;font-size:13px;line-height:1.7;color:var(--muted)}.expense-result>.form-error{margin-bottom:15px}
@media(max-width:1000px){.expense-totals{grid-template-columns:1fr}.expense-total strong{font-size:22px}.expense-row-values{grid-template-columns:1fr}.expense-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.expense-filters>.field:first-child{grid-column:1/-1}}
@media(max-width:760px){.expenses-panel{padding:20px}.expense-heading{flex-wrap:wrap}.expense-heading button{width:100%}.expense-row{padding:15px}.expense-row-heading{flex-wrap:wrap}.expense-filters{grid-template-columns:1fr}.expense-filters>.field:first-child{grid-column:auto}.expense-pagination{flex-wrap:wrap}.expense-pagination>span{order:-1;width:100%;text-align:center}.expense-pagination button{flex:1}.expense-details>summary{font-size:13px}}

/* Today: the approved Claude card hierarchy, scoped to the portfolio. */
.today-heading{align-items:flex-start}.today-date{display:block}.today-toolbar{align-items:flex-start;flex-wrap:wrap}.today-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.today-controls label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer}.today-controls input{width:18px;height:18px;accent-color:#1f5f4b}.today-controls .text-button{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:7px}.today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.today-object-card{--today-ink:#1b2430;--today-muted:#5b6572;--today-line:#e3e7ed;--today-color:#65717d;--today-tint:#f0f2f5;display:flex;flex-direction:column;min-width:0;gap:9px;text-align:left;border:1px solid var(--today-line);border-top:3px solid var(--today-color);border-radius:12px;background:#fff;padding:18px;color:var(--today-ink);overflow-wrap:anywhere;transition:box-shadow .15s}.today-object-card:hover{box-shadow:0 5px 18px #1b24300b}.today-object-card:focus-visible{outline:3px solid #80b79d;outline-offset:3px}.today-state--gray{--today-color:#65717d;--today-tint:#f0f2f5}.today-state--yellow{--today-color:#8b5c13;--today-tint:#fbf2df}.today-state--red{--today-color:#a13e36;--today-tint:#fff0ee}.today-state--green{--today-color:#1f5f4b;--today-tint:#e6f0ea}.today-object-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:5px}.today-object-mark{display:grid;place-items:center;min-width:36px;min-height:36px;max-width:100%;padding:6px 9px;flex-shrink:0;border-radius:10px;background:#e6f0ea;color:#1f5f4b;font-size:13px;font-weight:600;overflow-wrap:anywhere}.today-state-label{font-size:11px;line-height:1.5;padding:4px 8px;border-radius:6px;color:var(--today-color);background:var(--today-tint)}.today-object-card h3{font-size:17px;line-height:1.4;font-weight:650}.today-hidden-label{font-size:11px;color:var(--today-muted)}.today-object-values{margin:3px 0 0;display:grid;gap:8px}.today-object-values>div{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px}.today-object-values dt{color:var(--today-muted)}.today-object-values dd{margin:0;font-weight:600;text-align:right;max-width:60%;font-variant-numeric:tabular-nums}.today-object-values dd small{display:block;color:var(--today-muted);font-size:10px;font-weight:400;margin-top:4px}.today-reasons{font-size:12px;line-height:1.65;padding-left:17px;margin:4px 0;color:var(--muted)}.today-reasons li+li{margin-top:5px}.today-object-footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--today-line);font-size:11px;line-height:1.65;color:var(--today-muted)}.today-object-footer svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}.today-freshness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px;padding:22px 0;font-size:12px;color:var(--muted)}.today-freshness p{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.today-freshness strong{font-size:11px;font-weight:500}.today-freshness span{color:var(--ink)}.today-attention{border-radius:12px}.today-attention>.section-header{margin-top:0}.today-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.today-attention-item{min-width:0;padding-top:15px;border-top:1px solid var(--line)}.today-attention-item>a{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--accent);min-height:44px}.today-attention-item h3{font-size:14px;line-height:1.5}.today-attention-item svg{width:16px;height:16px;flex-shrink:0}.today-footnote,.today-coverage{font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.today-coverage{margin-top:18px}.today-empty{border-radius:12px;padding:25px}.today-empty h2{font-size:18px}.today-empty p{margin:10px 0 15px;color:var(--muted);font-size:13px;line-height:1.7}.today-loading{border-radius:12px;font-size:13px;color:var(--muted)}
@media(max-width:1180px){.today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-date{display:block}.today-heading{flex-wrap:wrap}}
@media(max-width:760px){.today-grid{grid-template-columns:1fr;gap:12px}.today-object-card{padding:16px}.today-object-card h3{font-size:16px}.today-freshness,.today-attention-list{grid-template-columns:1fr}.today-heading{gap:12px}.today-date{font-size:11px}.today-controls{justify-content:flex-start;gap:8px 14px}.today-controls label{width:100%}.today-attention{padding:16px}.today-attention>.section-header{align-items:flex-start;flex-wrap:wrap}.today-attention>.section-header span{font-size:11px}.today-freshness{padding:20px 0;gap:14px}.today-empty{padding:18px}}

/* Shared plan: server dates on desktop; the same work cards on phones. */
.schedule-timeline{margin-top:22px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.schedule-timeline-svg{width:100%;min-width:760px;height:auto;display:block;color:var(--ink);stroke:none;fill:none}.schedule-timeline-svg text{font:11px Inter,ui-sans-serif,system-ui,sans-serif;fill:var(--muted)}.schedule-bar-plan{fill:#a6b0b9}.schedule-bar-forecast{fill:#b88634}.schedule-fact-point{fill:#1f5f4b}.schedule-gridline{stroke:#e3e7ed;stroke-width:1}.schedule-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;color:var(--muted);margin-bottom:14px}.schedule-work-card{border-radius:12px;min-width:0;overflow-wrap:anywhere}.schedule-progress{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.schedule-progress h4,.schedule-import h4{font-size:14px;margin:12px 0}.schedule-progress .data-grid{margin:16px 0}.schedule-progress dd small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.schedule-evidence{margin:14px 0;padding:12px;border-radius:10px;background:#f2f4f7;font-size:12px;line-height:1.7}.schedule-evidence p{margin:5px 0}.schedule-evidence small{color:var(--muted)}.schedule-warning{font-size:12px;line-height:1.7;color:#8b5c13;margin:12px 0}.schedule-history{font-size:12px;margin-top:12px}.schedule-history summary{cursor:pointer;color:var(--accent);min-height:36px}.schedule-history article{padding:12px 0;border-top:1px solid var(--line);line-height:1.7}.schedule-import{margin-top:20px;min-width:0}.schedule-import>p,.schedule-import form>p{font-size:12px;line-height:1.7;margin:12px 0}.schedule-import form{margin-top:18px}.schedule-import input[type=file]{width:100%;max-width:100%}.schedule-preview-scroll{overflow-x:auto;margin:15px 0;border:1px solid var(--line);border-radius:10px}.schedule-preview-table{width:100%;min-width:850px;border-collapse:collapse;font-size:12px}.schedule-preview-table caption{text-align:left;font-size:12px;color:var(--muted);padding:12px}.schedule-preview-table th,.schedule-preview-table td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:9px;max-width:240px;overflow-wrap:anywhere}.schedule-preview-table th{background:#f2f4f7;font-weight:600}.schedule-import-errors,.schedule-import-warnings{padding:12px 16px;border-radius:10px;margin:15px 0;font-size:12px;line-height:1.7}.schedule-import-errors{background:#fff0ee;color:#a13e36}.schedule-import-warnings{background:#fbf2df;color:#8b5c13}.schedule-import-errors ul,.schedule-import-warnings ul{padding-left:17px;margin:8px 0}
@media(max-width:760px){.schedule-timeline{display:none}.schedule-work-card{padding:16px}.schedule-progress .button-row>*{flex-basis:100%}.schedule-preview-table{font-size:11px}.schedule-import .button-row>*{flex-basis:100%}.schedule-evidence{padding:10px}}

/* Common-header notifications share the approved card palette and four-tab shell. */
.notification-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #e3e7ed;border-radius:12px;background:#fff;color:#1f5f4b}.notification-bell:hover{background:#e6f0ea}.notification-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border:2px solid white;border-radius:20px;background:#a13e36;color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center}.notifications-dialog{width:480px;color:#1b2430}.notifications-dialog .dialog-header{margin-bottom:15px;flex:none}.notification-intro,.notification-footnote,.notification-limit{font-size:12px;line-height:1.65;color:#5b6572}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;font-size:12px;color:#5b6572}.notification-toolbar .text-button{min-height:44px}.notification-list{display:grid;gap:12px;list-style:none;padding:0;margin:15px 0}.notification-item{display:flex;gap:12px;align-items:flex-start;border:1px solid #e3e7ed;border-radius:12px;padding:16px;background:#fff;min-width:0}.notification-unacknowledged{border-left:3px solid #1f5f4b}.notification-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0f2f5;color:#65717d;flex:none}.notification-unacknowledged .notification-symbol{background:#e6f0ea;color:#1f5f4b}.notification-body{min-width:0;flex:1;overflow-wrap:anywhere}.notification-body h3{font-size:14px}.notification-device{font-size:13px;line-height:1.6;margin:7px 0 3px}.notification-time,.notification-caption{font-size:11px;line-height:1.65;color:#5b6572}.notification-caption{margin-top:6px}.notification-acknowledged{font-size:11px;line-height:1.65;color:#1f5f4b;margin-top:10px}.notification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px}.notification-actions button{min-height:44px}.notification-actions .text-button{font-size:11px;text-align:left}.notification-footnote{border-top:1px solid #e3e7ed;padding-top:15px;margin-top:20px;font-size:11px}.notification-empty{font-size:13px;line-height:1.65;padding:20px 0;color:#5b6572}.notification-limit{background:#f2f4f7;padding:10px;border-radius:8px}.schedule-customer-milestones{border:1px solid var(--line);border-radius:12px;background:#f2f4f7;padding:16px;margin-top:18px}.schedule-customer-milestones h3{font-size:13px}.schedule-customer-milestones p{font-size:12px;color:var(--muted);margin:8px 0 12px}.schedule-customer-milestones button:disabled{cursor:default}
@media(max-width:760px){.top-actions{gap:10px}.notification-bell{width:38px;height:38px;border-radius:10px}.notifications-dialog{width:calc(100% - 16px);padding:20px}.notification-item{padding:13px;gap:10px}.notification-actions{align-items:stretch}.notification-actions .secondary-button{min-width:100px}.notification-actions .text-button{flex-basis:100%;justify-content:flex-start}.notifications-dialog .dialog-header h2{font-size:20px}}
@media(max-width:420px){.topbar .connection #connection-text{display:none}.topbar .connection{padding:12px 5px}.topbar .location{min-width:0}.topbar #breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Object card: seven sections from the approved mockup, within the common shell. */
.object-card-layout{min-width:0}.object-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.object-hidden-banner{padding:12px 15px;border:1px solid #e3e7ed;border-radius:10px;background:#f0f2f5;font-size:12px;line-height:1.65;margin:15px 0;color:#5b6572}.object-desktop-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #e3e7ed;margin:24px 0 20px;padding-bottom:1px}.object-desktop-tabs button{flex:none;min-height:44px;padding:10px 14px;border-bottom:3px solid transparent;color:#5b6572;font-size:12px;border-radius:8px 8px 0 0}.object-desktop-tabs button[aria-selected=true]{color:#1f5f4b;background:#e6f0ea;border-bottom-color:#1f5f4b;font-weight:650}.object-desktop-tabs button:hover{background:#f2f4f7}.object-mobile-tabs{display:none}.object-tab-panel{min-width:0;outline:none}.object-overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}.object-overview-stack{display:grid;gap:18px;min-width:0}.object-tab-panel .panel{border-radius:12px;min-width:0}.object-tab-panel .panel>h2{font-size:17px}.object-tab-panel .data-grid{margin:18px 0}.object-tab-panel .data-grid dd{overflow-wrap:anywhere}.object-tab-links{display:flex;gap:20px;flex-wrap:wrap}.object-missing{font-size:13px;color:#5b6572;line-height:1.7;margin:14px 0}.object-tab-empty p{font-size:13px;color:#5b6572;margin-top:12px;max-width:670px;line-height:1.7}.object-team-list{padding:0;margin:16px 0;list-style:none}.object-team-list li{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-top:1px solid #e3e7ed;overflow-wrap:anywhere}.object-team-list strong{font-size:13px;font-weight:600}.object-team-list span{font-size:12px;color:#5b6572}.object-team-list small{font-size:11px;color:#5b6572;line-height:1.65}.object-budget-source{font-size:12px;line-height:1.7;margin:12px 0;color:#5b6572;overflow-wrap:anywhere}.object-budget-state{display:inline-block;background:#e6f0ea;color:#1f5f4b;border-radius:6px;padding:5px 8px;font-size:11px;margin-top:12px}
@media(max-width:1100px){.object-overview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.object-desktop-tabs{display:none}.object-mobile-tabs{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5b6572;margin:20px 0 18px}.object-mobile-tabs select{width:100%;min-height:44px;border:1px solid #bdcdc1;border-radius:9px;background:#fff;color:#1b2430;padding:10px 12px;font-size:14px}.object-card-actions{gap:8px}.object-card-actions button{min-height:44px}.object-card-actions .primary-button{flex:1}.object-overview-stack{gap:14px}.object-tab-panel .panel{padding:18px}.object-tab-panel .panel>h2{font-size:16px}}

.object-budget-unknown{background:#f0f2f5;color:#65717d}.object-team-edit-row{display:grid;grid-template-columns:minmax(130px,1fr) repeat(2,minmax(180px,1.4fr)) auto;gap:14px;align-items:end;padding:18px 0;border-bottom:1px solid var(--line)}.object-team-edit-row>strong{font-size:13px;align-self:center;overflow-wrap:anywhere}.object-team-edit-row .field{align-self:start}
@media(max-width:1000px){.object-team-edit-row{grid-template-columns:1fr 1fr}.object-team-edit-row>strong{grid-column:1/-1}.object-team-edit-row>button{justify-self:start}}
@media(max-width:760px){.object-team-edit-row{grid-template-columns:1fr}.object-team-edit-row>strong{grid-column:auto}}

/* Independent foundation check for the future messenger client. */
.messenger-connection{border-radius:12px;max-width:780px}.messenger-status h2{font-size:20px;max-width:650px}.messenger-status p{font-size:13px;line-height:1.75;color:#5b6572;max-width:650px;margin-top:12px}.messenger-status-prepared{border-left:3px solid #1f5f4b;padding-left:15px}.messenger-status-waiting,.messenger-status-stopped{border-left:3px solid #8b5c13;padding-left:15px}.messenger-status-error{border-left:3px solid #a13e36;padding-left:15px}.messenger-config{border-top:1px solid #e3e7ed;margin-top:24px;padding-top:16px;font-size:12px;color:#5b6572;line-height:1.7}.messenger-config summary{cursor:pointer;min-height:36px}.messenger-config p{margin:6px 0;overflow-wrap:anywhere}
@media(max-width:760px){.messenger-connection{padding:20px}.messenger-status h2{font-size:18px}.messenger-connection .button-row button{width:100%}}

/* The shell owns connection status; the reviewed adapter owns only its host. */
.messenger-adapter-root,.messenger-adapter-host{min-width:0;max-width:100%}.messenger-adapter-root{overflow-wrap:anywhere}.messenger-connection-ready{max-width:none;padding:14px 18px}.messenger-connection-ready .messenger-status h2{font-size:14px}.messenger-company-note h2{font-size:16px}.messenger-company-note p{margin-top:10px}
@media(max-width:760px){.messenger-adapter-root.section-gap{margin-top:16px}.messenger-connection-ready{padding:12px 15px}.messenger-company-note{padding:18px}}

/* Educational data stays visibly separate from the real portfolio. */
.demo-badge { display:inline-flex; align-items:center; border:1px solid #9c7a30; border-radius:6px; background:#fff7df; color:#71551c; padding:3px 7px; font-size:11px; font-weight:800; line-height:1.3; letter-spacing:.04em; vertical-align:middle; }
.today-demo-section { margin-top:28px; padding-top:22px; border-top:2px dashed #cdbb91; }
.object-demo-banner { margin:0 0 16px; padding:12px 14px; border:1px solid #d5c59e; border-radius:10px; background:#fffaf0; color:#58471e; line-height:1.55; }
.object-demo-banner .demo-badge, .object-demo-note .demo-badge { margin-right:8px; }
.object-demo-note { overflow-wrap:anywhere; }
.notification-demo-section { margin-top:18px; padding-top:14px; border-top:2px dashed #cdbb91; }


/* The approved common header uses the same four entries on desktop and phone. */
#workspace-content{min-width:0;flex:1}
.topbar{min-height:76px;height:auto;padding-top:12px;padding-bottom:12px;gap:24px}
.topbar .location{display:none}
.top-actions{gap:16px}
.account-button{max-width:175px}
#messenger-view{outline:none}
#messenger-view[inert]{pointer-events:none}
.mobile-nav button[aria-current=page]{color:var(--accent);background:var(--soft)}
@media(max-width:1180px){.topbar{gap:16px}.connection #connection-text{display:none}.account-button span{display:none}.desktop-nav a,.desktop-nav button{padding:10px 12px}.top-actions{gap:12px}}
@media(max-width:900px){.brand span{display:none}.topbar{gap:14px}.desktop-nav{gap:2px}}
@media(max-width:760px){.desktop-nav,.topbar .brand{display:none}.topbar .location{display:flex}.topbar{height:65px;min-height:65px;padding-top:0;padding-bottom:0;gap:14px}.top-actions{gap:10px}}


/* Object list cards have text rows, unlike the icon-and-title entry tiles. */
.entry-card[data-object-id]{min-width:0;overflow-wrap:anywhere}
.entry-card[data-object-id] h2{font-size:18px;line-height:1.45}
[data-object-form="search"]{align-items:end;gap:12px;margin-top:0;margin-bottom:18px}
[data-object-form="search"]>.field{flex:1 1 250px}
[data-object-form="search"]>label{display:flex;align-items:center;gap:8px;min-height:44px;flex:0 1 auto;font-size:13px}
[data-object-form="search"]>label input{width:18px;height:18px;flex:none;accent-color:var(--accent)}
[data-object-form="search"]>button{flex:0 0 auto}
@media(max-width:760px){
  .entry-card[data-object-id]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px}
  .entry-card[data-object-id] h2{font-size:17px}
  .entry-card[data-object-id] p{margin:0;font-size:12px}
  .entry-card[data-object-id] small{font-size:11px;line-height:1.6;color:var(--muted)}
  [data-object-form="search"]>.field{flex:1 1 100%}
  [data-object-form="search"]>label{flex:1 1 170px}
}


/* Expense scales keep evidence and unknown values separate. */
.expense-financial-state{border-radius:9px;padding:11px 13px;background:#f0f2f5;color:#5b6572;margin:14px 0;font-size:12px;line-height:1.6}
.expense-financial-state strong{font-size:13px}.expense-financial-state p{margin-top:4px}
.expense-state-paid_closed{background:#e6f0ea;color:#1f5f4b}
.expense-state-partial,.expense-state-paid_unclosed,.expense-state-closed_unpaid{background:#fbf2df;color:#78531d}
.expense-row-values dd small{display:block;font-size:11px;line-height:1.65;font-weight:400;color:var(--muted);margin-top:7px}
.expense-measure-state{font-weight:600!important}.expense-measure-reason{overflow-wrap:anywhere}
.expense-gaps{margin-top:20px}.expense-gaps>h3{font-size:15px}.expense-gaps>p{margin-top:7px}
.expense-gap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.expense-gap{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0}
.expense-gap>strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.expense-over-nominal{padding:13px 15px;border-left:3px solid #b88634;background:#fff9eb;border-radius:8px;font-size:12px;line-height:1.6;margin-top:14px}
.expense-over-nominal>p{margin-top:5px}.expense-filter-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:14px}
@media(max-width:760px){.expense-gap-grid{grid-template-columns:1fr}.expense-row-values{gap:17px}.expense-financial-state{padding:10px 12px}}


/* Constraints and questions stay inside the existing object overview. */
.issues-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:12px 0}
.issues-heading h2{font-size:19px}.issues-heading p{margin-top:6px}
.issues-status{font-size:13px;line-height:1.6;min-height:1.5em;margin-bottom:10px}
.issues-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:14px 0 22px}
.issues-section{min-width:0}.issues-section .section-header{gap:12px;align-items:flex-start;flex-wrap:wrap}
.issues-section h3{font-size:16px}.issue-list{display:grid;gap:12px;margin-top:16px}
.issue-row{border:1px solid var(--line);border-radius:12px;padding:15px;min-width:0;overflow-wrap:anywhere}
.issue-row-closed{background:#f7f8f7}.issue-row h4{font-size:14px;line-height:1.6;margin:8px 0;white-space:pre-wrap}
.issue-state{font-size:11px;color:var(--muted);font-weight:600}.issue-meta{font-size:12px;line-height:1.7;color:var(--muted);margin-top:5px}
.issue-decision{padding:12px;background:var(--soft);border-radius:9px;margin-top:12px;font-size:12px;line-height:1.7}
.issue-decision p{margin-top:5px;white-space:pre-wrap}.issue-decision small{display:block;color:var(--muted);margin-top:7px}
.issue-row-actions{margin-top:12px;gap:8px}.issue-row-actions button{font-size:12px}
.issue-form{border:1px solid var(--line);border-radius:12px;background:#fafbf9;padding:16px;margin:16px 0;min-width:0}
.issue-form h4{margin-bottom:14px}.issue-form .field{margin-top:12px}
.issue-form textarea{width:100%;min-height:88px;resize:vertical;border:1px solid var(--line);border-radius:9px;background:white;padding:10px 12px;font:inherit;line-height:1.6;color:var(--ink)}
.issue-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:900px){.issues-grid{grid-template-columns:1fr}.issues-heading{flex-wrap:wrap}}
@media(max-width:760px){.issue-form,.issue-row{padding:13px}.issue-row-actions button{flex:1 1 140px}}


/* Administrative completeness: compact desktop table, labelled mobile cards. */
.completeness-toolbar .button-row{flex-wrap:wrap;margin-top:14px}
.completeness-legend{font-size:12px;line-height:2;margin:18px 0}
.completeness-state{display:inline-block;border-radius:6px;padding:3px 6px;font-size:11px;font-weight:600;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.completeness-state-present{color:#1f5f4b;background:#e6f0ea}
.completeness-state-missing{color:#78531d;background:#fbf2df}
.completeness-state-unknown{color:#586575;background:#edf0f4}
.completeness-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.completeness-totals>div{display:flex;flex-direction:column;gap:8px;padding:16px;background:white;border:1px solid var(--line);border-radius:12px;min-width:0}
.completeness-totals strong{font-size:25px;font-variant-numeric:tabular-nums}.completeness-totals span{font-size:11px;color:var(--muted);line-height:1.5}
.completeness-selection,.completeness-source{margin:10px 0;line-height:1.7}
.completeness-table{width:100%;table-layout:fixed;border-collapse:collapse;background:white;margin:18px 0;font-size:12px}
.completeness-table caption{text-align:left;font-size:16px;font-weight:600;padding:12px 0}
.completeness-table th,.completeness-table td{border:1px solid var(--line);padding:11px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.completeness-table thead th{font-size:11px;font-weight:600;background:#f6f8f5;line-height:1.6}
.completeness-table thead th:first-child{width:17%}.completeness-table thead th:nth-child(2){width:10%}
.completeness-object a{font-size:13px;line-height:1.6}.completeness-object>span{display:block;width:fit-content;margin-top:8px}
.completeness-table small{display:block;font-size:10px;font-weight:400;line-height:1.65;margin-top:7px;color:var(--muted)}
.completeness-priority strong{font-size:22px;font-variant-numeric:tabular-nums}.completeness-educational{display:block;font-size:10px;margin-top:7px;color:var(--muted)}
.completeness-criteria{margin-top:20px}.completeness-criteria summary{font-size:14px;font-weight:600;cursor:pointer}.completeness-criteria dl{margin-top:15px}
.completeness-demo{margin:26px 0}.completeness-demo>h2{font-size:19px;margin-bottom:9px}
.completeness-message p,.completeness-empty p{line-height:1.7;margin:12px 0}
@media(max-width:760px){
 .completeness-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
 .completeness-table,.completeness-table tbody{display:block;width:100%}
 .completeness-table{background:transparent;border:0}
 .completeness-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .completeness-table tr{display:block;border:1px solid var(--line);border-radius:14px;background:white;margin:14px 0;padding:12px}
 .completeness-table th,.completeness-table td{display:block;width:100%;border:0;padding:10px 3px}
 .completeness-table td{border-top:1px solid var(--line)}
 .completeness-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;line-height:1.6;margin-bottom:7px}
 .completeness-table small{font-size:11px}.completeness-object a{font-size:16px}
 .completeness-priority strong{font-size:22px}.completeness-table caption{display:block;font-size:16px}
}

/* Catalogue import stays within the administrative layout. */
.catalog-import .button-row{flex-wrap:wrap;margin-top:14px}
.catalog-import .panel{margin:16px 0}
.catalog-import .field{min-width:0}
.catalog-import .field input,.catalog-import .field select{max-width:100%}
.catalog-import-file{display:block;font-size:12px;overflow-wrap:anywhere;margin:10px 0;line-height:1.6}
.catalog-import-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}
.catalog-import-summary>div{background:white;border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}
.catalog-import-summary strong{display:block;font-size:23px;font-variant-numeric:tabular-nums}
.catalog-import-summary span{display:block;font-size:11px;line-height:1.6;margin-top:6px;color:var(--muted)}
.catalog-import-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;background:white}
.catalog-import-table th,.catalog-import-table td{padding:12px;border:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.catalog-import-table thead th{background:#f6f8f5;font-size:11px}
.catalog-import-table td small,.catalog-import-table th small{display:block;margin-top:8px;line-height:1.6;color:var(--muted)}
.catalog-import-table select{width:100%;min-width:0;font-size:12px}
.catalog-import-state{display:inline-block;font-size:11px;padding:4px 7px;border-radius:6px;background:#edf0f4;color:#586575}
.catalog-import-state-create,.catalog-import-state-unchanged{background:#e6f0ea;color:#1f5f4b}
.catalog-import-state-update,.catalog-import-state-conflict{background:#fbf2df;color:#78531d}
.catalog-import-errors{padding-left:20px;line-height:1.7;overflow-wrap:anywhere}
.catalog-import-source{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.catalog-import-result{line-height:1.7}
@media(max-width:760px){
 .catalog-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalog-import-table,.catalog-import-table tbody{display:block;width:100%}
 .catalog-import-table{background:transparent;border:0}
 .catalog-import-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .catalog-import-table tr{display:block;border:1px solid var(--line);border-radius:14px;background:white;margin:14px 0;padding:12px}
 .catalog-import-table th,.catalog-import-table td{display:block;width:100%;border:0;padding:10px 3px}
 .catalog-import-table td{border-top:1px solid var(--line)}
 .catalog-import-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;line-height:1.6;margin-bottom:7px}
}

/* Personal decision queue: the same cards on desktop and mobile. */
.decisions-view .panel{margin:16px 0}
.decisions-toolbar .button-row{flex-wrap:wrap;margin:8px 0}
.decisions-toolbar [aria-pressed="true"]{border-color:var(--green);background:#e6f0ea;color:#1f5f4b}
.decisions-toolbar p{line-height:1.65;margin-top:12px}
.decision-card{min-width:0;overflow-wrap:anywhere}
.decision-card-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.decision-state{display:inline-block;font-size:11px;font-weight:600;padding:5px 8px;border-radius:6px;background:#fbf2df;color:#78531d}
.decision-resolved .decision-state{background:#e6f0ea;color:#1f5f4b}
.decision-withdrawn .decision-state{background:#edf0f4;color:#586575}
.decision-source{font-size:12px;color:var(--muted)}
.decision-subject{font-size:14px;font-weight:600;margin:8px 0;line-height:1.6}
.decision-text{font-size:15px;line-height:1.75;white-space:pre-wrap;margin:16px 0}
.decision-caption,.decision-delivery{font-size:11px;line-height:1.65;color:var(--muted);margin:9px 0}
.decision-outcome,.decision-uncertain{background:#f6f8f5;border-radius:10px;padding:16px;margin:16px 0;line-height:1.7}
.decision-outcome h3{font-size:15px;margin-bottom:7px}
.decision-actions,.decision-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.decision-actions button,.decision-links button{white-space:normal;text-align:left;min-width:0;max-width:100%}
.decisions-demo{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}
.decisions-demo>h2{font-size:19px;margin:10px 0}.decisions-demo>.small{line-height:1.7}
.decisions-empty p{margin-top:10px;line-height:1.7}
@media(max-width:600px){
 .decision-actions{display:grid;grid-template-columns:1fr}
 .decision-actions button{width:100%;text-align:center}
 .decision-card-header{gap:8px}
 .decision-text{font-size:14px}
 .decisions-toolbar .button-row>button{font-size:12px;white-space:normal}
 .decision-uncertain button{width:100%;white-space:normal}
}

.tasks-view .panel{margin:16px 0}
.tasks-toolbar .button-row,.task-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.tasks-toolbar [aria-pressed="true"]{background:#e6f0ea;color:#1f5f4b;border-color:var(--green)}
.task-card{min-width:0;overflow-wrap:anywhere}
.task-card-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.task-state{font-size:11px;padding:5px 8px;border-radius:6px;background:#fbf2df;color:#78531d}
.task-completed .task-state{background:#e6f0ea;color:#1f5f4b}
.task-returned .task-state{background:#f9ebe6;color:#8b4b35}
.task-kind,.task-caption{font-size:11px;line-height:1.65;color:var(--muted)}
.task-text{white-space:pre-wrap;font-size:15px;line-height:1.75;margin:18px 0}
.task-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.task-meta dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.task-meta dd{margin:0;font-size:13px;line-height:1.6}
.task-form{margin:18px 0;min-width:0}
.task-form h2,.task-form h3{margin-bottom:18px}
.task-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.task-form .field{display:grid;gap:7px;min-width:0;margin-bottom:16px}
.task-form input,.task-form select,.task-form textarea{width:100%;min-width:0;max-width:100%}
.task-form textarea{resize:vertical;line-height:1.6}
.task-form .button-row{display:flex;gap:12px;flex-wrap:wrap}
.task-history{margin:24px 0;border-top:1px solid var(--line);padding-top:18px}
.task-history ol{padding-left:20px}
.task-history li{padding:12px 0;font-size:13px;line-height:1.7}
.task-history-text{white-space:pre-wrap;margin-top:7px}
.task-uncertain{line-height:1.7}
.tasks-demo{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}
.tasks-demo h2{font-size:19px;margin:10px 0}
.notification-task-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){
 .task-form-grid,.task-meta{grid-template-columns:1fr}
 .task-actions{display:grid;grid-template-columns:1fr}
 .task-actions button,.task-form .button-row button,.task-uncertain button{width:100%;white-space:normal}
 .tasks-toolbar .button-row button{font-size:12px;white-space:normal}
 .task-text{font-size:14px}
}

.incoming-view .panel{margin:16px 0}
.incoming-toolbar .button-row,.incoming-row .button-row,.incoming-batch .button-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.incoming-toolbar [aria-pressed="true"]{background:#e6f0ea;color:#1f5f4b;border-color:var(--green)}
.incoming-source p,.incoming-batch p,.incoming-receipt p,.incoming-uncertain p{line-height:1.7;margin:12px 0}
.incoming-caption{font-size:11px;color:var(--muted);line-height:1.65;margin:9px 0}
.incoming-row{min-width:0;overflow-wrap:anywhere}
.incoming-row-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.incoming-select{display:flex;align-items:center;gap:8px;font-size:12px}
.incoming-select input{width:18px;height:18px;flex:0 0 auto}
.incoming-kind{font-size:11px;padding:5px 8px;border-radius:6px;background:#edf0f4;color:#586575}
.incoming-row h3{font-size:17px;line-height:1.6}
.incoming-amount{font-size:24px;font-weight:600;line-height:1.6;margin:16px 0}
.incoming-reason,.incoming-suggestions,.incoming-assigned,.incoming-excluded{font-size:13px;line-height:1.7;margin:12px 0}
.incoming-excluded{color:#78531d}
.incoming-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.incoming-batch .field{display:grid;gap:8px;min-width:0;margin:16px 0}
.incoming-batch select,.incoming-batch textarea{width:100%;min-width:0;max-width:100%}
.incoming-history{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.incoming-history ol{padding-left:20px}
.incoming-history li{font-size:13px;line-height:1.7;margin:14px 0}
.incoming-demo{border-top:1px solid var(--line);padding-top:20px;margin-top:28px}
.expense-income{padding:18px;border:1px solid var(--line);border-radius:12px;background:#f6f8f5;margin:18px 0}
.expense-income h3{font-size:15px;margin-bottom:10px}
.expense-income strong{display:block;font-size:24px;line-height:1.5;margin:8px 0}
.expense-income p{line-height:1.7}
@media(max-width:600px){
 .incoming-fields{grid-template-columns:1fr}
 .incoming-toolbar button,.incoming-batch button,.incoming-uncertain button{white-space:normal;font-size:12px}
 .incoming-batch .button-row button{width:100%}
 .incoming-amount,.expense-income strong{font-size:21px}
}

.closings-view .panel{margin:16px 0}
.closing-toolbar .button-row{display:flex;flex-wrap:wrap;gap:10px}
.closing-toolbar [aria-pressed="true"]{background:#e6f0ea;color:#1f5f4b;border-color:var(--green)}
.closing-row{min-width:0;overflow-wrap:anywhere}
.closing-row-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.closing-state{font-size:11px;padding:5px 8px;border-radius:6px;background:#edf0f4;color:#586575}
.closing-waiting .closing-state{background:#fbf2df;color:#78531d}
.closing-closed .closing-state{background:#e6f0ea;color:#1f5f4b}
.closing-overdue{border-color:#c97870}
.closing-overdue .closing-state{background:#fae8e6;color:#a0352c}
.closing-overdue .closing-days{color:#a0352c;font-weight:600}
.closing-row h3{font-size:17px;line-height:1.6}
.closing-title,.closing-reason,.closing-delivery,.closing-reminder{font-size:13px;line-height:1.7;margin:12px 0}
.closing-quarter,.closing-caption,.closing-summary{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0}
.closing-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.closing-meta dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.closing-meta dd{font-size:13px;line-height:1.6;margin:0}
.closing-pagination{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.closing-demo{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}
.closing-source p{line-height:1.7;margin:12px 0}
.expense-closings{padding:18px;border:1px solid var(--line);border-radius:12px;margin:18px 0;background:#fafbf9}
.expense-closings h3{font-size:15px;margin-bottom:12px}
.expense-closings-row{padding:14px 0;border-top:1px solid var(--line);line-height:1.7;overflow-wrap:anywhere}
.expense-closings-row h4{font-size:13px}
.expense-closings-row.closing-overdue{border-top-color:#c97870}
.expense-closings-row.closing-overdue .closing-days{color:#a0352c}
@media(max-width:600px){.closing-meta{grid-template-columns:1fr}.closing-toolbar button{font-size:12px;white-space:normal}.closing-row h3{font-size:16px}}

/* One financial document card, shared by Expenses and Documents. */
.document-card{min-width:0;margin-top:16px;padding:20px;border:1px solid var(--line,#dce5df);border-radius:16px;background:var(--surface,#fff)}
.document-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.document-card-heading h2,.document-card-heading h3{margin:0}
.document-card section{border-top:1px solid var(--line,#dce5df);margin-top:20px;padding-top:12px}
.document-card h4{margin:8px 0 12px}
.document-card p,.document-card dd,.document-title,.document-register-row h3{overflow-wrap:anywhere}
.document-scales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.document-scales>div{padding:12px;border-radius:10px;background:#f3f6f3}
.document-scales dt{font-size:.82rem;color:var(--muted,#617467)}
.document-scales dd{margin:8px 0;font-weight:600}
.document-table-scroll{max-width:100%;overflow:auto}
.document-lines-table{border-collapse:collapse;width:100%;min-width:760px;text-align:left;font-size:.86rem}
.document-lines-table th,.document-lines-table td{vertical-align:top;padding:10px;border-bottom:1px solid var(--line,#dce5df)}
.document-lines-table th{white-space:nowrap}
.document-lines-table td:first-child{min-width:170px;overflow-wrap:anywhere}
.document-limit,.document-unknown{padding:10px;border-radius:10px;background:#fff7e5;color:#77551c}
.document-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}
.document-search label{width:100%}
.document-search input{min-width:0;flex:1}
.document-list{display:grid;gap:16px}
.document-register-row{min-width:0;padding:16px;border:1px solid var(--line,#dce5df);border-radius:12px}
.document-register-row h3{margin:0}
.document-pages{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
@media(max-width:620px){
 .document-card{padding:12px}
 .document-scales{grid-template-columns:1fr}
 .document-search input{flex-basis:100%;width:100%}
 .document-card-heading>.secondary-button{max-width:100%}
 .document-register-row{padding:12px}
}

.document-price-basis{display:block;margin-top:6px;font-size:.75rem;color:var(--muted,#617467)}

.document-relation-status{display:block;margin-top:4px;color:var(--muted,#617467)}
