:root { color-scheme:light; --ink:#172019; --forest:#163f2d; --paper:#f4f2e9; --white:#fff; --lime:#c6f46d; --muted:#667067; --line:rgba(23,32,25,.14); font-family:Inter,ui-sans-serif,system-ui,sans-serif; background:var(--paper); color:var(--ink); }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; min-width:320px; background:radial-gradient(circle at 75% 0,rgba(198,244,109,.18),transparent 28%),var(--paper); }
button,input,textarea,select { font:inherit; }
a { color:inherit; text-decoration:none; }
.login-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.38fr); gap:28px; width:min(1180px,calc(100% - 36px)); min-height:100vh; margin:auto; padding:38px 0; align-content:center; }
.login-brand { grid-column:1/-1; display:flex; gap:11px; align-items:center; width:max-content; }
.login-brand>span { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:var(--ink); color:var(--lime); font-weight:900; }
.login-brand strong { display:grid; line-height:1; }
.login-brand small { margin-top:5px; color:var(--muted); font-size:.55rem; letter-spacing:.12em; text-transform:uppercase; }
.login-card,.client-workspace,aside { border-radius:26px; }
.login-card,.client-workspace { padding:clamp(28px,5vw,60px); background:var(--white); box-shadow:0 35px 90px rgba(23,32,25,.1); }
.eyebrow { margin:0; color:#2d5a3c; font-size:.64rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
h1 { max-width:760px; margin:15px 0 20px; font-size:clamp(2.8rem,6vw,5.5rem); line-height:.92; letter-spacing:-.065em; }
.login-card>p:not(.eyebrow) { max-width:650px; color:var(--muted); line-height:1.65; }
.google-button,.primary-button { width:100%; min-height:52px; border:0; border-radius:13px; background:var(--ink); color:white; font-weight:780; cursor:pointer; }
.google-button { display:flex; gap:12px; align-items:center; justify-content:center; margin-top:30px; }
.google-button span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:white; color:#4285f4; font-weight:900; }
button:disabled { cursor:wait; opacity:.55; }
.login-status { min-height:1.4em; margin:13px 0 0!important; color:var(--muted); font-size:.72rem; }
.login-status.error { color:#a8342f!important; }
.workspace-status { margin:0 0 18px!important; padding:12px 14px; border-radius:12px; background:#edf3e9; overflow-wrap:anywhere; }
.login-card>small { display:block; margin-top:8px; color:#8a918b; font-size:.65rem; line-height:1.5; }
aside { align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; padding:32px; background:var(--forest); color:white; }
aside>span { color:var(--lime); font-size:.62rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
aside p { margin:14px 0 26px; font-size:1.35rem; line-height:1.15; letter-spacing:-.04em; }
aside a { width:max-content; color:var(--lime); font-size:.75rem; font-weight:760; }
.client-workspace { grid-column:1/-1; min-width:0; padding:clamp(22px,4vw,48px); }
.workspace-header { display:flex; gap:24px; align-items:flex-start; justify-content:space-between; }
.workspace-header h1 { margin-bottom:35px; font-size:clamp(2.8rem,6vw,5.6rem); }
.secondary-button { min-height:42px; padding:0 16px; border:1px solid var(--line); border-radius:12px; background:white; color:var(--ink); font-weight:750; cursor:pointer; }
.workspace-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:16px; }
.workspace-panel { min-width:0; padding:22px; border:1px solid var(--line); border-radius:19px; background:#fbfcf8; }
.workspace-panel h2 { margin:7px 0 20px; font-size:1.65rem; letter-spacing:-.045em; }
.activity-panel { grid-column:1/-1; }
.client-projects,.client-changes { display:grid; gap:10px; }
.client-project-card,.change-item { display:grid; gap:7px; padding:17px; border:1px solid var(--line); border-radius:14px; background:white; }
.client-project-card small,.change-item small { color:#2d5a3c; font-size:.58rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.client-project-card strong,.change-item strong { font-size:1rem; }
.client-project-card span,.change-item p { margin:0; color:var(--muted); font-size:.7rem; line-height:1.5; overflow-wrap:anywhere; }
.client-project-card a { width:max-content; margin-top:5px; color:#2d5a3c; font-size:.7rem; font-weight:800; }
#client-change-form,#client-demo-form { display:grid; gap:13px; }
#client-change-form label,#client-demo-form label { display:grid; gap:7px; color:var(--muted); font-size:.63rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
#client-change-form select,#client-change-form textarea,#client-demo-form select,#client-demo-form input { width:100%; border:1px solid var(--line); border-radius:12px; outline:0; background:white; color:var(--ink); text-transform:none; letter-spacing:normal; }
#client-change-form select,#client-demo-form select,#client-demo-form input { height:46px; padding:0 12px; }
#client-change-form textarea { min-height:120px; padding:12px; resize:vertical; }
#client-change-form :is(select,textarea):focus,#client-demo-form :is(select,input):focus { border-color:#6a8a73; box-shadow:0 0 0 3px rgba(71,112,80,.1); }
#client-change-form > small,#client-demo-form > small { color:var(--muted); font-size:.65rem; line-height:1.5; }
.demo-panel>p:not(.eyebrow) { color:var(--muted); font-size:.72rem; line-height:1.5; }
.demo-panel>a,.demo-public-link { display:inline-block; margin:0 0 16px; color:#2d5a3c; font-size:.7rem; font-weight:800; }
.demo-comparison { display:grid; gap:5px; padding:12px; border:1px solid var(--line); border-radius:10px; background:#f7faf3; overflow-wrap:anywhere; }
.demo-change-item .approve-change,.demo-change-item .secondary-button { justify-self:start; }
.conversation-item { gap:13px; min-width:0; }
.conversation-item>* { min-width:0; }
.conversation-item strong { overflow-wrap:anywhere; }
.conversation-item .approve-change,.conversation-item .secondary-button { max-width:100%; padding-top:10px; padding-bottom:10px; white-space:normal; }
.conversation-timeline { display:grid; gap:9px; }
.conversation-bubble { max-width:min(100%,760px); padding:12px 14px; border-radius:12px; background:#edf3e9; }
.conversation-bubble.from-admin { background:#eef0ff; }
.conversation-bubble small { display:block; margin-bottom:5px; }
.conversation-bubble p,.conversation-interpretation p,.conversation-cost { margin:0; color:var(--ink); font-size:.72rem; line-height:1.55; overflow-wrap:anywhere; }
.conversation-interpretation { display:grid; gap:5px; padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:#fbfcf8; }
.conversation-interpretation p:last-child { color:var(--muted); }
.conversation-requirements,.conversation-questions { margin:4px 0; padding-left:18px; font-size:.72rem; line-height:1.55; overflow-wrap:anywhere; }
.conversation-proposal { display:grid; gap:7px; padding:16px; border:1px solid #b8cf9b; border-radius:12px; background:#f2f8e8; }
.conversation-proposal small { color:#2d5a3c; }
.conversation-proposal strong { font-size:.9rem; }
.conversation-proposal p { margin:0; color:var(--ink); font-size:.72rem; line-height:1.55; overflow-wrap:anywhere; }
.conversation-proposal p:last-child { color:var(--muted); }
.execution-preview { display:grid; gap:12px; min-width:0; padding:14px; border:1px solid #b8cf9b; border-radius:12px; background:#f7faf3; }
.execution-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; }
.execution-scope,.execution-result { display:grid; align-content:start; gap:8px; min-width:0; }
.execution-preview p,.execution-preview a { overflow-wrap:anywhere; }
.execution-preview-link { justify-self:start; max-width:100%; color:var(--forest); font-size:.74rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.execution-approval-note { padding:12px; border:1px solid var(--line); border-radius:10px; background:white; }
.execution-review-actions { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.execution-preview>.secondary-button { justify-self:start; }
.conversation-reply { display:grid; gap:8px; }
.conversation-reply label { display:grid; gap:7px; color:var(--muted); font-size:.63rem; font-weight:800; }
.conversation-reply textarea { width:100%; min-height:78px; padding:12px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); font:inherit; font-size:.72rem; resize:vertical; }
.conversation-reply .approve-change { justify-self:start; }
.conversation-execution-notice { padding:12px; border:1px solid #b8cf9b; border-radius:10px; background:#f7faf3; }
.conversation-withdraw { justify-self:start; font-size:.68rem; }
.primary-button { padding:0 16px; }.primary-button span { margin-left:16px; color:var(--lime); }
.approve-change { width:max-content; min-height:38px; padding:0 13px; border:0; border-radius:10px; background:var(--lime); color:var(--ink); font-size:.68rem; font-weight:850; cursor:pointer; }
.empty-state { margin:0; color:var(--muted); font-size:.76rem; }
@media (max-width:760px) { .login-shell { grid-template-columns:minmax(0,1fr); padding:22px 0; }.login-brand,.client-workspace { grid-column:auto; } aside { min-width:0; min-height:220px; }.workspace-header { align-items:flex-start; flex-wrap:wrap; }.workspace-header h1 { font-size:clamp(2.7rem,14vw,4.4rem); }.workspace-grid { grid-template-columns:minmax(0,1fr); }.activity-panel { grid-column:auto; }.execution-comparison { grid-template-columns:minmax(0,1fr); }.execution-result { padding-top:12px; border-top:1px solid var(--line); } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
.conversation-history { margin-top: 16px; color: #586359; font-size: .85rem; }
.conversation-history p { margin: 5px 0; }
.conversation-feedback { display: grid; gap: 10px; margin-top: 14px; }
.conversation-feedback textarea { width:100%; min-height:72px; padding:12px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); resize:vertical; }
