:root{--ink:#172238;--muted:#697386;--paper:#f5f4f0;--card:#fff;--line:#e2ded4;--green:#9a791f;--green2:#c9a227;--lime:#c9a227;--amber:#ad761f;--red:#b33b3b;--nav:#071428;--shadow:0 16px 40px rgba(7,20,40,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#eef7f1;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--lime);color:var(--nav);font-size:20px;font-weight:900}.brand strong{display:block;font-size:15px}.brand small{display:block;margin-top:3px;color:#9ab0a5}.sidebar nav{display:grid;gap:5px;margin-top:38px}.sidebar nav a{padding:11px 13px;border-radius:10px;color:#b8c9c0}.sidebar nav a:hover,.sidebar nav a.active{background:#204236;color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:14px}.user-block strong,.user-block small{display:block}.user-block small{color:#91a99d;margin-top:3px}.content{padding:36px 44px 60px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.page-header h1{font-size:30px;margin:3px 0 0;letter-spacing:-.04em}.eyebrow{margin:0;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.16em}.environment{border:1px solid #cddbd1;background:#fafff8;padding:8px 12px;border-radius:999px;color:var(--green);font-weight:700;font-size:12px}.card,.hero-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.card{padding:24px}.hero-card{padding:30px 34px;background:linear-gradient(135deg,#173e2f,#24694e);color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero-card.compact{padding:22px 28px}.hero-card .eyebrow{color:var(--lime)}.hero-card h2{font-size:24px;margin:5px 0 8px}.hero-card p:last-child{color:#c7d9d0;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:10px 15px;font-weight:750;background:#fff;color:var(--ink)}.button.primary{background:var(--lime);color:#1b3327}.button.ghost{background:transparent;border-color:#ccd7d0;color:inherit}.sidebar .button.ghost{border-color:#446157}.button.danger{background:#fff0f0;color:var(--red);border-color:#f0c6c6}.button.full{width:100%}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metric{padding:20px;border-radius:16px;background:#fff;border:1px solid var(--line)}.metric span{color:var(--muted);font-weight:650}.metric strong{display:block;font-size:34px;margin-top:8px}.metric.warning{border-top:3px solid #d7982d}.metric.danger{border-top:3px solid #d15b5b}.two-column{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2,.card>h2{margin:4px 0 0;font-size:20px}.section-heading>a{color:var(--green);font-weight:750}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;padding:10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #eef1ee;vertical-align:middle}td small,td a small{display:block;color:var(--muted);margin-top:4px;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wide{max-width:360px}.status,.risk{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:800;font-size:11px;text-transform:uppercase;background:#edf1ee;color:#53615a}.status.awaiting_approval{background:#fff2d7;color:#93600e}.status.queued,.status.running,.status.verifying{background:#e4efff;color:#3167a6}.status.succeeded,.risk.read{background:#e1f5e9;color:#26704d}.status.failed,.status.needs_review,.status.rejected,.risk.write{background:#fde4e4;color:#9e3333}.status.cancelled{background:#ececec;color:#6b6b6b}.provider-list{display:grid}.provider-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #eef1ee}.provider-row:last-child{border-bottom:0}.provider-row strong,.provider-row small{display:block}.provider-row small{color:var(--muted);margin-top:3px}.health{width:9px;height:9px;border-radius:50%;background:#a5aca8}.health.up{background:#36a66f;box-shadow:0 0 0 4px #e1f5e9}.health.down{background:#d55656;box-shadow:0 0 0 4px #fde4e4}code,pre{font-family:"Cascadia Code",Consolas,monospace}.empty{padding:48px 20px;text-align:center;color:var(--muted);border:1px dashed #cad5ce;border-radius:14px}.empty.tall{margin:auto;min-height:320px;display:grid;place-content:center}.empty.tall strong{font-size:20px;color:var(--ink)}.empty.tall p{margin:7px 0}.assistant-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;min-height:670px}.conversation-list{padding:14px}.conversation-items{display:grid;margin-top:12px}.conversation-items a{padding:12px;border-radius:10px}.conversation-items a:hover,.conversation-items a.active{background:#edf4ef}.conversation-items strong,.conversation-items small{display:block}.conversation-items small{color:var(--muted);margin-top:4px}.chat-panel{display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-messages{padding:26px;display:flex;flex-direction:column;gap:22px;flex:1;overflow:auto}.message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;max-width:820px}.message>span{width:32px;height:32px;border-radius:10px;background:#dce8df;display:grid;place-items:center;font-weight:850}.message.user{margin-left:auto;grid-template-columns:minmax(0,1fr) 34px}.message.user>span{grid-column:2;grid-row:1;background:#173e2f;color:#fff}.message.user>div{grid-column:1;grid-row:1;background:#f0f5f1;padding:12px 15px;border-radius:14px}.message p{line-height:1.65;margin:3px 0;white-space:pre-wrap}.proposal{margin-top:13px;border:1px solid #cddfd3;background:#f8fff9;border-radius:14px;padding:16px}.proposal strong,.proposal small{display:block}.proposal pre,pre{background:#14241d;color:#d9ecdf;padding:14px;border-radius:10px;overflow:auto;font-size:12px;line-height:1.5}.composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px;border-top:1px solid var(--line);background:#fafcfa}.composer textarea{resize:vertical}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.lead{font-size:16px;line-height:1.6}.details{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.details div{background:#f5f7f5;border-radius:10px;padding:12px}.details dt{color:var(--muted);font-size:11px}.details dd{margin:5px 0 0;font-weight:750}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.actions form{display:flex;gap:7px}.timeline{list-style:none;padding:0;margin:20px 0}.timeline li{display:grid;grid-template-columns:14px 1fr;gap:10px;position:relative;padding-bottom:20px}.timeline li>span{width:10px;height:10px;border-radius:50%;background:var(--green);margin-top:4px}.timeline li:not(:last-child):before{content:"";position:absolute;left:4px;top:13px;bottom:0;border-left:1px solid #cbd9d0}.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:4px}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.workflow-card{border:1px solid var(--line);border-radius:14px;padding:18px}.workflow-card>div:first-child{display:flex;justify-content:space-between}.workflow-card h3{margin:18px 0 8px}.workflow-card p{color:var(--muted);min-height:42px;line-height:1.5}.workflow-card dl{display:grid;gap:8px}.workflow-card dl div{display:flex;justify-content:space-between;gap:8px}.workflow-card dt{color:var(--muted)}.workflow-card dd{margin:0;text-align:right}.workflow-card.disabled{opacity:.5}.schedule-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eef1ee}.schedule-row strong,.schedule-row small{display:block}.schedule-row small{color:var(--muted);margin-top:4px}.form-card form{display:grid;gap:13px}label{display:grid;gap:6px;font-weight:700;color:#31443a}input,select,textarea{width:100%;border:1px solid #cbd6cf;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #b9d4c2;border-color:#5f997a}.notice{margin-top:22px;background:#f2f7f3;border-left:4px solid var(--green);padding:16px 18px;border-radius:8px}.notice p{margin:6px 0 0;color:var(--muted);line-height:1.6}.muted{color:var(--muted)}.flash{padding:12px 15px;border-radius:10px;background:#e7f3eb;color:#246746;margin-bottom:18px}.flash.error{background:#fdeaea;color:#9a3333}.login-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,#2b694f 0,#15392c 38%,#0e251d 100%);display:grid;place-items:center;padding:30px}.login-panel{width:min(100%,1000px);display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:center}.login-copy{color:#fff}.login-copy h1{font-size:48px;line-height:1.18;letter-spacing:-.05em;margin:12px 0 18px}.login-copy>p:not(.eyebrow){color:#c3d8cd;font-size:17px}.login-copy ul{margin-top:34px;padding-left:20px;color:#d7e7de;line-height:2}.login-card{background:#fff;border-radius:22px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.25);display:grid;gap:17px}.login-card h2{font-size:25px;margin:10px 0 0}.login-brand{margin-bottom:8px}.login-card .muted{text-align:center}
@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}.content{padding:28px 24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.two-column,.detail-grid{grid-template-columns:1fr}.workflow-grid{grid-template-columns:repeat(2,1fr)}.details{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{display:block}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr);margin-top:20px}.sidebar-footer{margin-top:20px}.content{padding:22px 14px}.page-header{align-items:start}.environment{display:none}.hero-card{align-items:start;gap:20px;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.assistant-layout{grid-template-columns:1fr}.conversation-list{max-height:220px;overflow:auto}.workflow-grid{grid-template-columns:1fr}.login-panel{grid-template-columns:1fr}.login-copy{display:none}.login-card{padding:26px}.composer{grid-template-columns:1fr}.details{grid-template-columns:1fr 1fr}.schedules-layout{grid-template-columns:1fr}}
.pause-banner,.alert-banner{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:18px;border-radius:12px}.pause-banner{background:#fff1dc;border:1px solid #e9c789;color:#805411}.pause-banner span,.alert-banner span{font-size:13px}.alert-banner{background:#fdeaea;border:1px solid #efc3c3;color:#902f2f}.control-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.metric-grid.compact{grid-template-columns:repeat(4,1fr)}.metric-grid.compact .metric{padding:14px}.metric-grid.compact strong{font-size:25px}.switch-state{display:grid;gap:5px;padding:18px;border-radius:12px;margin:18px 0}.switch-state.enabled{background:#e1f5e9;color:#26704d}.switch-state.paused{background:#fff0e0;color:#956014}.switch-state strong{font-size:20px}.alert-list,.member-list,.guardrail-list{display:grid;gap:10px}.alert-row,.member-row,.guardrail-list>div{display:grid;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px}.alert-row{grid-template-columns:minmax(0,1fr) auto}.alert-row>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}.alert-row small{grid-column:2;color:var(--muted)}.alert-row.resolved{opacity:.55}.member-row{grid-template-columns:minmax(180px,1fr) 130px 90px auto}.member-row strong,.member-row small{display:block}.member-row small{color:var(--muted);margin-top:3px}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.guardrail-list>div{grid-template-columns:1fr auto}.guardrail-list span{color:var(--green);font-weight:750}@media(max-width:1000px){.control-grid{grid-template-columns:1fr}.member-row{grid-template-columns:1fr 120px 80px auto}}@media(max-width:720px){.pause-banner,.alert-banner,.alert-row,.member-row{grid-template-columns:1fr;display:grid}.metric-grid.compact{grid-template-columns:1fr 1fr}}
.workflow-editor{max-width:1050px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.code-input{font-family:"Cascadia Code",Consolas,monospace;font-size:12px;line-height:1.5}.rollback-form{display:grid;gap:6px;margin-top:10px;padding:10px;background:#f4f7f4;border-radius:9px}.rollback-form input{font-size:12px;padding:8px}@media(max-width:720px){.field-grid{grid-template-columns:1fr}}
.tenant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.workflow-card.selected{border:2px solid var(--green);background:#f7fff9}@media(max-width:900px){.tenant-grid{grid-template-columns:1fr}}

/* Jungwon Labs brand system, shared with the public homepage. */
.sidebar{background:#071428;color:#f8f6ef}.brand-mark{border-radius:10px;background:#fff;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand strong{font-size:13px;letter-spacing:.08em}.brand small{color:#9aa8ba;font-size:10px}.sidebar nav a{color:#b6c0cf}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(201,162,39,.17);color:#f1ce57}.sidebar .button.ghost{border-color:#43526a}.hero-card{background:linear-gradient(135deg,#071428,#0a1e3a)}.hero-card .eyebrow{color:#e8c04a}.hero-card p:last-child{color:#c4ccda}.environment{border-color:#dfd3b6;background:#fffdf7;color:#806217}.button.primary{background:#c9a227;color:#071428}.button.primary:hover{background:#e8c04a}
.login-shell{position:relative;place-items:center;background:radial-gradient(circle at 18% 15%,rgba(201,162,39,.12),transparent 28%),linear-gradient(145deg,#040d1a 0%,#071428 48%,#0a1e3a 100%);padding:56px 34px 86px;overflow:hidden}.login-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 88%);pointer-events:none}.login-panel{position:relative;z-index:1;width:min(100%,1120px);grid-template-columns:minmax(0,1.2fr) minmax(360px,.72fr);gap:84px}.login-copy{align-self:center}.login-lockup{display:block;width:285px;max-width:72%;height:auto;margin-bottom:62px;filter:brightness(0) invert(1);opacity:.96}.login-copy .eyebrow{color:#e8c04a;font-size:11px;letter-spacing:.22em}.login-copy h1{font-size:54px;line-height:1.15;margin:16px 0 22px}.login-copy h1 span{color:#e8c04a}.login-copy>p:not(.eyebrow){color:#bdc7d6;font-size:17px;line-height:1.8}.login-assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:46px;border-top:1px solid rgba(201,162,39,.35);border-bottom:1px solid rgba(201,162,39,.2)}.login-assurance div{display:grid;gap:7px;padding:19px 18px 19px 0}.login-assurance div+div{border-left:1px solid rgba(255,255,255,.1);padding-left:18px}.login-assurance strong{color:#e8c04a;font-size:11px;letter-spacing:.15em}.login-assurance span{color:#e0e5ec;font-size:12px}.login-card{border-radius:4px;padding:42px 40px 36px;box-shadow:0 30px 90px rgba(0,0,0,.38);gap:19px;border-top:3px solid #c9a227}.login-card-brand{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid #ece8df}.login-card-brand img{width:42px;height:42px;border-radius:5px}.login-card-brand strong,.login-card-brand span{display:block}.login-card-brand strong{font-size:13px;letter-spacing:.12em;color:#071428}.login-card-brand span{font-size:11px;color:#8b7551;margin-top:4px;letter-spacing:.05em}.login-card-heading{margin:6px 0 4px}.login-card-heading p{margin:0 0 8px;color:#9a791f;font-size:11px;font-weight:800;letter-spacing:.12em}.login-card-heading h2{font-size:29px;letter-spacing:-.04em;margin:0 0 8px;color:#071428}.login-card-heading span{color:#758092;font-size:13px}.login-card label{gap:8px;color:#243049;font-size:12px}.login-card input{border-radius:5px;padding:13px 14px;border-color:#d8d5cf}.login-card input:focus{outline:2px solid rgba(201,162,39,.25);border-color:#c9a227}.login-card .button{border-radius:5px;padding:13px;font-size:14px}.login-support{display:grid;gap:3px;text-align:center;padding-top:4px;color:#8a93a0;font-size:11px}.login-support a{color:#806217;font-weight:750}.login-footer{position:absolute;z-index:1;bottom:24px;left:34px;right:34px;display:flex;justify-content:space-between;color:#718096;font-size:10px;letter-spacing:.08em}
@media(max-width:900px){.login-panel{grid-template-columns:1fr;max-width:520px}.login-copy{display:block;text-align:center}.login-lockup{margin:0 auto 30px;width:245px}.login-copy h1{font-size:40px}.login-copy>p:not(.eyebrow){font-size:15px}.login-assurance{margin-top:30px;text-align:left}.login-card{padding:34px}.login-footer span:last-child{display:none}}
@media(max-width:560px){.login-shell{padding:28px 16px 68px;place-items:start center}.login-copy h1{font-size:34px}.login-copy>p:not(.eyebrow){display:none}.login-assurance{grid-template-columns:1fr}.login-assurance div{padding:11px 0;display:flex;gap:13px}.login-assurance div+div{border-left:0;border-top:1px solid rgba(255,255,255,.08);padding-left:0}.login-card{padding:27px 22px}.login-footer{left:16px;right:16px;bottom:18px;justify-content:center;text-align:center}}
.connection-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 22px}.connection-summary>div{padding:13px;background:#f7f5ef;border:1px solid #ebe4d4;border-radius:10px}.connection-summary small,.connection-summary strong{display:block}.connection-summary small{color:var(--muted);margin-bottom:5px}.test-result{margin-top:18px}.test-result p{line-height:1.6}.card hr{border:0;border-top:1px solid var(--line);margin:28px 0}.card aside form{display:grid;gap:12px}@media(max-width:720px){.connection-summary{grid-template-columns:1fr}}
.settings-stack{display:grid;gap:18px}
.proposal{border-color:#ded4b8;background:#fffdf7;padding:19px}.proposal-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}.proposal-heading small,.proposal-heading strong{display:block}.proposal-heading small{color:#8b6b18;font-weight:800;letter-spacing:.08em;margin-bottom:5px}.proposal-heading strong{font-size:17px}.proposal-heading>span{padding:5px 9px;border-radius:999px;background:#fff0c8;color:#7d5c08;font-size:11px;font-weight:800}.proposal-rationale{color:var(--muted);margin:14px 0!important}.proposal-fields{display:grid;gap:1px;margin:15px 0;background:#e8e2d4;border:1px solid #e8e2d4;border-radius:11px;overflow:hidden}.proposal-fields>div{display:grid;grid-template-columns:120px 1fr;background:#fff;padding:11px 13px;gap:12px}.proposal-fields dt{color:var(--muted);font-size:12px;font-weight:750}.proposal-fields dd{margin:0;line-height:1.55;overflow-wrap:anywhere}.proposal-empty{padding:12px;background:#f6f4ee;border-radius:9px;color:var(--muted)}.proposal-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px}.proposal-footer>small{color:var(--muted);max-width:420px;line-height:1.5}.pending-message>div{min-width:300px;padding:14px 16px;border:1px solid #e6deca;border-radius:14px;background:#fffdf8}.pending-message strong{display:block}.pending-step{color:var(--muted);margin:5px 0 10px!important}.pending-elapsed{display:block;color:#92711c;margin-top:9px}.typing-dots{display:flex;gap:4px;height:8px}.typing-dots i{width:7px;height:7px;border-radius:50%;background:#c9a227;animation:typing-bounce 1.1s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.failed-message>div{border-color:#efc3c3;background:#fff7f7}.composer[aria-busy=true]{opacity:.82}.composer button:disabled{cursor:wait}.optimistic{animation:message-in .22s ease-out}@keyframes typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}@keyframes message-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.proposal-heading,.proposal-footer{display:grid}.proposal-fields>div{grid-template-columns:1fr;gap:3px}.pending-message>div{min-width:0}}
.job-payload{margin:14px 0 20px}.job-payload dd{white-space:pre-wrap}
.member-row{grid-template-columns:minmax(180px,1fr) 130px 110px 90px auto}@media(max-width:1000px){.member-row{grid-template-columns:1fr 120px 110px 80px auto}}
.approval-notice{display:flex;align-items:center;padding:10px 13px;border-radius:10px;background:#fff7df;color:#805c14;font-weight:700}
.proposal-job-status{padding-top:14px;border-top:1px solid #e8e2d4}.proposal-job-status>div:first-child{display:grid;gap:4px}.proposal-job-status>div:first-child small{color:#8b6b18;font-weight:800}.proposal-job-status>div:first-child strong{font-size:13px;line-height:1.5}.proposal-job-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.proposal-job-actions .button{padding:7px 10px;font-size:12px}@media(max-width:720px){.proposal-job-actions{justify-content:space-between}}
.result-summary{margin:22px 0 14px;padding:15px 17px;border-radius:11px;border:1px solid #cfe4d7;background:#f2faf5}.result-summary strong{display:block;font-size:15px}.result-summary p{margin:6px 0 0;line-height:1.6;color:var(--muted)}.result-summary.warning{border-color:#ead39a;background:#fff9e9}.result-summary.warning strong{color:#805c14}.result-summary.error{border-color:#efc3c3;background:#fff3f3}.result-summary.error strong{color:#9a3333}.technical-details{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#faf9f6}.technical-details summary{padding:12px 14px;cursor:pointer;font-weight:750;color:var(--muted)}.technical-details>p{margin:0;padding:0 14px 10px;color:var(--muted);font-size:12px}.technical-details pre{margin:0 12px 12px;max-height:320px}
.composer-main{display:grid;gap:8px;min-width:0}.attachment-composer{display:flex;align-items:center;gap:10px}.attachment-button{display:inline-flex;align-items:center;width:auto;padding:7px 10px;border:1px solid #d4ccba;border-radius:8px;background:#fffdf8;color:#755a18;font-size:12px;cursor:pointer}.attachment-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attachment-help{color:var(--muted);font-size:11px}.selected-attachments,.message-attachments{display:flex;flex-wrap:wrap;gap:7px}.selected-file,.attachment-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid #ded7c8;border-radius:9px;background:#fffdf8;font-size:11px}.attachment-chip span{color:#8b6b18;font-weight:800}.attachment-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip small{color:var(--muted);white-space:nowrap}.message-attachments{margin-top:9px}.optimistic-attachment{color:var(--muted)}.message-visualizations{display:grid;gap:12px;margin-top:14px}.chart-card{margin:0;border:1px solid #ddd8cc;border-radius:14px;background:#fff;overflow:hidden}.chart-card figcaption{display:grid;gap:3px;padding:14px 16px 4px}.chart-card figcaption strong{font-size:15px}.chart-card figcaption span{font-size:12px;color:var(--muted)}.chart-canvas{width:100%;min-height:260px;padding:6px 10px 12px}.chart-svg{display:block;width:100%;height:auto;max-height:360px}.chart-axis,.chart-legend{font-family:Inter,Pretendard,"Noto Sans KR",sans-serif;font-size:10px;fill:#697386}.chart-legend{font-size:11px;fill:#344054}.chart-mark{transition:opacity .15s ease}.chart-mark:hover{opacity:.72}@media(max-width:720px){.attachment-composer{align-items:flex-start;flex-direction:column}.chart-canvas{overflow-x:auto}.chart-svg{min-width:560px}}
