.message-layout{grid-template-columns:280px minmax(0,1fr);gap:14px;min-height:260px}
.message-layout .contacts{overflow-y:auto;min-height:0;padding:10px}
.message-layout .chat{min-height:0;min-width:0;padding:0;overflow:hidden}
.chat .chat-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin:0;min-height:58px}
.chat-head h3{margin:0}.chat-head #message-status{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48%}
.chat .chat-log{position:relative;flex:1;min-height:0;height:auto;padding:18px;gap:10px;overflow-y:auto;overflow-anchor:none}
.chat-log .bubble{width:fit-content;max-width:68%;flex:none;padding:10px 13px;white-space:normal;background:var(--stripe,#f0f4f8)}
.chat-log .bubble.mine{background:color-mix(in srgb,var(--accent,#007cb8) 12%,var(--surface,#fff))}
.bubble .bubble-person{gap:6px;margin:0 0 5px;font-size:11px}.bubble-person .avatar{width:21px;height:21px;font-size:10px}
.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.message-project{font-size:11px;margin-bottom:5px;color:var(--dim)}
.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:10px;color:var(--dim,#728399);margin-top:5px}
.message-meta .message-ticks{display:inline;font-size:11px}.message-ticks.is-read{color:var(--accent,#007cb8)}
.chat .composer{flex:none;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:7px 10px;padding:12px 16px;margin:0;align-items:end;background:var(--surface,#fff)}
.chat .composer textarea{grid-column:1;grid-row:auto;min-height:44px;height:44px;max-height:132px;resize:none;line-height:22px;padding:10px 12px}
.chat .composer select{grid-column:1/-1}.chat .composer .send-message{grid-column:2;grid-row:auto;width:44px;height:44px;min-width:44px;padding:10px;display:grid;place-items:center}
.chat .composer .composer-help{grid-column:1/-1;font-size:10px;color:var(--dim);margin:0}
@media(max-width:850px){.message-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:650px){.message-layout{grid-template-columns:1fr;grid-template-rows:90px minmax(0,1fr)}.message-layout .contacts{display:flex;overflow:auto}.chat-log .bubble{max-width:85%}}
.chat-list-head{padding:8px 6px 12px}.chat-list-head h2{font-size:20px;margin:0 0 14px}.chat-list-head input{width:100%;font-size:12px}.chat-filters{display:flex;gap:6px;margin-top:10px}.contacts .chat-filters button{width:auto;flex:1;text-align:center;padding:8px 4px;font-size:11px;border:1px solid var(--line)}.contacts [hidden]{display:none!important}
.chat-head h3{display:flex;align-items:center;gap:10px}.chat-head h3 .avatar{width:36px;height:36px}
.message-row{display:flex;align-items:flex-start;gap:9px;flex:none}.message-row.mine{flex-direction:row-reverse}.message-row>.avatar{width:30px;height:30px;margin-top:4px;flex-shrink:0}.message-row .bubble{max-width:68%}.message-row .bubble-person .avatar{display:none}.message-row.mine .bubble-person{display:none}.chat-list-head~[data-cloud-history]{font-size:10px;color:var(--dim)}
.chat-date{align-self:center;font-size:11px;color:var(--dim);padding:6px 14px;background:var(--stripe);border-radius:20px;margin:4px 0 8px;flex:none}.chat .composer .form-error{grid-column:1/-1}
@media(min-width:761px){.workspace-ready main{padding-left:240px!important}.workspace-ready .tabs,.workspace-ready .tabs:hover,.workspace-ready .tabs:has(button:focus-visible){width:216px!important;box-shadow:none;position:fixed;bottom:0;min-height:0;overflow-y:auto}.workspace-ready .tabs .nav-label{opacity:1!important;max-width:150px!important;flex:1!important;margin-left:10px}.workspace-ready .tabs .nav-counter,.workspace-ready .tabs #message-badge{position:static!important;margin-left:5px}.workspace-ready .tabs button{justify-content:flex-start}}
.person-presence{font-size:11px;color:var(--dim)}.chat-head .person-presence{width:auto}.person-presence.online{color:#189452}.message-retry{font-size:11px;padding:3px 6px;color:#bf394a}.message-pending{font-size:12px;opacity:.7}
.project-hub>.row{align-items:center}.project-hub h2{margin:0;flex:1}.project-hub .panel{margin:14px 0}.process-step{border-bottom:1px solid var(--line);padding:14px 0}.process-step strong{margin-right:12px}.process-edit-row{padding:15px 0;border-bottom:1px solid var(--line)}.process-edit-row label,#process-form label{display:grid;gap:5px}.process-edit-row select[multiple]{min-height:90px}
#cloud-button{display:none!important}
.message-more{border:0;background:transparent;color:#71829b;padding:0 5px;cursor:pointer;font-size:21px;line-height:1}.message-action-menu{position:fixed;z-index:10000;width:190px;padding:6px;background:var(--panel,#fff);border:1px solid #dce4ef;border-radius:10px;box-shadow:0 8px 30px #20325025}.message-action-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:7px;cursor:pointer}.message-action-menu button:hover{background:#e7eff8}.reply-preview{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-left:3px solid #1682bd;background:#edf5fb;padding:8px 12px;border-radius:8px;max-width:100%;font-size:13px}.message-quote{border-left:3px solid #1682bd;padding:5px 9px;background:#ffffff55;border-radius:5px;margin-bottom:6px;font-size:12px;white-space:pre-wrap}
/* Compact conversation: short bubbles, discreet metadata and one small menu control. */
.chat .chat-log{gap:4px;padding:16px 22px;background:var(--chat-bg,#f4f5f3)}
.message-row{gap:0;margin:0;align-items:flex-start}.message-row>.avatar{display:none}
.message-row .bubble{position:relative;border-radius:9px;padding:7px 10px;max-width:68%;box-shadow:0 1px 1px #162a3a0b;border:0;background:var(--surface,#fff);min-width:64px}
.message-row .bubble.mine{background:color-mix(in srgb,var(--accent,#187f79) 9%,var(--surface,#fff))}
.bubble .bubble-person{font-size:11px;line-height:1.3;margin:0 0 3px;color:var(--accent)}
.bubble .message-text{font-size:14px;line-height:1.45;padding-right:9px;overflow-wrap:anywhere;white-space:pre-wrap}
.bubble .message-meta{font-size:10px;line-height:1.1;gap:4px;margin-top:2px;min-height:12px;padding-right:19px}
.bubble .message-more{position:absolute;right:6px;bottom:5px;font-size:13px;width:16px;height:16px;padding:0;border:0;border-radius:50%;opacity:.55;color:var(--dim,#75818e);background:transparent}
.bubble .message-more:hover,.bubble .message-more:focus-visible{opacity:1;color:var(--accent);background:#00000009;outline-offset:2px}
.chat-date{font-size:10px;padding:4px 10px;margin:9px 0;border-radius:6px;background:var(--surface,#fff)}
.chat .composer{padding:9px 12px;gap:6px;grid-template-columns:minmax(0,1fr) 40px}.chat .composer textarea{min-height:40px;height:40px;border-radius:18px;padding:9px 14px;font-size:14px;line-height:21px}.chat .composer .send-message{width:40px;height:40px;min-width:40px;border-radius:50%;padding:9px}.chat .composer .composer-help{display:none}
.chat .chat-head{padding:10px 16px;min-height:55px}.chat-head h3{font-size:16px}.chat-head h3 .avatar{width:32px;height:32px}.chat-head [data-clear-chat]{font-size:11px;padding:5px 8px;border:0;background:transparent;color:var(--dim)}
.message-action-menu{width:174px;padding:4px;border-radius:9px;box-shadow:0 5px 18px #18313f18}.message-action-menu button{font-size:13px;padding:9px 10px}
@media(max-width:650px){.message-row .bubble{max-width:85%}.chat .chat-log{padding:12px}.bubble .message-text{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.message-action-menu{animation:chat-menu-in .12s ease-out}@keyframes chat-menu-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}}
/* Shared palette and clear surface hierarchy — v2.9.11 */
:root,body[data-theme],body:not([data-theme]){--navy:#001D39;--blue:#0A4174;--slate:#49769F;--teal:#4E8EA2;--mist:#6EA2B3;--sky:#7BBDE8;--pale:#BDD8E9;--page:#edf4f8;--surface:#ffffff;--stripe:#e6f0f6;--ink:#001D39;--dim:#38566e;--line:#91b7ce;--accent:#0A4174;--tint:#dcecf7;--selected:#BDD8E9}
body[data-theme=dark]{color-scheme:dark;--page:#001D39;--surface:#092c4c;--stripe:#103958;--ink:#f0f7fc;--dim:#BDD8E9;--line:#49769F;--accent:#7BBDE8;--tint:#16476e;--selected:#1b5279}
body[data-theme=sage]{--accent:#286679;--selected:#c9e1e7;--tint:#e4f0f3}body[data-theme=sand]{--accent:#49769F;--selected:#d5e5f0;--tint:#edf3f8}
.panel,.task-card,.section-card,.table-wrap,dialog:not(#image-viewer){background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px #001d3910}
.panel,.task-card{padding:20px}.section-card{border:2px solid var(--line);padding:16px;border-radius:12px;background:var(--surface)}
.section-card strong{display:block;font-size:17px;margin-bottom:10px}.section-card.section-selected{outline:2px solid var(--accent);outline-offset:2px}
button{min-height:40px;padding:9px 14px;font-weight:600}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
button.primary,[data-reader-bind-group]{background:var(--accent);color:white;border-color:var(--accent)}body[data-theme=dark] button.primary,body[data-theme=dark] [data-reader-bind-group]{color:#001D39}
input,select,textarea{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}
.architecture-path,.permit-panel,.external-panel,.new-document{padding:18px;border:2px solid var(--line);border-radius:12px;background:var(--stripe)}
#reader-results{display:grid;gap:24px;margin-top:20px}#reader-results>p{margin:0}
.reader-group{border:2px solid var(--line);border-radius:16px;background:var(--stripe);padding:18px;display:grid;gap:14px;box-shadow:0 4px 14px #001d3910}
.reader-group>h3{margin:-18px -18px 0;padding:16px 18px;background:var(--blue);color:white;border-radius:13px 13px 0 0;font-size:21px}
.reader-group>[data-reader-group-count]{margin:0;color:var(--dim);font-size:14px}.reader-group>.row{padding-bottom:14px;border-bottom:1px solid var(--line);gap:10px}
.reader-file{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:10px}.reader-file>strong{font-size:16px;overflow-wrap:anywhere}.reader-file>p{margin:0}
.reader-file:has([data-reader-select]:checked){border:2px solid var(--accent);box-shadow:0 0 0 3px var(--tint)}
.reader-file .check{font-weight:600;display:flex;align-items:center;gap:10px}.reader-file input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}
.reader-file summary{cursor:pointer;color:var(--dim);padding:8px 0;font-size:14px}.reader-file details{border-top:1px solid var(--line)}.reader-file details .row{padding-top:10px;gap:8px}
[data-reader-card-status]:empty,[data-reader-group-status]:empty{display:none}[data-reader-card-status],[data-reader-group-status]{font-weight:600;margin:0;color:var(--accent)}
@media(min-width:1000px){.reader-group{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-group>h3,.reader-group>[data-reader-group-count],.reader-group>.row,.reader-group>[data-reader-group-status]{grid-column:1/-1}}
@media(max-width:600px){.reader-group{padding:14px}.reader-group>h3{margin:-14px -14px 0}.reader-group>.row{display:grid;grid-template-columns:1fr 1fr}button{white-space:normal}.panel{padding:14px}}
.reader-file[hidden],.reader-group[hidden]{display:none!important}

.info-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.info-review-row{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.info-review-row small{color:var(--muted)}
