.workspace-loading{max-width:560px;margin:12vh auto;padding:28px;text-align:center;color:var(--text)}
.workspace-loading img{width:86px;height:86px;object-fit:contain;margin-bottom:16px}
.workspace-loading h1{font:600 32px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.025em;margin:8px 0 18px}
.workspace-loading p{line-height:1.8;color:var(--muted);font-size:14px}
.workspace-loading .button{margin-top:14px}
.workspace-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0;padding:16px 18px;border:1px solid #8c672a;border-radius:12px;background:#292217;color:var(--text)}
.workspace-alert strong{font-size:14px}
.workspace-alert p{font-size:12px;color:var(--muted);line-height:1.6;margin:5px 0 0}
.workspace-alert code{display:block;font-size:11px;margin-top:8px;overflow-wrap:anywhere;color:var(--amber)}
.workspace-alert .button{flex-shrink:0}
.workspace-saving #app button,.workspace-saving #app input,.workspace-saving #app select{pointer-events:none;opacity:.7}
.owner-conversation{border:1px solid #574322;background:linear-gradient(120deg,#1d1b16,#111215);box-shadow:0 10px 30px #0002}
.owner-conversation .voice-title{font-size:15px;font-weight:650;color:var(--text)}
.owner-conversation .voice-heading{margin-bottom:10px;gap:12px}
.owner-conversation .voice-status{white-space:nowrap;padding:5px 8px;border:1px solid #524628;border-radius:6px;font-size:10px;color:var(--amber)}
.owner-conversation .voice-status.needs-credits{color:#ffd786;border-color:#7f5d29}
.assistant-mode-note{color:var(--muted);font-size:12px;line-height:1.7;margin:0 0 18px;max-width:800px}
.assistant-review-note{color:#9c978e;font-size:10px;line-height:1.6;margin:12px 0 0}
.conversation-history{display:grid;gap:12px;max-height:390px;overflow:auto;overscroll-behavior:contain;padding:2px 7px 6px 0;margin:0 0 18px;scrollbar-width:thin;scrollbar-color:#75613a transparent}
.conversation-message{max-width:94%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#202125;justify-self:start;min-width:0}
.conversation-message.user{justify-self:end;background:#332a17;border-color:#514123;max-width:86%}
.conversation-message.has-error{border-color:#854d38;background:#31201b}
.conversation-message-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.02em;font-weight:700;color:var(--amber);margin-bottom:6px}
.conversation-message-label span{font-size:9px;font-weight:400;color:var(--muted)}
.conversation-message p{margin:0;font-size:13px;line-height:1.75;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
.conversation-message .button{font-size:12px;min-height:40px;margin-top:12px}
.conversation-pending{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;padding:8px 3px}
.conversation-pending span{height:6px;width:6px;border-radius:50%;background:var(--amber);animation:pulse 1s infinite}
.conversation-receipt{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:#dfc17e;margin-top:12px;padding-top:10px;border-top:1px solid #49402d}
.conversation-receipt .icon{width:14px;height:14px}
.conversation-receipt button{background:none;color:var(--amber);font-size:11px;text-decoration:underline;padding:3px 0;margin-left:4px}
.owner-conversation .voice-form{background:#0b0c0e;border:1px solid #575048;border-radius:11px;padding:10px 12px}
.owner-conversation .voice-form input{font-size:17px;color:var(--text)}
.owner-conversation .mic{height:43px;width:43px}
.owner-conversation .ask-button{height:40px;width:40px;flex-shrink:0;color:var(--text)}
.owner-conversation .quick-prompts button{min-height:34px;color:#d4c8b3}
.job-measurements{margin:14px 0 0;display:grid;gap:10px}
.job-measurements>div{display:flex;justify-content:space-between;gap:16px;font-size:13px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.job-measurements>div:last-child{border-bottom:0;padding-bottom:0}
.job-measurements dt{color:var(--muted)}
.job-measurements dd{margin:0;color:var(--text);font-weight:650}
.job-visit-list{display:grid;gap:8px;margin-top:12px}
.job-visit-list button{display:grid;gap:5px;padding:12px;background:#111215;border:1px solid var(--line);border-radius:9px;text-align:left;color:var(--text)}
.job-visit-list button:hover{border-color:var(--amber)}
.job-visit-list strong{font-size:13px}
.job-visit-list span{font-size:12px;color:var(--muted)}
.job-visit-list small{font-size:10px;color:var(--amber)}
.job-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.event-content{min-width:0;flex:1}
.event-source{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.event-source span{padding:4px 7px;border:1px solid #403b30;border-radius:5px;color:#cabd9d;font-size:10px;background:#24211b;overflow-wrap:anywhere}
.event-receipt{margin-top:10px;font-size:12px}
.event-receipt summary{cursor:pointer;color:var(--amber);padding:5px 0}
.event-receipt dl{display:grid;gap:9px;margin:10px 0;padding:12px;background:#111215;border-radius:8px}
.event-receipt dl>div{display:grid;gap:4px}
.event-receipt dt{font-size:10px;color:var(--muted)}
.event-receipt dd{margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.event-receipt code{font-size:11px;white-space:normal}
.event-legacy{font-size:10px!important;color:#88847c!important;margin-top:8px!important}
.receipt-links{display:flex;gap:14px;flex-wrap:wrap}
.receipt-links button{background:none;color:var(--amber);font-size:11px;padding:5px 0}
@media(max-width:740px){.owner-conversation{padding:18px}.owner-conversation .voice-title{font-size:13px}.owner-conversation .voice-form{padding:8px;gap:7px}.owner-conversation .voice-form input{font-size:16px}.owner-conversation .mic{height:38px;width:38px}.owner-conversation .ask-button{height:36px;width:32px}.owner-conversation .voice-heading{align-items:flex-start}.conversation-history{max-height:370px}.conversation-message{max-width:100%;padding:12px}.conversation-message.user{max-width:91%}.conversation-message-label{gap:12px}.workspace-alert{align-items:flex-start;flex-direction:column;gap:12px}.workspace-alert .button{min-height:44px}.assistant-mode-note{font-size:11px}.event-source span{font-size:9px}.owner-conversation .quick-prompts button{min-height:40px}.conversation-message .button{min-height:44px}}
.owner-sign-in{max-width:520px;margin:auto;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:32px 24px;text-align:left}
.owner-sign-in>img{max-width:140px;align-self:flex-start;margin-bottom:24px}
.owner-sign-in h1{font-size:48px;line-height:1.1}
.owner-sign-in form{width:100%;margin-top:24px}
.owner-sign-in form>.button{width:100%;margin-top:18px}
.owner-sign-in .field input{width:100%;font-size:16px}
.owner-sign-in .form-error{min-height:1.4em;margin-top:16px}
.owner-sign-in .sign-in-status{line-height:1.6;color:var(--gold-dark,#755b17)}
.owner-sign-in>.button{margin-top:20px;align-self:flex-start}
@media(max-width:740px){.top-actions{gap:6px}.owner-account-button{font-size:11px;min-height:36px;padding:7px 8px}.top-actions .demo-pill{display:none}}

.owner-code-form{border-top:1px solid var(--line,#ddd5c5);padding-top:24px}
.owner-code-form input{letter-spacing:.08em}
