@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;450;500;550;600;650;700;750;800&display=swap');
:root{font-family:'Be Vietnam Pro',system-ui,sans-serif;color:#242938;background:#f5f6fa;font-size:16px;font-synthesis:none;--accent:#6656dd;--muted:#70788a;--line:#e9ebf1;--dark:#181b29}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}button,textarea{font:inherit}button{cursor:pointer}button,a,textarea{touch-action:manipulation}button{transition:background .16s,border-color .16s,transform .16s}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #a69af5;outline-offset:4px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}button:disabled{cursor:default;opacity:.55}.sidebar{width:240px;flex-shrink:0;background:var(--dark);color:#c0c3d3;min-height:100vh;padding:32px 20px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-size:23px;font-weight:650;letter-spacing:-1px;margin:0 10px 58px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:white;width:42px;height:42px;border-radius:13px;font-size:27px;font-weight:750;letter-spacing:-2px}.brand-caption{display:block;font-size:10px;letter-spacing:2px;color:#999db3;margin-top:4px}.sidebar-label{font-size:11px;letter-spacing:1.1px;color:#8a90a8;margin:0 13px 15px}.nav-current,.nav-button{display:flex;align-items:center;gap:11px;padding:15px 13px;font-size:14px;border-radius:8px;width:100%;text-align:left}.nav-current{background:#302d4e;color:#d7ceff;border:1px solid #3f3b60;font-weight:500}.nav-button{color:#bbc0d1;border:0;background:none;margin-top:5px}.nav-button:hover{background:#252939}.side-note{margin:70px 10px 30px;border-top:1px solid #34384b;padding-top:25px}.small-tag{font-size:11px;font-weight:650;letter-spacing:1.4px;color:#9e91f5}.side-note h2{color:#f1f2f8;font-size:20px;line-height:1.65;letter-spacing:-.5px;font-weight:550;margin-top:14px}.side-note p{font-size:13px;line-height:1.9;color:#9fa5bc;margin-top:12px}.side-note button{background:transparent;border:0;padding:0;text-align:left;color:#c6bcfc;font-size:12px;line-height:1.8;margin-top:22px}.profile{display:flex;align-items:center;gap:10px;margin-top:auto;padding:20px 7px 0;border-top:1px solid #303447}.avatar{background:#34354c;color:#d9d4f4;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:12px}.profile strong{font-size:13px;display:block;color:#f1f2f8;font-weight:500}.profile div>span{font-size:11px;color:#949bb4;display:block;margin-top:5px}.profile-check{color:#9c94c8;margin-left:auto;font-size:14px}main{min-width:0;flex:1;max-width:1800px;margin:0 auto;padding:0 38px}.topbar{height:83px;border-bottom:1px solid #e5e8f0;display:flex;justify-content:space-between;align-items:center;gap:15px}.breadcrumb{font-size:13px;color:#8890a1}.breadcrumb span{margin:0 13px;color:#c3c6d2}.breadcrumb strong{color:#4f5667;font-weight:450}.demo-badge{font-size:10px;letter-spacing:.7px;padding:7px 10px;border:1px solid #dedaf6;background:#efecfc;color:#695bae;border-radius:5px;font-weight:600;white-space:nowrap}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:35px 0 29px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:600;color:#8273bf;margin-bottom:11px}h1{font-size:28px;font-weight:650;letter-spacing:-1.2px;line-height:1.45}.page-heading p{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.7}.mobile-break{display:none}.model-status{display:flex;align-items:center;gap:10px;flex-shrink:0}.status-indicator{width:8px;height:8px;border:2px solid #a0a7b6;border-radius:50%}.model-status strong{display:block;font-size:12px;font-weight:500;color:#51596c}.model-status span:not(.status-indicator){display:block;font-size:11px;color:#8790a2;margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(360px,1.65fr) minmax(290px,1fr);gap:22px;align-items:start}.chat-panel{min-width:0;background:white;border:1px solid #e2e5ee;border-radius:15px;box-shadow:0 5px 20px #292f4804;overflow:hidden;display:flex;flex-direction:column;height:650px;max-height:calc(100vh - 277px);min-height:530px}.panel-heading{display:flex;gap:12px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0}.agent-avatar{display:grid;place-items:center;background:#f0edff;color:var(--accent);width:39px;height:39px;border:1px solid #e9e3ff;border-radius:12px;font-weight:700;font-size:20px}.panel-heading h2{font-size:15px;font-weight:600}.panel-heading div>span{font-size:11px;color:#9096a5;display:block;margin-top:5px}.session-pill{margin-left:auto;font-size:11px;padding:5px 8px;border-radius:5px;background:#f4f5f9;color:#7d8598}.messages{flex:1;overflow-y:auto;scroll-behavior:smooth;padding:22px 24px 16px;overscroll-behavior:contain;min-height:0}.time-divider{display:flex;align-items:center;justify-content:center;gap:14px;font-size:10px;color:#9ba1b0;margin-bottom:24px}.time-divider:before,.time-divider:after{content:'';height:1px;background:#eef0f5;width:40px}.message{margin:0 0 21px;max-width:94%;animation:appear .22s ease-out}.message-label{font-size:10px;color:#7d8699;display:flex;align-items:center;gap:7px;margin:0 0 8px}.message-label .mini-r{color:var(--accent);font-weight:700;font-size:11px}.bubble{font-size:14px;line-height:1.85;padding:15px 18px;border-radius:0 13px 13px;background:#f5f6fa;color:#495165;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:auto;max-width:88%}.user .message-label{justify-content:flex-end}.user .bubble{background:#6b5add;color:white;border-radius:13px 0 13px 13px}.message.system .bubble{font-size:12px;background:#faf8ee;color:#776732;border:1px solid #eee8cf}.welcome-order{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e5e4f0;padding:12px 14px;border-radius:8px;margin-top:11px;text-align:left;background:white;color:#414956;width:100%}.welcome-order:hover{border-color:#b9acef;background:#fbfaff}.welcome-order strong{font-size:13px;font-weight:550}.welcome-order small{font-size:11px;color:#9196a7;display:block;margin-top:5px}.welcome-order span:last-child{color:#8176c4}.composer-area{border-top:1px solid var(--line);padding:15px 19px 13px;background:#fff;flex-shrink:0}.suggestions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.suggestions button{background:#fff;border:1px solid #e5e6ef;border-radius:6px;color:#73798b;padding:7px 8px;font-size:10px}.suggestions button:hover{color:var(--accent);border-color:#bfb4ef}.suggestions span{margin-left:7px}form{display:flex;align-items:flex-end;border:1px solid #dfe1ea;background:#fcfcfe;padding:10px;border-radius:10px;gap:10px}form:focus-within{border-color:#9586e9;box-shadow:0 0 0 3px #7661d70b}textarea{width:100%;border:0;background:none;resize:none;min-height:35px;max-height:110px;font-size:13px;line-height:1.8;padding:6px 3px;color:#353c51}textarea:focus-visible{outline:none}textarea::placeholder{color:#9aa0b1}.send{background:var(--accent);border:0;border-radius:7px;color:#fff;width:35px;height:35px;flex-shrink:0;display:grid;place-items:center}.send:hover{background:#5141c3}.composer-note{font-size:9px;color:#949cab;margin-top:10px;text-align:center;line-height:1.8}.context-panel{display:flex;flex-direction:column;gap:18px;min-width:0}.order-panel,.activity-panel{background:white;border:1px solid #e2e5ee;border-radius:13px;padding:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.section-header h2{font-size:13px;font-weight:600}.section-header>span{font-size:10px;color:#9098aa}.order-tabs{display:flex;gap:6px;padding:4px;background:#f3f4f8;border-radius:8px;margin-bottom:20px}.order-tabs button{flex:1;border:0;background:none;font-size:11px;font-weight:500;color:#8b92a4;padding:8px;border-radius:5px}.order-tabs button.selected{background:#fff;color:#5f50bb;box-shadow:0 1px 4px #1c274a0d}.order-line{display:flex;justify-content:space-between;align-items:center;gap:8px}.order-line h3{font-size:17px;font-weight:650;letter-spacing:-.5px}.order-date{color:#979fae;font-size:10px;margin-top:6px}.badge{font-size:10px;font-weight:500;padding:5px 8px;border-radius:5px;white-space:nowrap}.badge.pending{background:#fdf3de;color:#977125}.badge.delivered{background:#eaf5f0;color:#41866e}.badge.cancelled{background:#f2edf8;color:#8c68a6}.item{display:flex;gap:11px;align-items:center;margin:23px 0 19px;padding-bottom:20px;border-bottom:1px dashed #e8eaf0}.item-id{display:grid;place-items:center;width:43px;height:48px;border:1px solid #e8e5ef;border-radius:8px;background:#f7f5fc;color:#9b90bd;font-size:12px;font-weight:500}.item strong{font-size:13px;font-weight:500}.item p{font-size:10px;color:#9198a9;margin-top:6px}.order-rows{display:grid;gap:12px}.detail-row{display:flex;justify-content:space-between;gap:14px;font-size:11px;line-height:1.6}.detail-row span{color:#8e96a6}.detail-row strong{color:#575e70;font-weight:450;text-align:right}.detail-row.total{padding-top:12px;border-top:1px solid var(--line);font-size:13px}.detail-row.total strong{font-weight:650;color:#31384c}.order-policy{background:#f7f8fb;padding:12px;border-radius:7px;font-size:10px;color:#8790a1;line-height:1.8;margin-top:17px}.order-action{display:block;width:100%;padding:10px;border:1px solid #dfdaf3;background:#fbfaff;color:#7968c3;border-radius:7px;font-size:11px;font-weight:500;margin-top:13px}.order-action:hover{background:#f2edff}.activity-panel{padding-bottom:16px}.activity-empty{font-size:11px;line-height:1.8;color:#969ead;padding:2px 0 5px}.activity-item{display:flex;gap:10px;margin-top:14px;font-size:11px;line-height:1.7}.activity-icon{width:21px;height:21px;flex-shrink:0;display:grid;place-items:center;background:#f2effa;color:#8b7ac5;border-radius:50%;font-size:10px;margin-top:1px}.activity-item p{color:#626b7f}.activity-item small{font-size:9px;color:#a0a7b4;display:block;margin-top:2px}.scope-note{display:flex;gap:9px;padding:0 8px;color:#9aa2b0}.scope-note svg{width:17px;height:17px;margin-top:2px}.scope-note p{font-size:10px;line-height:1.9}footer{padding:21px 0;font-size:10px;color:#b0b6c2;display:flex;justify-content:space-between}.proposal{padding:16px;margin-top:12px;border:1px solid #e4dff5;border-radius:9px;background:white;font-size:12px;line-height:1.7;color:#576071}.proposal h3{font-size:13px;color:#4b425f;margin-bottom:9px}.proposal label{display:flex;gap:7px;align-items:flex-start;margin:10px 0;font-size:12px}.proposal input{accent-color:var(--accent);margin-top:4px}.proposal small{display:block;font-size:10px;color:#9993aa;margin-top:9px}.primary,.secondary{border-radius:7px;padding:10px 14px;font-size:12px;font-weight:500;line-height:1.6}.primary{border:1px solid var(--accent);background:var(--accent);color:white}.primary:hover{background:#5340bf}.secondary{border:1px solid #e2e3ec;background:white;color:#70768a}.proposal .primary{margin-top:8px;width:100%}.proposal-resolved{font-size:12px;color:#7c728d;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid #e5e3f0;border-radius:17px;padding:0;max-width:450px;width:calc(100% - 32px);box-shadow:0 24px 100px #1c173638;color:#42495b}dialog::backdrop{background:#171b2e66;backdrop-filter:blur(3px)}.dialog-inner{padding:30px}.dialog-inner h2{font-size:22px;letter-spacing:-.6px;margin:13px 0 14px}.dialog-inner p{font-size:13px;line-height:1.9;color:#7a8191;margin:13px 0}.dialog-inner .dialog-note{font-size:11px;line-height:1.8;color:#9890a8}.confirm-detail{display:flex;justify-content:space-between;gap:12px;border:1px solid #ece8f6;border-radius:7px;padding:14px;font-size:12px}.confirm-detail span{color:#9490a4}.confirm-detail strong{font-weight:500}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;flex-wrap:wrap}.dialog-inner>.primary{margin-top:10px}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Readable text scale across Vietnamese labels and body copy. */
.brand-caption,.sidebar-label,.small-tag,.demo-badge,.eyebrow,.time-divider,.message-label,.composer-note,.item p,.order-date,.section-header>span,.badge,.order-tabs button,.detail-row,.order-policy,.order-action,.activity-empty,.activity-item,.scope-note p,.session-pill,.suggestions button,.panel-heading div>span,.profile strong,.profile div>span,.side-note button,.model-status strong,.model-status span:not(.status-indicator),.order-rows,.activity-item small,footer,.proposal small,.dialog-inner .dialog-note{font-size:.75rem}.breadcrumb,.nav-current,.nav-button,.page-heading p,.side-note p,.panel-heading h2,.section-header h2,.welcome-order strong,.welcome-order small,textarea,.item strong,.detail-row.total,.proposal,.proposal label,.proposal h3,.proposal-resolved,.primary,.secondary,.confirm-detail,.dialog-inner p{font-size:.875rem}.bubble{font-size:1rem}.page-heading p{max-width:510px}.chat-panel{min-height:610px;height:720px;max-height:calc(100vh - 265px)}.suggestions button{padding:7px 9px}.composer-note{font-size:.75rem}.section-header>span{font-size:.75rem}.item-id{font-size:.875rem}.sidebar{width:248px}.side-note p{font-size:.875rem}.model-status{max-width:240px}.activity-item{font-size:.875rem}.scope-note p{font-size:.75rem}.profile strong{font-size:.875rem}.order-policy{font-size:.8125rem}.order-action{font-size:.875rem}.order-tabs button{font-size:.875rem}.detail-row{font-size:.875rem}.badge{font-size:.75rem}.dialog-inner p{font-size:1rem}.brand-caption{font-size:.65rem}.chat-panel .panel-heading div>span{font-size:.75rem}
@media(min-width:1550px){main{padding:0 55px}.workspace{grid-template-columns:minmax(450px,1.8fr) minmax(340px,1fr)}.chat-panel{min-height:650px}.messages{padding:25px 32px}.panel-heading{padding:22px 30px}.composer-area{padding:20px 27px}.page-heading{padding-top:42px;padding-bottom:33px}h1{font-size:32px}.order-panel,.activity-panel{padding:24px}}
@media(max-width:1180px){.sidebar{width:208px;padding:28px 13px 20px}.brand{font-size:21px;margin-left:8px}.brand-mark{width:36px;height:38px}.brand-caption{font-size:9px}.sidebar-label{font-size:10px}.nav-current,.nav-button{font-size:13px;padding:14px 10px}.side-note{margin-top:45px}main{padding:0 24px}.page-heading{align-items:flex-start}.model-status{margin-top:7px}.model-status strong{font-size:12px}.model-status span:not(.status-indicator){font-size:11px}.workspace{grid-template-columns:minmax(330px,1.45fr) minmax(275px,1fr);gap:16px}.order-panel,.activity-panel{padding:17px}.panel-heading{padding:18px}.messages{padding:20px 18px}.composer-area{padding:14px}.suggestions{gap:5px}.suggestions button{font-size:11px}h1{font-size:25px}.page-heading p{font-size:13px}}
@media(max-width:980px){.sidebar{width:78px;padding:26px 12px}.brand{margin:0 auto 32px}.brand>span:last-child,.sidebar-label,.side-note,.profile,.nav-current,.nav-button{display:none}.workspace{grid-template-columns:minmax(300px,1fr) minmax(260px,.8fr)}.page-heading{flex-direction:column;gap:15px}.model-status{display:flex;max-width:none}.model-status div{display:flex;gap:10px;align-items:center}.model-status span:not(.status-indicator){margin:0}.page-heading p{max-width:none}.chat-panel{min-height:660px;max-height:none}.topbar{height:70px}.badge{font-size:11px}.section-header h2{font-size:13px}.section-header>span{font-size:11px}}
@media(max-width:730px){body{display:block}.sidebar{width:100%;height:65px;min-height:0;flex-direction:row;align-items:center;justify-content:space-between;padding:0 20px}.brand{margin:0;gap:9px}.brand-mark{width:31px;height:32px;font-size:22px;border-radius:9px}.brand>span:last-child{display:block;font-size:20px}.brand-caption{display:none}.nav-button{display:flex;width:auto;margin:0;font-size:12px;padding:10px;color:#dbd8ef}.nav-button svg{width:15px}.sidebar .nav-current{display:none}main{padding:0 18px}.topbar{height:57px;gap:5px}.breadcrumb{font-size:11px}.breadcrumb span{margin:0 6px}.demo-badge{font-size:9px;padding:6px}.page-heading{padding:24px 0;gap:12px}h1{font-size:27px;letter-spacing:-1px}.page-heading p{font-size:13px}.eyebrow{font-size:10px}.workspace{display:flex;flex-direction:column;gap:20px}.chat-panel{width:100%;height:640px;min-height:0;max-height:none}.context-panel{width:100%;display:grid;grid-template-columns:1fr;gap:16px}.panel-heading{padding:17px}.messages{padding:18px 16px}.bubble{font-size:15px}.suggestions button{font-size:11px}.composer-note{font-size:10px}.section-header h2{font-size:15px}.order-panel,.activity-panel{padding:21px}.section-header>span,.badge{font-size:12px}.order-date,.item p{font-size:12px}.item strong{font-size:15px}.detail-row{font-size:14px}.order-policy{font-size:13px}.order-action{font-size:14px;padding:12px}.order-tabs button{font-size:14px}.item{margin-top:20px}.model-status strong{font-size:12px}.model-status span:not(.status-indicator){font-size:11px}.dialog-inner{padding:23px}.dialog-inner h2{font-size:22px}.dialog-inner p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.login-shell{position:fixed;inset:0;z-index:20;background:#181b29;display:grid;place-items:center;padding:24px}.login-shell[hidden]{display:none}.login-card{background:white;border-radius:20px;padding:36px;max-width:440px;width:100%;display:grid;gap:18px}.login-card h1{font-size:30px;line-height:1.2}.login-card p{line-height:1.6}.login-card input{font:inherit;padding:12px;border:1px solid #aeb4c2;border-radius:8px;min-width:0}.login-card label{font-weight:600}#login-error{color:#a32338;min-height:24px}.proposal-error{color:#a32338;line-height:1.5}button:disabled{cursor:wait;opacity:.6}.order-empty{padding:24px;line-height:1.7}.model-status strong{display:block}.messages:empty{min-height:300px}

.conversation-context{padding:10px 20px;margin:0;background:#f0f3ff;border-bottom:1px solid #dce1f2;font-size:14px;color:#374273;line-height:1.5}.message-label{flex-wrap:wrap;line-height:1.5}

.agent-trace { font-size: 12px; color: #555c70; margin: 10px 0 0 34px; overflow-wrap: anywhere; }
.agent-trace summary { cursor: pointer; padding: 5px 0; }
.agent-trace p { margin: 6px 0; }
.agent-trace small, .replay-note { display: block; line-height: 1.5; }
.messages[aria-busy="true"] { opacity: .85; }

.provider-controls { padding: 12px 22px; border-bottom: 1px solid #e8eaf0; background: #f8f9fc; }
.provider-controls label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 6px; color: #41465a; }
.provider-controls select { width: 100%; max-width: 400px; border: 1px solid #cbd0de; border-radius: 8px; padding: 9px 12px; font: inherit; font-size: 13px; background: white; color: #25293b; }
.provider-controls select:focus-visible { outline: 2px solid #675fe8; outline-offset: 2px; }
.provider-controls select:disabled { opacity: .65; }
.provider-controls p { margin: 6px 0 0; font-size: 11px; line-height: 1.5; color: #555c70; overflow-wrap: anywhere; }
.provider-controls small { display: block; margin-top: 4px; font-size: 11px; color: #555c70; }
