:root{--bg:#09090b;--surface:#111113;--surface2:#18181b;--surface3:#3f3f46;--border:#27272a;--border2:#3f3f46;--text:#fafafa;--text2:#a1a1aa;--text3:#52525b;--accent:#3b82f6;--accent2:#2563eb;--green:#22c55e;--red:#ef4444;--blue:#4a7a9e;--r:8px;--r2:12px}*{box-sizing:border-box;margin:0;padding:0}.brief-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:100}.logo{display:flex;align-items:baseline;gap:10px}.logo-title{font-family:var(--font-onest);font-size:19px;font-weight:700;color:var(--text);letter-spacing:-.3px}.logo-sub{font-family:var(--font-mono);font-size:10px;color:var(--text3);letter-spacing:.08em;text-transform:uppercase}.header-actions{display:flex;gap:8px;align-items:center}.btn{font-family:var(--font-inter);font-size:12px;font-weight:500;border:1px solid var(--border2);background:transparent;color:var(--text2);padding:7px 14px;border-radius:var(--r);cursor:pointer;transition:all .15s;letter-spacing:.01em}.btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}.btn:active{transform:scale(.97)}.btn-accent{background:#16a177;border-color:#16a177;color:#fff;font-weight:600;padding:9px 22px;font-size:13px}.btn-accent:hover{background:#1db88a;border-color:#1db88a;color:#fff}.btn-sm{padding:4px 9px;font-size:11px;border-radius:5px}.btn-ghost{border-color:transparent}.btn-ghost:hover{border-color:var(--border2)}.btn-danger:hover{border-color:var(--red);color:#f87171;background:#ef44441a}.brief-main{display:grid;grid-template-columns:1fr 380px;flex:1;min-height:0}.left-panel{padding:24px 28px;border-right:1px solid var(--border);overflow-y:auto}.group{margin-bottom:24px}.group-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#16a177;margin-bottom:10px;display:flex;align-items:center;gap:8px}.group-label:after{content:"";flex:1;height:1px;background:var(--border)}.group-num{background:var(--surface2);border:1px solid var(--border2);border-radius:4px;padding:1px 6px;font-size:9px;color:var(--text3);margin-right:2px}.blocks{display:flex;flex-direction:column;gap:8px}.block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;transition:border-color .15s}.block.open-block{border-color:var(--border2)}.block-header{display:flex;align-items:center;padding:11px 14px;gap:9px;user-select:none;border-radius:var(--r2)}.block-header:hover{background:var(--surface2)}.block-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);flex-shrink:0;transition:background .2s}.block-dot.filled{background:var(--green)}.block-dot.req-empty{background:var(--red)}.block-name-wrap{flex:1;min-width:0}.block-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-hint{font-size:10px;color:var(--text3);font-family:var(--font-mono);flex-shrink:0;background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;letter-spacing:.03em}.block-req{font-size:9px;color:var(--red);font-family:var(--font-mono);flex-shrink:0;opacity:.7}.chevron{font-size:9px;color:var(--text3);transition:transform .15s;flex-shrink:0}.chevron.open{transform:rotate(180deg)}.block-body{padding:0 14px 12px;margin-top:10px}.block-helper{font-size:11px;color:var(--text2);line-height:1.6;margin-bottom:10px;padding:6px 9px;background:var(--surface2);border-radius:var(--r);border-left:2px solid #16a177}textarea.bta{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);padding:9px 11px;font-family:var(--font-inter);font-size:13px;color:var(--text);resize:vertical;min-height:60px;line-height:1.6;outline:none;transition:border-color .15s;overflow:hidden}textarea.bta:focus{border-color:var(--accent)}textarea.bta::placeholder{color:var(--text3)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{font-family:var(--font-inter);font-size:12px;padding:5px 12px;border:1px solid var(--border2);border-radius:20px;background:transparent;color:var(--text2);cursor:pointer;transition:all .15s}.chip:hover{border-color:#16a177;color:var(--text)}.chip.on{background:#16a177;border-color:#16a177;color:#fff;font-weight:500}.brief-note{font-size:13px;color:var(--text2);line-height:1.7;margin-bottom:20px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);border-left:3px solid #16a177}.progress-wrap{margin-bottom:18px}.progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--green);transition:width .3s;border-radius:2px}.progress-text{font-family:var(--font-mono);font-size:10px;color:var(--text3);margin-top:5px;text-align:right}.right-panel{padding:24px;display:flex;flex-direction:column;gap:18px;position:sticky;top:60px;max-height:calc(100vh - 80px);overflow-y:auto}.preview-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.pre-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text3);margin-bottom:10px}.pre-box{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:14px;font-family:var(--font-mono);font-size:11px;color:var(--text2);line-height:1.8;white-space:pre-wrap;word-break:break-word;overflow-y:auto;min-height:200px}.pre-empty{color:var(--text3);font-style:italic}.copy-section{display:flex;flex-direction:column;gap:8px}.copy-title{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text3)}.copy-desc{font-size:12px;color:var(--text3);line-height:1.6}.copy-row{display:flex;gap:8px}.saved{font-family:var(--font-mono);font-size:10px;color:var(--text3);text-align:right;letter-spacing:.03em}.submit-wrap{position:relative}.submit-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--r);padding:8px 12px;font-size:11px;color:var(--text2);line-height:1.5;z-index:10}.submit-wrap:hover .submit-tooltip{display:block}.submit-wrap:has(.btn-accent:not(:disabled)) .submit-tooltip{display:none!important}.btn-accent:disabled{opacity:.4;cursor:not-allowed}.btn-accent:disabled:hover{background:#16a177;border-color:#16a177}.block-header{cursor:default}.toast{position:fixed;bottom:22px;right:26px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--r);padding:9px 16px;font-size:13px;color:var(--text);z-index:999;opacity:0;transform:translateY(6px);transition:all .2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.brief-footer{padding:10px 28px;border-top:1px solid var(--border);text-align:center}.brief-footer span{font-family:var(--font-mono);font-size:9px;color:var(--text3);letter-spacing:.06em}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.brief-contacts{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.contact-field{display:flex;flex-direction:column;gap:4px}.contact-label{font-size:13px;font-weight:500;color:var(--text)}.contact-label .req{color:var(--red);font-size:11px}.bta-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);padding:9px 11px;font-family:var(--font-inter);font-size:13px;color:var(--text);outline:none;transition:border-color .15s;box-sizing:border-box}.bta-input:focus{border-color:var(--accent)}.bta-input::placeholder{color:var(--text3)}.pd-label{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--text2);cursor:pointer}.pd-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer}.pd-label a{color:var(--accent)}.pd-error{display:none;color:var(--red);font-size:12px;margin-top:4px}@media (max-width:860px){.brief-main{grid-template-columns:1fr}.right-panel{border-top:1px solid var(--border);position:static;max-height:none}.left-panel{border-right:none}.brief-header{position:static}}
