:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#edf0f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:22px;min-height:100vh;padding:22px;display:grid}.control-panel,.result-panel{min-width:0}.control-panel{background:#fff;border:1px solid #d8dee7;border-radius:8px;flex-direction:column;align-self:start;gap:16px;max-height:calc(100vh - 44px);padding:22px;display:flex;overflow:auto}.panel-heading h1{letter-spacing:0;margin:4px 0 8px;font-size:28px;line-height:1.18}.panel-heading p{color:#667085;margin:0;line-height:1.5}.tool-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-user-actions{align-items:center;gap:8px;display:inline-flex}.tool-user-actions a,.tool-user-actions button{color:#172033;background:#fff;border:1px solid #cfd6df;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.eyebrow{color:#d84a2b;text-transform:uppercase;font-size:13px;font-weight:800}.upload-zone{color:#475467;text-align:center;background:#f8fafc;border:1.5px dashed #b8c0cb;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:190px;padding:20px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.upload-zone:hover,.upload-zone.is-dragging{background:#fff7f2;border-color:#d84a2b;box-shadow:0 0 0 4px #d84a2b1a}.upload-zone img{object-fit:contain;max-width:190px;max-height:92px}.upload-zone strong{color:#1d2939;font-size:15px}.upload-zone span{color:#667085;font-size:13px;line-height:1.35}.file-input{display:none}.control-group{border-top:1px solid #edf0f4;flex-direction:column;gap:12px;padding-top:16px;display:flex}.group-title{color:#1d2939;align-items:center;gap:8px;font-weight:750;display:flex}label{color:#475467;flex-direction:column;gap:7px;font-size:14px;font-weight:650;display:flex}input,select,textarea{color:#172033;background:#fff;border:1px solid #cfd6df;border-radius:6px;outline:none;width:100%}input,select{height:42px;padding:0 12px}textarea{resize:vertical;min-height:84px;padding:10px 12px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:#d84a2b;box-shadow:0 0 0 3px #d84a2b1f}.two-column{grid-template-columns:120px 1fr;gap:12px;display:grid}.color-input{min-width:72px;padding:4px}.segmented{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.segmented button,.download-grid button,.state-card button,.generate-button{color:#172033;background:#fff;border:1px solid #cfd6df;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:750;display:inline-flex}.segmented button{height:40px;font-size:13px}.segmented button.is-active{color:#fff;background:#172033;border-color:#172033}.action-panel{border-top:1px solid #edf0f4;flex-direction:column;gap:10px;padding-top:16px;display:flex}.generate-button{color:#fff;background:#172033;border-color:#172033;height:48px}.download-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.download-grid button,.state-card button{height:42px}.result-panel{background:#dfe3e9;border:1px solid #d8dee7;border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.result-toolbar{background:#fff;border-bottom:1px solid #cfd6df;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.result-toolbar div{flex-direction:column;gap:2px;display:flex}.result-toolbar strong{font-size:15px}.result-toolbar span,.result-toolbar p{color:#667085;margin:0;font-size:13px}.result-stage{justify-content:center;align-items:flex-start;padding:24px;display:flex;overflow:auto}.proposal-image{background:#fff;border-radius:8px;width:min(100%,520px);height:auto;box-shadow:0 18px 60px #141a2633}.state-card{color:#667085;text-align:center;background:#fff;border:1px solid #d8dee7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(100%,480px);min-height:360px;padding:30px;display:flex;box-shadow:0 18px 60px #141a2614}.state-card strong{color:#172033;font-size:20px}.state-card span{max-width:320px;line-height:1.5}.state-card img{object-fit:contain;max-width:240px;max-height:110px}.state-card.is-error{background:#fff7f4;border-color:#ffd0c5}.spin{animation:.9s linear infinite spin}.admin-shell{background:#edf0f3;place-items:center;min-height:100vh;padding:22px;display:grid}.admin-panel{background:#fff;border:1px solid #d8dee7;border-radius:8px;width:min(100%,460px);padding:24px;box-shadow:0 18px 60px #141a261a}.admin-heading{border-bottom:1px solid #edf0f4;align-items:flex-start;gap:12px;padding-bottom:18px;display:flex}.admin-heading svg{color:#d84a2b;flex:none}.admin-heading h1{letter-spacing:0;margin:4px 0 8px;font-size:25px;line-height:1.2}.admin-heading p{color:#667085;margin:0;line-height:1.5}.admin-form{flex-direction:column;gap:14px;padding-top:18px;display:flex}.admin-primary,.admin-session button{color:#fff;background:#172033;border:1px solid #172033;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:44px;font-weight:750;display:inline-flex}.admin-session{background:#f8fafc;border:1px solid #edf0f4;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:12px;display:grid}.admin-session span{color:#667085;font-size:13px}.admin-session strong{color:#172033}.admin-session button{color:#172033;background:#fff;border-color:#cfd6df;grid-area:1/2/span 2;height:38px;padding:0 12px}.auth-loading{color:#172033;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:130px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.control-panel{max-height:none}.result-panel{min-height:700px}}@media (width<=560px){.app-shell{padding:12px}.control-panel{padding:16px}.two-column,.download-grid,.segmented{grid-template-columns:1fr}.result-toolbar{flex-direction:column;align-items:flex-start}.result-stage{padding:14px}.tool-heading-row{flex-direction:column;align-items:flex-start}}
