.tool-app{--ink:#2b2926;--cedar:#a4643a;--cedar-deep:#8a5330;--paper:#faf7f2;--sage:#5f6f52;--sage-deep:#4c5943;--ink-soft:#6b6660;--line:#e5ded4;--card:#fff;--warn:#b5541c;--warn-bg:#fbe9dd;--danger:#a13a2f;--danger-bg:#f8e2de;--serif:"Fraunces", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--sans);line-height:1.5}.tool-app *{box-sizing:border-box}.tool-app h1,.tool-app h2,.tool-app h3{font-family:var(--serif);margin:0;font-weight:600;line-height:1.2}.tool-app button{cursor:pointer;font-family:inherit}.tool-app input,.tool-app textarea{font-family:inherit;font-size:1rem}.tool-shell{max-width:1100px;margin:0 auto;padding:0 16px 24px}.tool-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px 0;display:flex}.tool-brand{font-family:var(--serif);color:var(--ink);font-size:1.15rem;font-weight:600}.tool-brand span{color:var(--cedar)}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--cedar)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--cedar);border-color:var(--cedar);color:#fff}.btn-primary:hover{background:var(--cedar-deep);border-color:var(--cedar-deep)}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000;padding:8px 10px}.btn-small{padding:6px 12px;font-size:.85rem}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:14px;width:100%;max-width:360px;padding:32px 28px;box-shadow:0 12px 28px -14px #2b292640}.login-card h1{margin-bottom:6px;font-size:1.6rem}.login-card p.sub{color:var(--ink-soft);margin-bottom:24px;font-size:.95rem}.pin-input{text-align:center;letter-spacing:.35em;border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;margin-bottom:14px;padding:12px;font-size:1.4rem}.pin-input:focus{outline:2px solid var(--cedar);outline-offset:1px}.form-error{color:var(--danger);background:var(--danger-bg);border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:.88rem}.list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.bid-list{flex-direction:column;gap:10px;display:flex}.bid-row{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .15s;display:flex}.bid-row:hover{border-color:var(--cedar)}.bid-row-main{min-width:0}.bid-row-client{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;font-weight:600;overflow:hidden}.bid-row-meta{color:var(--ink-soft);margin-top:2px;font-size:.85rem}.status-pill{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.status-draft{background:var(--warn-bg);color:var(--warn)}.status-published{color:var(--sage-deep);background:#e4ece0}.status-archived{color:var(--ink-soft);background:#ece9e4}.empty-state{text-align:center;color:var(--ink-soft);padding:48px 16px}.workspace{flex-direction:column;min-height:100vh;display:flex}.workspace-header{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.workspace-title{min-width:0}.workspace-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.15rem;overflow:hidden}.tabs{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:6px;padding:3px;display:flex}.tab-btn{color:var(--ink-soft);background:0 0;border:none;border-radius:6px;padding:7px 14px;font-size:.88rem;font-weight:500}.tab-btn.active{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #2b29261f}.workspace-body{flex-direction:column;flex:1;min-height:0;display:flex}.main-pane{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-pane{flex-direction:column;flex:1;min-height:0;display:flex}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{white-space:pre-wrap;border-radius:12px;max-width:85%;padding:10px 14px;font-size:.95rem;line-height:1.45}.chat-bubble.assistant{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:3px;align-self:flex-start}.chat-bubble.user{background:var(--cedar);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}.chat-bubble.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);align-self:flex-start}.chat-retry-btn{color:var(--danger);border:1px solid var(--danger);cursor:pointer;background:#fff;border-radius:8px;margin-top:8px;padding:5px 12px;font-size:.85rem;font-weight:600;display:block}.chat-retry-btn:hover{background:var(--danger-bg)}.chat-retry-btn:disabled{opacity:.6;cursor:not-allowed}.chat-empty{color:var(--ink-soft);text-align:center;padding:24px 16px;font-size:.92rem}.chat-composer{border-top:1px solid var(--line);background:var(--card);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-input{resize:none;border:1px solid var(--line);background:var(--paper);min-height:44px;max-height:140px;color:var(--ink);border-radius:8px;flex:1;padding:10px 12px}.chat-input:focus{outline:2px solid var(--cedar);outline-offset:1px}.photo-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-row-hint{color:var(--ink-soft);font-size:.8rem}.upload-progress{color:var(--cedar);font-size:.82rem}.upload-error{color:var(--danger);font-size:.82rem}.card-toggle{display:inline-flex}.bid-card-drawer{border-top:1px solid var(--line);background:var(--card);max-height:45vh;display:none;overflow-y:auto}.bid-card-drawer.open{display:block}.bid-card{padding:14px 16px 20px}.bid-card h2{margin-bottom:10px;font-size:1rem}.bid-card-group{margin-bottom:14px}.bid-card-group h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:6px;font-size:.78rem}.bid-card-field{border-bottom:1px dashed var(--line);align-items:flex-start;gap:8px;padding:5px 0;font-size:.92rem;display:flex}.bid-card-field:last-child{border-bottom:none}.field-icon{text-align:center;flex:none;width:18px;font-weight:700}.field-icon.ok{color:var(--sage-deep)}.field-icon.warn{color:var(--warn)}.field-icon.empty{color:var(--ink-soft)}.field-label{color:var(--ink-soft);flex:none;min-width:92px}.field-value{color:var(--ink);word-break:break-word}.preview-tab{flex:1;padding:16px;overflow-y:auto}.what-i-read{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:14px 16px}.publish-bar{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.publish-reason{color:var(--ink-soft);max-width:460px;font-size:.86rem}.publish-error{color:var(--danger);margin-top:4px;font-size:.86rem}.publish-url-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.publish-url-row a{color:var(--cedar-deep);word-break:break-all;font-size:.9rem}.publish-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hero-bar{margin-top:-6px}.preview-placeholder{background:var(--card);border:1px dashed var(--line);text-align:center;color:var(--ink-soft);border-radius:10px;padding:32px 20px}.preview-placeholder ul{text-align:left;margin-top:12px;font-size:.9rem;display:inline-block}.preview-frame{border:1px solid var(--line);border-radius:10px;overflow:hidden}@media (min-width:900px){.workspace-body{flex-direction:row}.bid-card-drawer{border-top:none;border-left:1px solid var(--line);flex:0 0 340px;max-height:none;display:block;overflow-y:auto}.card-toggle{display:none}}
