*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,sans-serif;color:#16161a;background:#f4f4f6}.app{display:flex;flex-direction:column;height:100%}.bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-bottom:1px solid #e5e5ea}.bar input{flex:0 1 360px;padding:7px 10px;border:1px solid #d0d0d8;border-radius:8px;font-size:14px}.bar button{padding:7px 12px;border:1px solid #d0d0d8;background:#fff;border-radius:8px;cursor:pointer;font-size:13px}.bar button:disabled{opacity:.45;cursor:default}.spacer{flex:1}.error{padding:8px 14px;background:#fde8e8;color:#9b1c1c;font-size:13px}.body{display:flex;flex:1;min-height:0}.panel{width:320px;padding:14px;background:#fafafb;border-right:1px solid #e5e5ea;overflow-y:auto}.meta{margin-bottom:12px}.muted{color:#8a8a93;font-size:12px}.sections{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sections li{padding:8px 10px;background:#fff;border:1px solid #e5e5ea;border-radius:8px}.sections li .srow,.sections>li:not(.open){display:flex;align-items:center;justify-content:space-between}.sections li.open{display:block}.stype{font-size:13px;font-weight:600}.ops button{margin-left:4px;padding:2px 7px;border:1px solid #d0d0d8;background:#fff;border-radius:6px;cursor:pointer}.fields{margin-top:8px;display:flex;flex-direction:column;gap:8px;border-top:1px dashed #e5e5ea;padding-top:8px}.field-row{display:flex;flex-direction:column;gap:3px}.field-name{font-size:11px;font-weight:600;color:#6a6a73}.field-val{font-size:12px;color:#16161a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-edit{display:flex;gap:4px}.field-edit input{flex:1;min-width:0;padding:4px 7px;border:1px solid #d0d0d8;border-radius:6px;font-size:12px}.field-edit button{padding:2px 8px;border:1px solid #d0d0d8;background:#fff;border-radius:6px;cursor:pointer}.vibe{margin-top:14px;display:flex;flex-direction:column;gap:6px}.vibe textarea{min-height:54px;resize:vertical;padding:7px 9px;border:1px solid #d0d0d8;border-radius:8px;font-size:13px;font-family:inherit}.vibe button{align-self:flex-start;padding:5px 11px;border:1px solid #d0d0d8;background:#fff;border-radius:8px;cursor:pointer;font-size:13px}.vibe button:disabled{opacity:.45;cursor:default}.diff{margin-top:8px;border:1px solid #e5e5ea;border-radius:8px;background:#fff;padding:8px 10px}.diff-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.diff-head button{border:none;background:none;cursor:pointer;color:#8a8a93;font-size:15px;line-height:1}.diff ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.diff li{font-size:12px;color:#16161a;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.diff .badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:4px;background:#eef;color:#3a3aa0}.diff .badge.add{background:#e7f7ec;color:#1a7f3c}.diff .badge.remove{background:#fde8e8;color:#9b1c1c}.diff .badge.replace{background:#fff5e0;color:#8a6d1a}.diff .diff-val{color:#6a6a73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.brand-img{margin-top:14px;display:flex;flex-direction:column;gap:6px}.file-btn{align-self:flex-start;padding:5px 11px;border:1px solid #d0d0d8;background:#fff;border-radius:8px;cursor:pointer;font-size:13px}.add{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.add button{padding:4px 9px;border:1px solid #d0d0d8;background:#fff;border-radius:6px;cursor:pointer;font-size:12px}.bar input[placeholder="id progetto"]{flex:0 0 9em}.revisions{margin-top:18px;border-top:1px solid #e5e5ea;padding-top:12px;display:flex;flex-direction:column;gap:8px}.revisions .ops button{font-size:12px}.preview{flex:1;min-width:0}.preview>*{height:100%}.preview-empty{display:grid;place-items:center;height:100%;color:#8a8a93}.loading{display:grid;place-items:center;height:100vh;color:#8a8a93;font-size:24px}.login{display:grid;place-items:center;min-height:100vh;background:#f4f4f7}.login-card{display:flex;flex-direction:column;gap:10px;width:320px;padding:28px;background:#fff;border:1px solid #e5e5ea;border-radius:14px;box-shadow:0 8px 30px #0000000f}.login-card h1{margin:0;font-size:22px}.login-card input{padding:9px 11px;border:1px solid #d0d0d8;border-radius:8px;font-size:14px}.login-card button{padding:9px 11px;border:none;background:#16161a;color:#fff;border-radius:8px;cursor:pointer;font-size:14px}.login-card button:disabled{opacity:.45;cursor:default}.login-card .small{font-size:12px}.login-card .error{color:#c0392b;font-size:13px}.bar .user{display:flex;align-items:center;gap:8px;margin-left:10px}.bar .user button{padding:4px 9px;border:1px solid #d0d0d8;background:#fff;border-radius:6px;cursor:pointer;font-size:12px}.published{padding:8px 14px;background:#e7f7ec;border-bottom:1px solid #bfe6cb;font-size:13px}.published a{color:#1a7f3c;font-weight:600}.publishing{padding:8px 14px;background:#fff5e0;border-bottom:1px solid #f0dca0;font-size:13px;color:#8a6d1a}.picker{display:flex;flex-direction:column;height:100%}.picker-body{flex:1;overflow-y:auto;max-width:860px;width:100%;margin:0 auto;padding:28px 20px 48px;display:flex;flex-direction:column;gap:32px}.picker-body h2{font-size:15px;margin:0 0 12px}.picker-new{background:#fff;border:1px solid #e5e5ea;border-radius:14px;padding:20px}.picker-new-row{display:flex;gap:8px}.picker-new-row input{flex:1;padding:9px 11px;border:1px solid #d0d0d8;border-radius:8px;font-size:14px}button.primary{padding:9px 16px;border:none;background:#16161a;color:#fff;border-radius:8px;cursor:pointer;font-size:14px}button.primary:disabled{opacity:.45;cursor:default}button.link{margin-top:10px;padding:0;border:none;background:none;color:#6a6a73;font-size:13px;cursor:pointer;text-decoration:underline}button.link:disabled{opacity:.45;cursor:default}.picker-list-head{display:flex;align-items:center;justify-content:space-between}.list-head-actions{display:flex;gap:6px;align-items:center}.picker-list-head button{padding:4px 9px;border:1px solid #d0d0d8;background:#fff;border-radius:6px;cursor:pointer;font-size:13px}.picker-list-head button.on{background:#16161a;color:#fff;border-color:#16161a}.project-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.project-card{background:#fff;border:1px solid #e5e5ea;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.project-name{font-weight:600;font-size:14px}.project-id{font-family:ui-monospace,monospace}.project-id .shared{color:#b07d18}.card-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.card-actions.danger{font-size:12px}.project-card button{padding:4px 11px;border:1px solid #d0d0d8;background:#fff;border-radius:8px;cursor:pointer;font-size:13px}.project-card button:disabled{opacity:.45;cursor:default}.project-card button.del{color:#9b1c1c;border-color:#e7c3c3}.card-rename{display:flex;gap:4px;align-items:center}.card-rename input{flex:1;min-width:0;padding:4px 8px;border:1px solid #d0d0d8;border-radius:6px;font-size:14px;font-weight:600}.card-rename button{padding:3px 8px}.card-share{margin-top:10px;border-top:1px dashed #e5e5ea;padding-top:8px;display:flex;flex-direction:column;gap:8px}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.member-list li{display:flex;align-items:center;justify-content:space-between;gap:6px}.member-list li button{padding:0 7px;color:#9b1c1c}.member-add{display:flex;gap:4px}.member-add input{flex:1;min-width:0;padding:4px 7px;border:1px solid #d0d0d8;border-radius:6px;font-size:12px}.member-add select{padding:4px;border:1px solid #d0d0d8;border-radius:6px;font-size:12px}.project-chip{font-size:13px;font-weight:600;padding:5px 10px;background:#f0f0f3;border-radius:8px;white-space:nowrap;max-width:14em;overflow:hidden;text-overflow:ellipsis}.save-as input{flex:0 0 10em}.chat{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #e5e5ea;padding-bottom:12px;margin-bottom:12px}.chat-log{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.chat-msg{font-size:13px;border-radius:10px;padding:7px 10px}.chat-msg.user{background:#16161a;color:#fff;align-self:flex-end;max-width:90%;white-space:pre-wrap}.chat-msg.agent{background:#fff;border:1px solid #e5e5ea;align-self:flex-start;max-width:95%}.chat-rationale{color:#16161a;margin-bottom:4px}.chat-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.chat-steps li{font-size:12px;display:flex;gap:5px;align-items:baseline}.chat-steps li.ok{color:#1f7a3d}.chat-steps li.fail{color:#9b1c1c}.chat-steps .step-mark{font-weight:700}.chat-input{display:flex;flex-direction:column;gap:6px}.chat-input textarea{min-height:56px;resize:vertical;padding:7px 9px;border:1px solid #d0d0d8;border-radius:8px;font-size:13px;font-family:inherit}.chat-input button{align-self:flex-end;padding:6px 16px;border:none;background:#16161a;color:#fff;border-radius:8px;cursor:pointer;font-size:13px}.chat-input button:disabled{opacity:.45;cursor:default}.bar{align-items:flex-start}.bar>button,.bar .spacer,.bar .project-chip,.bar .save-as,.bar .user{margin-top:1px}.bar .idea-input{flex:1 1 420px;min-width:240px;max-height:160px;padding:7px 10px;border:1px solid #d0d0d8;border-radius:8px;font-size:14px;font-family:inherit;line-height:1.35;resize:none;overflow-y:auto}.chat-empty{display:flex;flex-direction:column;gap:6px}.chat-empty-title{font-size:13px;font-weight:600;color:#16161a;margin:0}.chat-examples{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.chat-examples button{text-align:left;padding:6px 9px;border:1px solid #d6d6de;background:#fff;border-radius:8px;cursor:pointer;font-size:12px;color:#16161a;line-height:1.3}.chat-examples button:hover{border-color:#16161a}.panel{max-width:720px;margin:0 auto;padding:1rem}.panel h2{margin:0;font-size:1.1rem}.panel .field{display:flex;flex-direction:column;gap:.25rem;margin:.75rem 0}.panel .field select{padding:.4rem}.panel .warn{background:#5b4a1f;color:#ffe9a8;padding:.5rem .75rem;border-radius:6px}.cred-block{border:1px solid #2a2a2a;border-radius:8px;padding:.75rem;margin:.5rem 0}.cred-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cred-block input{display:block;width:100%;margin:.25rem 0;padding:.4rem}.cred-actions{display:flex;gap:.5rem;margin-top:.5rem}.ok{color:#7ee08a}.danger{color:#ff9a9a}.grid{width:100%;border-collapse:collapse;margin:.5rem 0}.grid th,.grid td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid #2a2a2a}.billing-summary{display:flex;gap:2rem;margin:1rem 0}.billing-summary div{display:flex;flex-direction:column}.billing-summary strong{font-size:1.2rem}.topups{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.credits-banner{display:flex;align-items:center;gap:.75rem}.credits-banner .dismiss{margin-left:auto}.period-toggle{display:flex;gap:.25rem;margin:.5rem 0}.period-toggle .on{font-weight:600;text-decoration:underline}
