:root{color:#16313d;font-synthesis:none;--ink:#16313d;--muted:#657d88;--line:#d8e3e8;--surface:#fff;--nav:#132c38;--accent:#1686a7;--accent-dark:#0f6f8c;--mint:#2fb879;--danger:#c54d52;background:#eaf1f4;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #1686a7}.app-shell{grid-template-rows:64px minmax(0,1fr);min-height:100vh;display:grid}.topbar{background:var(--nav);color:#fff;border-bottom:1px solid #29424d;justify-content:space-between;align-items:center;height:64px;padding:0 22px;display:flex}.brand{color:#fff;align-items:center;gap:11px;text-decoration:none;display:flex}.brand img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:38px;height:38px}.brand span{align-items:baseline;gap:10px;display:flex}.brand strong{font-size:17px}.brand small{color:#a9c0ca;font-size:12px}.secure-state{color:#bcd3dc;align-items:center;gap:7px;font-size:12px;display:flex}.workspace{grid-template-columns:228px minmax(430px,1fr) 334px;height:calc(100vh - 64px);min-height:0;display:grid}.progress-panel,.draft-panel{background:#f7fafb;min-height:0}.progress-panel{border-right:1px solid var(--line);flex-direction:column;padding:22px 18px;display:flex}.draft-panel{border-left:1px solid var(--line);flex-direction:column;display:flex}.panel-heading{color:#6b818b;justify-content:space-between;align-items:center;height:42px;font-size:12px;font-weight:700;display:flex}.panel-heading strong{color:var(--accent)}.draft-panel>.panel-heading{border-bottom:1px solid var(--line);height:56px;color:var(--ink);padding:0 18px;font-size:14px}.save-state{color:#79909a;font-size:11px;font-weight:500}.steps{margin:10px 0 0;padding:0;list-style:none;position:relative}.steps:before{content:"";background:#ccd9df;width:1px;position:absolute;top:17px;bottom:48px;left:13px}.steps li{color:#82949c;gap:12px;min-height:76px;display:flex;position:relative}.step-marker{z-index:1;background:#f7fafb;border:1px solid #bfced5;border-radius:50%;flex:0 0 27px;place-items:center;width:27px;height:27px;display:grid}.steps div{flex-direction:column;gap:4px;padding-top:2px;display:flex}.steps strong{color:#6f858f;font-size:13px}.steps small{font-size:11px;line-height:1.5}.steps li.active .step-marker{background:var(--accent);border:7px solid #d8eef4}.steps li.active strong{color:var(--ink)}.steps li.complete .step-marker{background:var(--mint);color:#fff;border-color:var(--mint)}.support-note{color:#526d78;background:#edf6f8;border:1px solid #d7e6eb;border-radius:6px;margin-top:14px;padding:14px}.support-note svg{color:var(--accent)}.support-note p{margin:8px 0 0;font-size:11px;line-height:1.75}.portal-link{color:#607983;align-items:center;gap:8px;margin-top:auto;padding:10px 3px;font-size:12px;text-decoration:none;display:flex}.chat-panel{background:#edf3f6;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.chat-heading{border-bottom:1px solid var(--line);background:#ffffffc2;justify-content:space-between;align-items:center;min-height:76px;padding:15px 24px;display:flex}.chat-heading h1{margin:0 0 5px;font-size:16px}.chat-heading p{color:var(--muted);margin:0;font-size:11px}.connection{color:#607983;align-items:center;gap:7px;font-size:11px;display:flex}.connection i{background:var(--mint);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #d8f3e6}.message-list{padding:30px max(22px,50% - 380px);overflow-y:auto}.message{gap:10px;margin-bottom:25px;display:flex}.message>img{object-fit:cover;border:1px solid #d5e1e6;border-radius:50%;flex:0 0 33px;width:33px;height:33px}.message-content{max-width:min(78%,660px)}.message.user{justify-content:flex-end}.speaker{color:#546e79;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.bubble{overflow-wrap:anywhere;background:#fff;border-radius:6px;padding:11px 14px;font-size:13px;line-height:1.75;box-shadow:0 2px 9px #1b3d4b0f}.user .bubble{color:#fff;box-shadow:none;background:#176f89}.bubble p{margin:0}.bubble p+p{margin-top:8px}.message time{color:#8aa0aa;margin-top:5px;font-size:10px;display:block}.user time{text-align:right}.cursor{vertical-align:-2px;background:var(--accent);width:2px;height:1em;margin-left:3px;animation:1s steps(2,end) infinite blink;display:inline-block}.inline-error{color:#a33e43;background:#fff5f5;border:1px solid #ecced0;border-radius:5px;align-items:center;gap:8px;width:fit-content;margin:10px auto;padding:9px 12px;font-size:12px;display:flex}.composer-wrap{background:linear-gradient(#0000,#edf3f6 30%);padding:14px 24px 19px}.composer{background:#fff;border:1px solid #cbdbe2;border-radius:7px;align-items:flex-end;gap:10px;max-width:760px;min-height:54px;margin:0 auto;padding:8px 8px 8px 14px;display:flex;box-shadow:0 5px 20px #173b4812}.composer:focus-within{border-color:#75afc0}.composer textarea{resize:none;min-height:36px;max-height:130px;color:var(--ink);border:0;outline:0;flex:1;padding:8px 0;font-size:13px;line-height:1.5}.composer textarea::placeholder{color:#95a9b2}.attach-button{color:#66808b;cursor:pointer;flex:0 0 34px;place-items:center;width:34px;height:38px;display:grid}.attach-button:hover{color:var(--accent)}.attach-button input{display:none}.icon-button{color:#fff;cursor:pointer;border:0;border-radius:5px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.icon-button.send{background:var(--accent)}.icon-button.send:hover{background:var(--accent-dark)}.icon-button.stop{background:var(--danger)}.icon-button:disabled{opacity:.35;cursor:default}.draft-scroll{min-height:0;padding:16px 18px 24px;overflow-y:auto}.draft-field{margin-bottom:14px;display:block}.draft-field>span{color:#596f79;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.draft-field input,.draft-field textarea{width:100%;color:var(--ink);resize:vertical;background:#fff;border:1px solid #d5e1e6;border-radius:5px;padding:9px 10px;font-size:12px;line-height:1.55}.draft-field input:focus,.draft-field textarea:focus{border-color:#78b0bf;outline:0}.draft-field input::placeholder,.draft-field textarea::placeholder{color:#acbbc1}.attachment-list>span{color:#596f79;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.attachment-list>div{background:#fff;border:1px solid #d9e4e8;border-radius:5px;grid-template-columns:16px 1fr auto;align-items:center;gap:5px;padding:8px;font-size:11px;display:grid}.attachment-list small{color:#82969e}.review-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;gap:8px;height:48px;margin:0 18px 18px;font-size:13px;font-weight:700;display:flex}.review-button:hover{background:var(--accent-dark)}.review-button:disabled{cursor:default;background:#b7c8cf}.dialog-backdrop{z-index:20;background:#0d222c8a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.review-dialog{background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:min(780px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 22px 70px #06181f40}.review-dialog header{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 25px 17px;display:flex}.review-dialog h2{margin:4px 0 0;font-size:19px}.eyebrow{color:var(--accent);font-size:11px;font-weight:800}.plain-icon{color:#70858e;cursor:pointer;background:0 0;border:0;width:34px;height:34px}.review-body{padding:8px 25px;overflow-y:auto}.review-row{border-bottom:1px solid #e4ecef;grid-template-columns:150px 1fr;gap:20px;padding:14px 0;display:grid}.review-row>span{color:#6a808a;font-size:11px;font-weight:700}.review-row p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65}.review-dialog footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 25px;display:flex}.secondary-button,.submit-button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.secondary-button{color:#536b75;background:#fff;border:1px solid #cbd9df}.submit-button{background:var(--accent);color:#fff;border:0}.submit-button:hover{background:var(--accent-dark)}.submit-button:disabled{opacity:.65}.success-view,.centered-state{text-align:center;background:#edf3f6;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.success-mark,.state-icon{color:#218a5c;background:#d9f2e6;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:19px;display:grid}.state-icon{color:var(--accent);background:#dceef3}.success-view h1,.centered-state h1{margin:6px 0 8px;font-size:24px}.success-view>p,.centered-state>p{color:var(--muted);margin:0;font-size:13px}.case-number{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:280px;margin:28px 0 18px;padding:15px 22px}.case-number span{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.case-number strong{font-size:17px}.success-view .submit-button{min-width:280px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:0}}@media (width<=1080px){.workspace{grid-template-columns:190px minmax(390px,1fr) 290px}.message-list{padding-inline:22px}}@media (width<=820px){.app-shell{grid-template-rows:58px auto}.topbar{height:58px;padding:0 14px}.brand small,.secure-state{display:none}.workspace{flex-direction:column;height:auto;min-height:calc(100vh - 58px);display:flex}.progress-panel{border:0;border-bottom:1px solid var(--line);order:0;padding:8px 14px}.progress-panel .panel-heading,.support-note,.portal-link,.steps small{display:none}.steps{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.steps:before{width:auto;height:1px;inset:13px 16.6% auto}.steps li{justify-content:center;align-items:flex-start;gap:5px;min-height:48px}.steps li div{padding-top:5px}.steps strong{font-size:10px}.chat-panel{order:1;height:calc(100vh - 125px);min-height:66vh}.chat-heading{min-height:62px;padding:10px 14px}.chat-heading h1{font-size:14px}.chat-heading p,.connection{display:none}.message-list{padding:20px 13px}.message-content{max-width:84%}.composer-wrap{padding:10px 12px 14px}.draft-panel{border:0;border-top:1px solid var(--line);order:2;min-height:520px}.review-dialog footer{flex-direction:column-reverse}.secondary-button,.submit-button{width:100%}.review-row{grid-template-columns:1fr;gap:5px}}
