/* MIMO Web 1.2 — unified design system. User-supplied MIMO brand assets. */
:root{--brand:#336beb;--brand-dark:#2258d1;--brand-soft:#edf3ff;--ink:#17243b;--text:#29384e;--muted:#7889a1;--light:#f6f8fc;--line:#e6ebf3;--line2:#d9e2ee;--shadow:0 14px 38px rgba(26,51,92,.045);font-family:Inter,'Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft Yahei',sans-serif}
body{font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}button,button:focus-visible,a:focus-visible{transition:background .18s,border-color .18s,color .18s,box-shadow .18s}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #82a8fb;outline-offset:3px}button:disabled{opacity:.5}
/* User-facing conversation */
.shell{background:#fff}.sidebar{width:278px;min-width:278px;padding:26px 13px 16px;background:#f7f9fc;border-right:1px solid #ecf0f6}
.sidebar .brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:4px 12px 30px}
.sidebar .brand .brand-full{width:168px;height:auto;max-height:50px;object-fit:contain;object-position:left center}
.brand-subtitle{font-size:11px;color:#8a96a7;padding:4px 0 0 4px;letter-spacing:.03em}
.sidebar .brand .close-mobile{position:absolute;right:8px;top:6px}
.new-chat{min-height:48px;padding:12px 15px;border-radius:13px;border:1px solid #dee6f3;box-shadow:0 4px 14px rgba(31,66,125,.035);font-size:13px;font-weight:650;color:#273954}
.new-chat .plus{font-size:22px;color:#3572ef}.key-hint{background:#f2f5fb;border:1px solid #e9eef6;border-radius:5px;padding:3px 5px;font-size:10px}
.side-heading{padding:32px 16px 12px;text-transform:uppercase;letter-spacing:.10em;font-size:10px;color:#92a1b6}
.history-item{min-height:43px;font-size:12.5px;color:#596a83;border-radius:10px;padding:11px 12px;margin-bottom:3px}
.history-item.active{background:#e8f0ff;color:#275ac5}.history-item::before{content:'◱';font-size:14px;color:#9aaaC1}
.side-footer{margin:8px 7px 0;padding:18px 5px 0}.settings-trigger{font-size:13px!important;padding:12px 10px!important;border-radius:10px!important}.side-info{font-size:11px;color:#657891}.release{font-size:10px}
.chat-main{background:linear-gradient(174deg,#fbfcff 0%,#fff 29%,#fff 85%)}
.chat-header{height:76px;padding:0 46px;border-bottom:1px solid #edf1f6;background:rgba(255,255,255,.86);backdrop-filter:blur(14px)}
.header-title{font-size:14px;color:#223049;font-weight:720}.header-sub{font-size:12px;color:#8c9aac}.header-right{font-size:12px;color:#8493a8}
.chat-column{max-width:868px;padding:0 34px}.welcome{padding:35px 0 68px}.welcome-emblem{width:90px;height:90px;border-radius:27px;background:linear-gradient(140deg,#f9fbff,#e9f0fb);border:1px solid #e4edf9;box-shadow:0 18px 40px rgba(53,93,156,.085);margin-bottom:24px}.welcome-emblem img{width:78px;height:78px}
.welcome .eyebrow{font-size:11px;color:#718aae;letter-spacing:.19em}.welcome h1{font-size:clamp(27px,3vw,40px);font-weight:740;color:#1d2a41;letter-spacing:-.045em;margin:15px 0 15px}.welcome p{font-size:14px;color:#8392a7;line-height:1.9;margin:0 auto 32px;max-width:550px}
.suggestions{gap:11px;max-width:670px;margin:auto}.suggestions button{border:1px solid #e3e9f3;box-shadow:0 5px 13px rgba(38,62,105,.027);border-radius:13px;padding:12px 17px;font-size:12px;color:#5a6f89;background:#fff}.suggestions button:hover{transform:translateY(-1px);border-color:#b9cfff;box-shadow:0 9px 21px rgba(42,95,194,.07)}
.messages{padding-top:39px;gap:35px;padding-bottom:10px}.message-row{gap:15px}.message-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:#f2f6fd;box-shadow:inset 0 0 0 1px #e9eff9}.message-avatar img{width:33px;height:33px}
.message-name{font-size:13px;margin:6px 0 13px}.message-row.user .message-body{font-size:14px;max-width:min(81%,630px);padding:14px 19px;color:#33455d;border-radius:19px 19px 6px 19px;background:#edf2fa}
.message-row.assistant .message-body{font-size:14px;line-height:1.9}.md{font-size:14px;line-height:1.87;color:#344359}.md h1{font-size:25px}.md h2{font-size:20px}.md h3{font-size:17px}.md p{margin:0 0 14px}.md ul,.md ol{line-height:1.9}.message-actions button{padding:7px 10px;font-size:12px}
.composer-wrap{padding:16px 28px 20px;background:linear-gradient(0deg,#fff 82%,rgba(255,255,255,0))}.composer-container{max-width:812px}.composer{padding:16px 17px 13px 18px;border-radius:20px;border:1px solid #dbe4f1;box-shadow:0 12px 44px rgba(30,58,108,.10),0 2px 5px rgba(30,58,108,.03)}.composer:focus-within{border-color:#a9c3f8;box-shadow:0 12px 46px rgba(40,85,162,.13)}.composer textarea{font-size:14px;line-height:1.8;min-height:36px;padding:4px 1px}.composer-tools{padding-top:10px}.composer-tools-left{gap:10px}.attach-button{height:35px;width:35px;border-radius:10px}.attachment-label,.send-limit{font-size:12px}.send-button{width:40px;height:40px;border-radius:12px;background:#336ce9;font-size:23px;box-shadow:0 5px 12px rgba(49,105,237,.16)}.composer-note{font-size:10px;margin-top:10px;color:#99a6b9;line-height:1.65}
.thinking{gap:15px}.thinking-panel{max-width:500px}.thinking-header strong{font-size:13px}.thinking-list{max-width:460px;background:#f9fbff;border:1px solid #e6edfa;border-radius:16px;padding:16px 18px;gap:12px}.thinking-item{font-size:12px}.thinking-top{font-size:13px}.thinking-tip{font-size:11px}.typing-cursor{background:#346be8}
.settings-dialog{width:min(530px,calc(100vw - 24px));border-radius:22px}.settings-dialog-head{padding:28px 31px 21px}.settings-dialog-content{padding:26px 31px 34px}.settings-danger-card{background:#fff;border:1px solid #f1dde0;padding:21px;border-radius:15px}.settings-danger-text strong{font-size:14px}.settings-danger-text p{font-size:12px}.settings-account-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9eef5;gap:14px;margin-top:26px;padding-top:23px}.settings-account-row strong{font-size:14px}.settings-account-row p{margin:6px 0 0;color:#8696ac;font-size:12px}.settings-account-row button{margin:0;flex-shrink:0}
/* Admin interface */
.admin-app{background:#f5f7fb}.admin-shell{background:#f5f7fb}.admin-side{position:sticky;top:0;height:100dvh;width:252px;min-width:252px;padding:26px 13px 20px;border-right:1px solid #e5eaf3;background:#fff}
.admin-side .brand{padding:6px 12px 29px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.admin-side .brand .admin-brand-img{width:154px;height:auto;max-height:43px;object-fit:contain;object-position:left center}.admin-brand-tag{background:#eff4ff;color:#3266c5;font-size:9px;letter-spacing:.14em;font-weight:800;border-radius:5px;padding:4px 7px;margin-left:2px}
.admin-side .side-heading{padding:20px 16px 9px;letter-spacing:.11em}.admin-nav{font-size:13px;min-height:47px;gap:12px;padding:13px 14px;margin:3px 0;border-radius:12px}.admin-nav:hover{background:#f5f8fd}.admin-nav.active{background:#eaf1ff;color:#285dce}.admin-nav .nav-ico{flex:none;display:inline-grid;place-items:center;width:22px;font-size:18px;font-weight:500}.admin-nav span:nth-child(2){flex:1}.admin-side-bottom{font-size:12px;padding-top:20px}.logout{font-size:12px}
.admin-main{padding:0 clamp(18px,3vw,48px) 48px;max-height:100dvh}.admin-top{height:110px;margin-bottom:26px}.admin-top .eyebrow{font-size:10px;letter-spacing:.14em}.admin-top h1{font-size:26px;font-weight:750;margin:8px 0 0}.top-actions{gap:18px}.admin-avatar{width:40px;height:40px;border-radius:13px;object-fit:contain;background:#edf2fa;padding:3px}.outline-button{font-size:12px;border-radius:10px;padding:11px 15px;color:#4f6077;border-color:#dce5f0}.primary-button{font-size:13px;padding:12px 18px;border-radius:11px}
.stats{gap:18px;margin-bottom:22px}.stat{border:1px solid #e6ebf3;border-radius:17px;padding:24px 26px;box-shadow:0 7px 25px rgba(30,54,105,.026)}.stat span{font-size:12px;font-weight:570;color:#7e8ea6}.stat strong{font-size:34px;margin:10px 0 8px;color:#223450;letter-spacing:-.065em}.stat small{font-size:11px;color:#9aa7b8}.stat:first-child{background:linear-gradient(125deg,#fff,#f4f8ff);border-color:#dce8fb}
.workarea{grid-template-columns:minmax(280px,31%) minmax(0,1fr);gap:19px;min-height:650px}.ticket-list,.ticket-detail,.panel{border:1px solid #e2e9f2;border-radius:17px;box-shadow:0 10px 28px rgba(28,56,101,.032)}.panel-head{padding:22px 23px}.panel-head h2{font-size:15px}.panel-head small{font-size:12px}.ticket-item{gap:11px;padding:20px 22px}.ticket-item.active{border-left:4px solid #3772e9;padding-left:18px;background:#f0f5ff}.ticket-item strong{font-size:13px}.ticket-item p{font-size:12px}.ticket-item time{font-size:11px}.ticket-item .ticket-line small{font-size:11px;color:#8493a8}.pill{padding:6px 11px;font-size:11px}
.detail-bar{padding:24px 26px 19px}.detail-bar h2{font-size:17px;font-weight:720}.detail-bar small{font-size:11px}.task-chat{padding:25px 27px;min-height:200px;max-height:350px;gap:18px;background:#fdfdff}.admin-message .admin-message-label{font-size:11px;margin-bottom:8px}.admin-message.user .admin-message-content{font-size:13px;padding:13px 17px;background:#eef2f9;border-radius:14px 14px 14px 4px;line-height:1.85}.admin-message.assistant .admin-message-content{font-size:13px;padding:13px 17px;background:#f1f7ff}.admin-file{font-size:12px;border-radius:9px;padding:9px 12px}
.task-actions{padding:16px 26px;gap:9px}.reply-editor{padding:24px 27px}.reply-editor-top{margin-bottom:15px}.reply-editor-top strong{font-size:14px}.reply-editor-top span{font-size:11px}.reply-editor textarea{font-size:13px;line-height:1.85;min-height:174px;border-radius:12px;padding:16px;border:1px solid #d8e2ef}.reply-preview{border-radius:12px;margin-top:14px;padding:18px}.reply-actions{margin-top:16px;flex-wrap:wrap;gap:9px}.reply-actions button{min-height:39px}.settings-panel,.history-panel{border-radius:17px}.settings-panel{padding:28px}.settings-panel h2{font-size:19px}.settings-panel p{font-size:13px;line-height:1.9}.setting-row{font-size:13px}.toast{font-size:13px;padding:13px 18px;border-radius:12px}
.empty-task .empty-brand{width:85px;height:85px;margin:0 auto 15px;opacity:.6;filter:grayscale(.2)}.empty-task h3{font-size:19px;color:#3b4b64}.empty-task p{font-size:13px;color:#98a5b9}
/* Login */
.login-screen{position:relative;overflow:hidden;min-height:100dvh;isolation:isolate;background:linear-gradient(145deg,#f8fbff,#f1f5fb 54%,#f9fbff)}
.login-decoration{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(8px)}.decor-one{width:480px;height:480px;left:-180px;top:-190px;background:radial-gradient(circle,rgba(164,200,250,.27),transparent 70%)}.decor-two{width:570px;height:570px;right:-260px;bottom:-270px;background:radial-gradient(circle,rgba(132,169,234,.22),transparent 65%)}
.login-card{width:min(450px,calc(100vw - 32px));background:rgba(255,255,255,.96);border:1px solid #e2eaf5;border-radius:24px;box-shadow:0 24px 90px rgba(36,66,107,.095),0 2px 7px rgba(36,66,107,.025);padding:44px 43px 31px;gap:0;position:relative}
.login-card .login-wordmark{width:203px;height:auto;margin:0 0 29px;object-fit:contain;object-position:left center}
.login-kicker{font-size:10px;letter-spacing:.18em;color:#6590d0;font-weight:800;margin-bottom:11px}.login-card h1{color:#1e2d46;font-size:29px;letter-spacing:-.04em;line-height:1.4;font-weight:750;margin:0 0 10px}.login-card p{color:#8797ad;font-size:13px;line-height:1.85;margin:0 0 30px}.login-card label{font-size:12px;color:#52637d;margin:0 0 11px;font-weight:650}.password-field{position:relative;margin-bottom:8px}.password-field input{width:100%;height:49px;font-size:14px;color:#263b57;background:#fbfcff;padding:0 70px 0 15px;border:1px solid #d8e3f2;border-radius:12px;margin:0}.password-field input:focus{outline:0;border-color:#7fa7f2;box-shadow:0 0 0 4px #eaf1ff}.password-toggle{position:absolute;right:9px;top:9px;height:31px;background:transparent;border:0;border-radius:8px;color:#6c88b3;font-size:12px;padding:0 10px}.password-toggle:hover{background:#edf3ff}.login-card .primary-button{width:100%;min-height:49px;margin:16px 0 0;display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;border-radius:12px;box-shadow:0 8px 20px rgba(36,100,212,.17)}.login-card .error{margin-top:10px}.login-footer{margin-top:28px;text-align:center;color:#a9b4c5;font-size:11px}.login-footer span{padding:0 6px;color:#d4dae5}
@media(max-width:1150px){.admin-side{width:215px;min-width:215px}.admin-main{padding:0 22px 36px}.workarea{grid-template-columns:minmax(230px,32%) minmax(0,1fr)}.reply-editor,.task-chat{padding:20px}.task-actions{padding:13px}.admin-top h1{font-size:23px}}
@media(max-width:760px){.sidebar{width:282px;min-width:282px}.sidebar .brand .brand-full{width:150px}.chat-header{padding:0 19px;height:62px}.chat-column{padding:0 19px}.welcome{padding:32px 0 60px}.welcome-emblem{width:77px;height:77px}.welcome-emblem img{width:69px;height:69px}.welcome h1{font-size:29px}.welcome p{font-size:13px}.suggestions{gap:9px}.suggestions button{padding:11px 14px;font-size:12px}.message-row.user .message-body{max-width:91%;font-size:13px}.md{font-size:13px}.composer-wrap{padding:8px 11px 12px}.composer{border-radius:17px;padding:12px 13px}.composer-note{font-size:10px}.attachment-label{display:none}.send-limit{font-size:11px;margin-left:4px}.thinking-list{max-width:100%}.admin-side{height:auto;position:sticky;padding:9px 12px;background:rgba(255,255,255,.97);border-bottom:1px solid #e6edf6;box-shadow:0 2px 12px #243a5209}.admin-side .brand{min-width:125px;padding:4px 8px;gap:2px}.admin-side .brand .admin-brand-img{width:105px;height:auto}.admin-brand-tag{font-size:8px;padding:2px 5px}.admin-nav{padding:10px 10px;margin:0;font-size:11px;min-height:39px}.admin-nav .nav-ico{width:17px;font-size:14px}.admin-main{max-height:none;padding:0 12px 24px}.admin-top{height:79px;margin-bottom:16px}.admin-top h1{font-size:21px}.admin-top .top-actions button{font-size:11px;padding:9px}.stats{gap:8px;margin-bottom:14px}.stat{padding:14px 12px;border-radius:13px}.stat strong{font-size:27px}.stat span{font-size:11px}.stat small{font-size:10px}.workarea{display:flex;flex-direction:column;gap:12px}.ticket-scroll{max-height:210px}.ticket-detail{min-height:500px}.panel-head{padding:16px 17px}.detail-bar{padding:17px}.task-chat{max-height:330px}.task-actions{padding:12px 16px}.task-actions button{font-size:11px;flex:1 1 auto}.reply-editor{padding:17px}.reply-actions{justify-content:stretch}.reply-actions button{font-size:12px;flex:1}.login-card{padding:35px 27px 27px}.login-card .login-wordmark{width:185px}.login-card h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.login-decoration,.thinking-star,.thinking-dots i{animation:none}}
