/* KefuDesk Console: operational data first, restrained ocean-blue identity. */
:root{--bg:#f3f5f9;--panel:#fff;--border:#e0e6ef;--text:#20334c;--muted:#607188;--accent:#2b64bc;--violet:#2b64bc;--pink:#2b64bc;--grad:#2b64bc;--ok:#187356;--warn:#94631c;--danger:#b53c4d;--shadow:0 3px 16px #1b355006;--ink:#13263f;--console-ease:cubic-bezier(.22,.8,.25,1);--console-ring:#2b64bc3d}
body{font-family:"Segoe UI Variable Text","Microsoft YaHei UI","PingFang SC",sans-serif;background:var(--bg);line-height:1.65}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}.skip-link{position:fixed;left:20px;top:12px;z-index:1000;padding:10px 16px;background:var(--accent);color:#fff;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.muted{color:var(--muted)}button{border-radius:8px;font-size:12px;min-height:38px;font-weight:550;box-shadow:none;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}button:hover{background:#eef4fc;border-color:#afc4e2}button:active{transform:translateY(1px);background:#e5eefb}button.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 2px 4px #1d4c8d12}button.primary:hover{background:#2458a7;border-color:#2458a7;box-shadow:0 4px 12px #2458a722}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{border:1px solid #c8d3e3;border-radius:8px;background:#fcfdff;color:var(--text);caret-color:var(--accent);min-height:40px;box-shadow:none}input::placeholder,textarea::placeholder{color:#718198;opacity:1}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--console-ring)}input[type=checkbox]{accent-color:var(--accent);min-height:0}input[type=range]{accent-color:var(--accent)}.field label{color:var(--muted);font-size:12px;line-height:1.7}.field input,.field select{min-width:0}
#app>aside{background:var(--ink);width:230px;padding:26px 14px 16px;color:#eaf0fa;border-right:1px solid #213954}#app>aside .wordmark{padding:0 13px 28px}.wordmark{font-weight:650;letter-spacing:.015em}.brand-mark{border-radius:10px;background:#d9eaff;color:#1c477c;font-size:19px;box-shadow:none;width:36px;height:36px}.brand-sub{font-size:10px;letter-spacing:.14em;color:#9eb6d4}.nav-label{color:#91a8c4;font-size:10px;letter-spacing:.1em;padding:20px 14px 9px}nav{gap:3px}nav a{border-radius:8px;min-height:41px;font-size:12px;color:#b5c6dc;padding:10px 14px;transition:background .18s,color .18s,box-shadow .18s}nav a svg{width:17px;height:17px;opacity:.9}nav a:hover{background:#203955;color:#fff}nav a.active{background:#24415f;color:#fff;box-shadow:inset 3px 0 #82bfff;font-weight:600}nav a.active svg{color:#a5d0ff}.aside-foot{border-top:1px solid #2a405a;padding:18px 13px 3px;margin-top:18px}.aside-account-label{font-size:10px;color:#a1b7d1}.aside-foot strong{font-size:13px;font-weight:550}.aside-foot button{background:#1d3550;color:#d7e4f4;border-color:#36516f;min-height:32px;font-size:11px}.aside-foot button:hover{background:#2b4968}.console-edition{margin-top:auto;padding:24px 14px 0}.console-edition>span{display:block;font-size:11px;color:#c2d3e8}.console-edition>small{display:block;font-size:10px;color:#91a8c4;margin-top:4px}.workspace{margin-left:230px}.topbar{height:74px;padding:0 34px;background:#ffffffed;border-bottom:1px solid var(--border);backdrop-filter:blur(12px);position:sticky}.topbar:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--accent)}body:has(main[aria-busy=true]) .topbar:after{animation:console-load 1s ease-in-out infinite}.breadcrumb{font-size:12px}.breadcrumb strong{font-weight:600}.breadcrumb span{color:#a9b7ca}.topbar-actions{gap:16px}.topbar button{min-height:34px;padding:6px 12px;font-size:11px;background:#f8fafd}.topbar button svg{width:14px;height:14px}.sync-state{font-size:11px;color:var(--muted);white-space:nowrap}.sync-state:before{background:var(--ok);width:5px;height:5px}.sync-error{color:var(--danger)}.console-clock{display:flex;gap:10px;align-items:center;padding-right:16px;border-right:1px solid var(--border);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.console-clock time{font-size:11px;color:#3d526d}main{padding:30px 34px 0;max-width:1640px;min-width:0;outline:none}.view{min-width:0}.view>h2{font-size:25px;letter-spacing:.01em;margin:0 0 24px;line-height:1.5;font-weight:650}.page-heading{margin-bottom:26px;align-items:flex-end}.page-heading h2{font-size:27px;letter-spacing:.01em;margin-bottom:7px}.eyebrow{color:var(--accent);font-size:10px;font-weight:650;letter-spacing:.14em;margin-bottom:8px}.page-heading .muted{font-size:12px}.page-tag{font-size:10px;background:#eaf2fc;border:1px solid #d2e2f7;color:#3a6296;padding:5px 9px;border-radius:6px;white-space:nowrap}.stats{grid-template-columns:1.15fr 1fr 1fr;gap:17px;margin-bottom:22px}.stat{border-radius:12px;padding:23px 25px;position:relative;overflow:hidden;border:1px solid var(--border);box-shadow:0 3px 12px #233d5c03}.stat .label{font-size:12px;color:var(--muted);font-weight:500}.stat .num{font-size:37px;letter-spacing:-.035em;font-weight:600;line-height:1.25;color:var(--text);margin:12px 0;font-variant-numeric:tabular-nums}.stat-unit{font-size:12px;letter-spacing:0;margin-left:6px;font-weight:400}.stat-note{font-size:11px;color:var(--muted)}.stat-featured{background:#1c3d66;border-color:#1c3d66;color:#fff}.stat-featured .label{color:#c0d6ef}.stat-featured .num{color:#fff}.stat-featured .stat-note{color:#c0d6ef}.stat-featured:after{content:"";position:absolute;right:-13px;top:-35px;width:116px;height:116px;border:1px solid #a9d4ff38;border-radius:50%;box-shadow:0 0 0 26px #a9d4ff09,0 0 0 52px #a9d4ff04;pointer-events:none}.stat-featured:before{content:none}.card{border-radius:12px;padding:23px 24px;border-color:var(--border);box-shadow:0 3px 15px #1a355006}.card-heading{margin-bottom:22px}.card-heading h3{font-size:14px;font-weight:650;color:var(--text)}.card-heading p{font-size:11px;color:var(--muted)}.card-heading button{background:transparent;border:0;padding:4px 0;font-size:11px;color:var(--accent);min-height:30px}.card-heading button:hover{background:#edf4fd}.overview-grid{grid-template-columns:minmax(0,1.8fr) minmax(275px,1fr);gap:20px;margin-bottom:20px}.overview-bottom{grid-template-columns:minmax(280px,1fr) minmax(0,1.8fr)}.attention-row{padding:15px 0;background:transparent;font-size:12px;min-height:54px;border-color:#e9edf4}.attention-row:hover{background:#f5f8fd;border-color:#e9edf4}.attention-row strong{font-size:19px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.attention-row strong>span{font-size:14px;color:#748eac;margin-left:10px}.attention-foot{font-size:10px;color:var(--muted);line-height:1.85;margin-top:16px}.quick-grid{gap:11px}.quick-grid button{text-align:left;border:1px solid #e1e8f2;border-radius:9px;background:#f8fafd;padding:16px;position:relative;transition:background .18s,border-color .18s,transform .18s}.quick-grid button:hover{background:#edf4fe;border-color:#a8c3e7;transform:translateY(-2px)}.quick-grid strong{font-size:13px;color:var(--text);font-weight:600}.quick-grid span{font-size:11px;color:var(--muted);margin-top:6px}.badge{border-radius:5px;font-size:10px;font-weight:550;letter-spacing:0;padding:3px 7px}.badge.ok{background:#eaf5ef;color:#176b4f;border-color:#c5e5d4}.badge.warn{background:#fff4de;color:#8f601c;border-color:#eed9ae}.badge.ban{background:#fcebef;color:#a4354d;border-color:#efc6d0}.overview-meta{font-size:11px;gap:25px;padding:4px 0 12px;color:var(--muted)}.overview-meta strong{color:var(--text);font-weight:600}.main-footer{padding:23px 0;font-size:10px;color:#718096;border-color:var(--border)}.toolbar{gap:10px;margin-bottom:20px;padding:16px;background:#fff;border:1px solid var(--border);border-radius:10px}.toolbar input,.toolbar select{min-height:38px;font-size:12px}.toolbar button{min-height:38px}.toolbar>input{min-width:160px}.pager-bar{border-top:1px solid var(--border);padding-top:17px;font-size:11px}.pager-btns button{min-height:32px;font-size:11px}.row-actions{gap:5px;min-width:170px}.row-actions button{font-size:11px;min-height:30px;padding:5px 9px;border-radius:6px}.mono{font-size:11px;line-height:1.8}table{font-size:12px;border-collapse:separate;border-spacing:0}th{background:#f3f6fa;color:#4b617c;font-size:11px;font-weight:600;padding:12px 14px;white-space:nowrap;border-color:var(--border)}td{padding:14px;font-size:12px;line-height:1.8;border-color:#e9edf4;color:var(--text)}tbody tr{transition:background .15s}tbody tr:hover{background:#f5f8fd}td .muted{font-size:10px;line-height:1.9}.service-state{font-size:10px;color:var(--ok)}.service-blocked{color:var(--warn)}#user-form,#m-form{border-top:3px solid var(--accent);border-radius:11px;padding:24px}.form-grid{gap:18px}.app-message{border-radius:9px;font-size:12px;animation:console-message .2s var(--console-ease)}.donut-chart svg text{font-family:inherit}.donut-legend{font-size:12px}.chart-total{color:var(--text)}
/* Login artwork describes the actual product relationship, without fake metrics. */
.login-wrap{grid-template-columns:54% 46%;background:#f8fafd;min-height:100dvh}.login-story{background:#132b49;color:#f0f6ff;min-height:100dvh;padding:40px 9%;isolation:isolate}.login-story:after{border-color:#83b9ed2b;box-shadow:0 0 0 65px #8cbcf109,0 0 0 130px #8cbcf105;bottom:-35px;right:-190px;width:400px;height:400px;z-index:-1}.login-story>.wordmark{margin-bottom:55px}.login-story .brand-mark{background:#d9eaff;color:#214e83}.login-story .brand-sub{color:#9dbbdf}.login-copy h1{font-size:clamp(30px,3vw,45px);line-height:1.45;font-weight:550;letter-spacing:.025em;color:#f1f6fe;margin-bottom:22px}.login-copy>.eyebrow{color:#8cbdef;letter-spacing:.15em;font-size:10px}.login-copy>p:not(.eyebrow){color:#b1c7e0;font-size:14px;line-height:1.95}.login-side{padding:45px 9%;background:#f8fafd}.login-card{width:100%;max-width:390px;padding:30px 0;background:transparent;border:0;box-shadow:none}.login-heading h2{font-size:28px;color:var(--text);line-height:1.5}.login-heading{margin-bottom:30px}.login-heading .muted{font-size:12px;line-height:1.85}.login-card label{font-size:12px;font-weight:550}.login-card input{background:#fff;border-color:#c6d3e4;border-radius:9px;height:48px;padding:12px 14px}.login-card button{height:47px;border-radius:9px;display:flex;justify-content:space-between;padding:0 16px;font-size:13px}.login-card button span{font-size:19px;font-weight:400}.login-note{border-color:var(--border);font-size:11px}.login-footer{font-size:10px;color:var(--muted)}.story-lines{display:flex;gap:15px;flex-wrap:wrap;margin-top:27px;padding-top:22px;border-top:1px solid #6487ad3d}.story-lines>div{font-size:10px;color:#bfd1e8;border:0;padding:0;display:flex;gap:6px}.story-lines>div>span{color:#88b9ef;font-size:9px}.story-foot{font-size:10px;letter-spacing:.06em;color:#8eafd2}.ops-architecture{display:grid;grid-template-columns:1fr 18px 1.1fr 18px 1fr;align-items:center;margin-top:38px;gap:5px;max-width:500px}.ops-architecture>div{background:#1a3657;border:1px solid #3c5a7d;border-radius:11px;padding:18px 12px;position:relative}.ops-architecture .ops-architecture-hub{background:#254a74;border-color:#6b9cd1;box-shadow:0 10px 24px #07152426}.ops-architecture span{display:block;font-size:8px;color:#9cbee5;letter-spacing:.11em;line-height:1.6}.ops-architecture strong{display:block;font-size:13px;line-height:1.8;margin-top:7px;font-weight:550;color:#eef5ff;white-space:nowrap}.ops-architecture small{display:block;font-size:9px;line-height:1.8;color:#b0c9e5;margin-top:5px;white-space:nowrap}.ops-architecture>b{font-size:14px;color:#92b3d8;text-align:center;font-weight:400}.login-story .wordmark,.login-copy,.story-foot{animation:console-rise .55s var(--console-ease) both}.login-copy{animation-delay:.07s}.login-card{animation:console-rise .55s .12s var(--console-ease) both}.ops-architecture-hub:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:#a3cdf8;border-radius:2px}.topbar button.is-refreshing svg{animation:console-spin .8s linear infinite}
@keyframes console-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes console-message{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes console-spin{to{transform:rotate(360deg)}}@keyframes console-load{0%{left:0;width:0}45%{left:20%;width:40%}100%{left:100%;width:0}}
@media(max-height:820px){#app>aside{padding-top:20px}#app>aside .wordmark{padding-bottom:14px}.nav-label{padding-top:13px;padding-bottom:6px}nav a{min-height:36px;padding-top:7px;padding-bottom:7px}.console-edition{padding-top:16px}.aside-foot{padding-top:12px;margin-top:13px}.login-story>.wordmark{margin-bottom:35px}.login-story{padding-top:30px;padding-bottom:28px}.ops-architecture{margin-top:27px}.story-lines{margin-top:22px}}
@media(max-width:1200px){#app>aside{width:210px}.workspace{margin-left:210px}main{padding:26px 24px 0}.topbar{padding:0 24px}.console-clock{display:none}.overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(255px,1fr)}.overview-bottom{grid-template-columns:minmax(255px,1fr) minmax(0,1.45fr)}.stat{padding:20px}.stat .num{font-size:32px}.login-story{padding-left:8%;padding-right:8%}.ops-architecture small{font-size:8px}.ops-architecture>div{padding:15px 9px}}
@media(max-width:980px){.overview-grid,.overview-bottom{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-note{font-size:10px}.stat{padding:18px 17px}.stat .num{font-size:29px}.login-wrap{grid-template-columns:48% 52%}.ops-architecture{grid-template-columns:1fr}.ops-architecture>b{display:none}.ops-architecture>div:not(.ops-architecture-hub){display:none}.ops-architecture-hub{max-width:260px}.story-lines{flex-direction:column;gap:8px}.login-story>.wordmark{margin-bottom:28px}.login-copy h1{font-size:29px}}
@media(max-width:760px){#app{display:block}#app>aside{position:static;width:100%;padding:17px 18px 9px;height:auto;overflow:visible;inset:auto;display:block}#app>aside .wordmark{padding:0 4px 16px;font-size:15px}#app>aside .brand-sub{font-size:8px}.brand-mark{width:30px;height:30px;font-size:16px}#app>aside nav{display:flex;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:8px}#app>aside .nav-label,#app>aside .aside-foot,#app>aside .console-edition{display:none}nav a{flex-shrink:0;min-height:36px;padding:8px 11px;font-size:11px;gap:7px}nav a svg{width:14px;height:14px}nav a.active{box-shadow:inset 0 -2px #8cc4ff}.workspace{margin-left:0}.topbar{height:59px;padding:0 18px;gap:10px}.breadcrumb{font-size:11px}.breadcrumb span{margin:0 7px}.topbar-actions{gap:9px}.sync-state{font-size:10px}.topbar button{font-size:0;width:34px;padding:8px;min-height:34px}.topbar button svg{width:15px;height:15px}.topbar button:after{content:none}main{padding:23px 17px 0}.page-heading{gap:12px;align-items:flex-start;margin-bottom:21px}.page-heading h2,.view>h2{font-size:23px}.page-heading .muted{font-size:12px;line-height:1.8}.page-tag{font-size:9px;margin-top:5px;padding:4px 6px}.stats{grid-template-columns:1fr;gap:10px;margin-bottom:17px}.stat{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding:17px 20px}.stat .label{font-size:12px}.stat .num{grid-column:2;grid-row:1/3;margin:0;font-size:30px;align-self:center}.stat-note{grid-column:1;font-size:10px;margin-top:6px}.stat-featured:after{display:none}.card{padding:20px 17px;border-radius:11px}.overview-grid{gap:17px;margin-bottom:17px}.card-heading h3{font-size:13px}.attention-row{font-size:12px}.quick-grid{grid-template-columns:1fr 1fr;gap:9px}.quick-grid strong{font-size:12px}.quick-grid span{font-size:10px;line-height:1.8}.quick-grid button{padding:13px}.overview-meta{gap:9px 17px;font-size:10px;flex-wrap:wrap}.toolbar{padding:13px;gap:9px}.toolbar input,.toolbar select{max-width:100%;flex:1 1 140px;min-width:0!important;width:auto!important}.toolbar button{font-size:11px;min-height:37px}.row-actions{min-width:170px}.form-grid{grid-template-columns:1fr;gap:15px}.field label{font-size:12px}table{min-width:650px}.main-footer{font-size:10px;gap:10px}.login-wrap{display:block}.login-story{display:none}.login-side{min-height:100dvh;padding:44px 25px;display:flex;align-items:center}.login-card{max-width:390px;margin:auto}.login-heading h2{font-size:28px}.login-footer{position:absolute;bottom:15px;left:20px;right:20px;text-align:center}.login-card>label{font-size:13px}.console-clock{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.topbar button.is-refreshing:before{content:"";width:12px;height:12px;border:2px solid #b7cdeb;border-top-color:var(--accent);border-radius:50%;animation:console-spin .7s linear infinite}.topbar button.is-refreshing svg{display:none}@media(max-width:760px){#app>aside nav{scrollbar-width:thin;scrollbar-color:#637f9f #13263f}.topbar button{font-size:11px;width:auto;min-width:48px}.topbar button.is-refreshing{min-width:68px}}@media(prefers-reduced-motion:reduce){.topbar button.is-refreshing:before{animation:none}}
