/* M13 · Manufacturing workplace. Final shell layer; no business state is inferred. */
:root { --mos-sidebar:220px; --mos-gutter:20px; --mos-content-max:none; --mos-topbar:56px; }
* { scrollbar-width:thin; scrollbar-color:var(--mos-border-control) transparent; }
body { background:var(--mos-canvas); color:var(--mos-text); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
input::placeholder,textarea::placeholder { color:var(--mos-text-muted); opacity:1; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--mos-focus); outline-offset:3px; }
[hidden] { display:none!important; }
.shell { grid-template-rows:56px 1fr auto; }
.nav { background:var(--mos-canvas); padding:16px 12px 12px; gap:20px; border-right:1px solid var(--mos-border); }
.nav__brand { padding:0 10px; min-height:32px; gap:10px; }
.nav__brand img { width:27px; height:27px; }
.nav__brand strong { font-size:20px; font-weight:650; letter-spacing:-.6px; }
#m8-navigation { flex:1; display:flex; flex-direction:column; gap:18px; min-height:0; }
.m13-company { margin:0 4px; padding:11px 10px; display:flex; gap:9px; align-items:center; border:1px solid var(--mos-border); border-radius:10px; background:var(--mos-surface); }
.m13-company > svg { flex:none; color:var(--mos-text-secondary); }
.m13-company strong { font-size:12px; line-height:18px; font-weight:600; display:block; overflow-wrap:anywhere; }
.m13-company small { font-size:10px; color:var(--mos-text-muted); }
.m13-nav-group { display:grid; gap:3px; }
.m13-nav-label { display:flex; justify-content:space-between; color:var(--mos-text-muted); margin:0 10px 5px; font-size:10px; font-weight:550; letter-spacing:.06em; }
.m8-local-nav { margin:0; gap:3px; }
.m13-nav-link { min-height:36px; padding:8px 10px; gap:10px; display:flex; align-items:center; border-radius:7px; color:var(--mos-text-secondary); font-size:13px; line-height:18px; text-decoration:none; border:1px solid transparent; transition:background .12s; }
.m13-nav-link > svg { width:16px; height:16px; flex:none; }
.m13-nav-link > span { flex:1; }
.m13-nav-link > small { font-size:10px; color:var(--mos-text-muted); }
.m13-nav-link:hover { color:var(--mos-text); background:var(--mos-surface-hover); }
.m13-nav-link[aria-current="page"],.m13-nav-link.is-active { background:var(--mos-surface); color:var(--mos-text); font-weight:600; border-color:var(--mos-border); box-shadow:0 1px 2px #162e4010; }
.m13-nav-link.is-active svg { color:var(--mos-accent); }
.m13-nav-link.is-locked { color:var(--mos-text-muted); }
.m13-nav-lock { width:12px!important; height:12px!important; opacity:.7; }
.m13-nav-bottom { margin-top:auto; border-top:1px solid var(--mos-border); padding-top:12px; }
.m13-nav-note { margin:12px 10px 0; font-size:10px; color:var(--mos-text-muted); display:flex; align-items:center; gap:6px; }
.m13-nav-note i { width:5px; height:5px; background:var(--mos-border-control); border-radius:50%; }
.topbar { height:56px; min-height:56px; padding:0 20px; background:var(--mos-canvas); gap:10px; border-bottom:0; }
.topbar__context { color:var(--mos-text-secondary); font-size:12px; }
.topbar .icon-btn { min-width:30px; height:30px; min-height:30px; border:0; border-radius:7px; padding:5px; background:transparent; }
.topbar .icon-btn:hover { background:var(--mos-surface-hover); }
.search-trigger { min-width:0; border:0; background:transparent; padding:5px 8px; min-height:30px; color:var(--mos-text-muted); font-size:11px; }
.search-trigger__label { max-width:200px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.search-trigger kbd { border:0; padding:0; font-size:10px; }
.profile-menu__panel { border-radius:12px; padding:14px; border-color:var(--mos-border); box-shadow:var(--mos-shadow-2); }
.topbar .profile-menu__panel .identity { display:none!important; }
.main,body:not([data-xiaomo-open="true"]) .main { padding:0 20px 24px!important; min-width:0; }
.view { width:100%; max-width:none; margin:0; }
.footer { display:none; }
.btn { border:1px solid var(--mos-border); border-radius:8px; min-height:34px; padding:6px 12px; background:var(--mos-surface); color:var(--mos-text); font-size:12px; line-height:20px; font-weight:500; box-shadow:0 1px 2px #162e4006; }
.btn:hover { background:var(--mos-surface-hover); }

.btn:disabled,button:disabled { opacity:.5; cursor:not-allowed; }
.field input,.field select,.field textarea { border:1px solid var(--mos-border-control); border-radius:8px; background:var(--mos-surface); color:var(--mos-text); }
.m8 { max-width:none; }
.m8-heading { padding:8px 0 20px; gap:12px; }
.m8-heading h1 { font-size:24px; letter-spacing:-.6px; margin:2px 0 5px; font-weight:600; }
.m8-heading p { font-size:12px; line-height:20px; }
.m8-eyebrow { font-size:10px; letter-spacing:.08em; }
.m8-pill { border-radius:5px; padding:2px 7px; font-size:10px; line-height:17px; }
.m8-module-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.m8-module { padding:16px; border-radius:12px; background:var(--mos-surface); gap:12px; min-height:156px; }
.m8-module-head { gap:8px; }
.m8-module-head strong { font-size:13px; }
.m8-monogram { border-radius:8px; background:var(--mos-surface-subtle); font-size:10px; width:30px; height:30px; }
.m8-description { font-size:12px; color:var(--mos-text-secondary); line-height:1.65; }
.m8-meta { font-size:11px; line-height:1.6; color:var(--mos-text-muted); }
.m8-notice { padding:10px 12px; margin-bottom:16px; border:1px solid var(--mos-border); background:var(--mos-surface); }
.m8-locked { background:var(--mos-surface); border-radius:14px; border:1px solid var(--mos-border); max-width:680px; margin:48px auto; padding:32px; }
.m8-locked h2 { font-size:20px; }
.m8-locked p { font-size:13px; }
.m13-onboarding { display:grid; gap:16px; }
.m13-setup-lead { padding:28px; border-radius:14px; background:var(--mos-surface); border:1px solid var(--mos-border); display:grid; grid-template-columns:1.2fr 1fr; gap:32px; }
.m13-setup-lead h2 { font-size:22px; line-height:1.45; font-weight:550; letter-spacing:-.5px; margin:8px 0; }
.m13-setup-lead p { font-size:13px; max-width:530px; color:var(--mos-text-secondary); }
.m13-setup-steps { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.m13-setup-steps li { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid var(--mos-border); }
.m13-setup-steps li:last-child { border:0; }
.m13-setup-steps b { font:500 11px/24px var(--mos-font-id); color:var(--mos-accent); background:var(--mos-accent-soft); width:24px; height:24px; text-align:center; border-radius:50%; flex:none; }
.m13-setup-steps strong { font-size:12px; font-weight:550; display:block; }
.m13-setup-steps small { font-size:11px; color:var(--mos-text-muted); }
.m13-data-checklist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.m13-data-checklist article { padding:18px; border:1px solid var(--mos-border); border-radius:12px; background:var(--mos-surface); }
.m13-data-checklist svg { color:var(--mos-accent); margin-bottom:12px; }
.m13-data-checklist h3 { font-size:13px; margin:0 0 7px; }
.m13-data-checklist p { font-size:12px; color:var(--mos-text-secondary); margin:0; }
.settings-page { max-width:900px; margin:auto; }
.settings-page>.page-head { padding:10px 0 18px; }
.settings-panel { background:var(--mos-surface); border:1px solid var(--mos-border); border-radius:12px; padding:6px 22px; }
.settings-row { padding:18px 0; gap:24px; border-bottom:1px solid var(--mos-border); }
.settings-row:last-child { border:0; }
.settings-row h2 { font-size:13px; font-weight:550; }
.settings-row p { font-size:12px; color:var(--mos-text-muted); }
.settings-row select { border:1px solid var(--mos-border-control); border-radius:7px; min-height:32px; max-width:200px; font-size:12px; }
.settings-panel--truth { padding:20px 22px; }
.settings-panel--truth h2 { font-size:13px; }
.settings-panel--truth dl { font-size:12px; }
/* The signed-out experience is a separate surface, not a disabled application. */
html:not([data-auth-state="authenticated"]) .main { padding:0!important; }
html:not([data-auth-state="authenticated"]) .view { max-width:none; }
.login.login--workplace { padding:0; min-height:100vh; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(380px,1fr); align-items:stretch; justify-items:stretch; }
.login__intro { padding:48px clamp(40px,6vw,110px); background:var(--mos-surface-subtle); display:flex; flex-direction:column; position:relative; overflow:hidden; border-right:1px solid var(--mos-border); }
.login__intro::after { content:""; position:absolute; width:460px; height:460px; border:1px solid var(--mos-border); border-radius:50%; bottom:-300px; left:-130px; box-shadow:0 0 0 60px color-mix(in srgb,var(--mos-border) 28%,transparent),0 0 0 120px color-mix(in srgb,var(--mos-border) 16%,transparent); pointer-events:none; }
.login__brand { gap:10px; align-items:center; }
.login__brand img { width:32px; height:32px; }
.login__brand strong { font-size:23px; letter-spacing:-.8px; }
.login__eyebrow { color:var(--mos-accent); font-size:11px; font-weight:550; letter-spacing:.13em; text-transform:uppercase; margin-top:auto; padding-top:64px; }
.login__headline { font-size:clamp(30px,3vw,46px); line-height:1.4; font-weight:550; letter-spacing:-1.5px; max-width:490px; margin:18px 0; }
.login__intro>p:not(.login__eyebrow) { color:var(--mos-text-secondary); font-size:14px; line-height:1.9; max-width:440px; }
.login__promise { margin:30px 0 0; display:flex; gap:20px; list-style:none; padding:0; flex-wrap:wrap; font-size:11px; color:var(--mos-text-secondary); }
.login__promise li { display:flex; gap:6px; align-items:center; }
.login__promise li::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--mos-accent); }
.login__intro .login__footer { margin-top:auto; padding-top:80px; font-size:11px; color:var(--mos-text-muted); }
.login.login--workplace>.login__panel { width:100%; max-width:none; border:0; border-radius:0; padding:80px clamp(32px,6vw,104px); align-self:stretch; align-content:center; gap:22px; background:var(--mos-surface); box-shadow:none; }
.login__panel>* { width:100%; max-width:380px; margin-inline:auto; }
.login__panel h1 { font-size:27px; letter-spacing:-.8px; line-height:1.45; font-weight:600; margin-bottom:8px; }
.login__panel p { font-size:12px; line-height:1.8; color:var(--mos-text-secondary); }
.login__form { gap:18px; }
.login__form .field { gap:7px; }
.login__form label,.login__form .field__label { font-size:12px; font-weight:500; }
.login__form input { min-height:44px; font-size:14px; border-color:var(--mos-border-control); padding:10px 12px; background:var(--mos-canvas); }
.login__form input:focus { background:var(--mos-surface); border-color:var(--mos-accent); }
.login__form .btn--primary { min-height:44px; margin-top:6px; font-size:13px; }
.login__meta { font-size:11px; line-height:1.8; }
.login__locale { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; border-top:1px solid var(--mos-border); }
.login__locale button,.login__locale select { background:transparent; border:0; color:var(--mos-text-secondary); font-size:11px; min-height:30px; cursor:pointer; }
.login__brand>span { font-size:24px; font-weight:650; letter-spacing:-.8px; }
.login__intro-content { margin-block:auto; padding:48px 0; position:relative; z-index:1; }
.login__intro-content .login__eyebrow { margin:0; padding:0; }
.login__intro-content .login__promise { display:block; max-width:410px; font-size:13px; line-height:1.9; margin-top:22px; }
.login__intro-footer { font-size:10px!important; color:var(--mos-text-muted)!important; margin:0; position:relative; z-index:1; }
.login__motif { display:flex; align-items:end; gap:10px; height:110px; width:200px; margin-top:42px; transform:skewY(-8deg); }
.login__motif span { width:28px; height:65px; border:1px solid color-mix(in srgb,var(--mos-accent) 22%,var(--mos-border)); background:linear-gradient(110deg,var(--mos-surface),var(--mos-accent-soft)); border-radius:6px; box-shadow:6px 7px 0 -2px color-mix(in srgb,var(--mos-border) 65%,transparent); }
.login__motif span:nth-child(2) { height:90px; }.login__motif span:nth-child(3) { height:110px; }.login__motif span:nth-child(4) { height:82px; }.login__motif span:nth-child(5) { height:55px; }
.login.login--workplace>.login__panel { padding-block:32px; gap:16px; }
.login__panel .login__eyebrow { padding:0; margin:0 0 10px; font-size:10px; letter-spacing:.06em; }
.login__panel .login__locale { padding:0; border:0; justify-content:flex-end; }
.login__panel .login__heading p { margin:0; }
.login__form { gap:14px; }
.login__form input { min-height:42px; }
.login__form button[type="submit"] { min-height:42px; background:var(--mos-accent); color:var(--mos-on-accent); border-color:var(--mos-accent); }
.login__form .login__meta { margin:0; font-size:10px; color:var(--mos-text-muted); }
.login__assistance { padding-top:16px; border-top:1px solid var(--mos-border); }
.login__assistance strong { font-size:11px; font-weight:550; }
.login__assistance p { margin:5px 0 0; font-size:11px; color:var(--mos-text-muted); }
.login__panel .login__footer { color:var(--mos-text-muted); font-size:10px; margin-block:2px 0; }
.login--account { padding:48px 0; }
.login--account .login__panel { width:min(600px,100%); }
.m13-empty-workplace { max-width:760px; margin:40px auto; padding:36px; border:1px solid var(--mos-border); border-radius:14px; background:var(--mos-surface); }
.m13-empty-workplace h1 { font-size:24px; letter-spacing:-.7px; line-height:1.5; margin:12px 0; }
.m13-empty-workplace>p:not(.eyebrow) { color:var(--mos-text-secondary); max-width:560px; font-size:13px; line-height:1.9; }
.m13-empty-workplace>div { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
@media(min-width:1200px) { .shell[data-nav-collapsed="true"] { grid-template-columns:0 minmax(0,1fr); } }
@media(max-width:1199px) { .m8-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nav { width:240px; } .m13-nav-link { min-height:42px; } }
@media(max-width:800px) { .login.login--workplace { grid-template-columns:minmax(0,1fr); } .login__intro { padding:24px; min-height:auto; border-right:0; border-bottom:1px solid var(--mos-border); } .login__intro::after,.login__intro .login__footer,.login__promise { display:none; } .login__eyebrow { margin-top:24px; padding-top:0; font-size:9px; } .login__headline { font-size:27px; letter-spacing:-.8px; margin:10px 0; max-width:none; } .login__intro>p:not(.login__eyebrow) { font-size:12px; } .login.login--workplace>.login__panel { padding:32px 24px 48px; } .m13-setup-lead { grid-template-columns:1fr; padding:20px; gap:12px; } .m13-data-checklist { grid-template-columns:1fr; } }
@media(max-width:600px) { :root { --mos-gutter:12px; } .topbar { padding:0 12px; } .main,body:not([data-xiaomo-open="true"]) .main { padding:0 12px 18px!important; } .search-trigger__label,.search-trigger kbd { display:none; } .m8-module-grid { grid-template-columns:1fr; } .m8-heading { flex-wrap:wrap; } .m8-locked { padding:22px; margin:12px auto; } .settings-panel { padding-inline:16px; } .settings-row { flex-wrap:wrap; gap:12px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:0s!important; } }

/* Density changes spacing, while preserving readable text and mobile touch targets. */
@media(min-width:901px) {
  :root[data-density="compact"] .m13-nav-link { min-height:32px; padding-block:6px; }
  :root[data-density="compact"] .settings-row { padding-block:14px; }
  :root[data-density="compact"] .chat-heading { padding-bottom:10px; }
  :root[data-density="compact"] .chat-rail-panel { padding-block:13px; }
  :root[data-density="compact"] .m8-module { padding:14px; }
}

@media(max-width:800px) {
  .login__intro-content { padding:16px 0 0; }
  .login__motif,.login__intro-footer,.login__intro-content .login__promise { display:none; }
  .login__headline { font-size:25px; margin-bottom:0; }
}

/* One action palette across login, conversations and preparation dialogs.
   Shared states deliberately win over earlier component button rules. */
:is(.btn.btn--primary,.btn.chat-new-button,.chat-composer .chat-send,.btn.work-primary,.login__form button[type="submit"]) {
  background:var(--mos-accent); color:var(--mos-on-accent); border-color:var(--mos-accent);
}
:is(.btn.btn--primary,.btn.chat-new-button,.chat-composer .chat-send,.btn.work-primary,.login__form button[type="submit"]):hover:not(:disabled) {
  background:var(--mos-accent-hover); border-color:var(--mos-accent-hover);
}
:is(.btn.btn--primary,.btn.chat-new-button,.chat-composer .chat-send,.btn.work-primary,.login__form button[type="submit"]):active:not(:disabled) {
  background:var(--mos-accent-pressed); border-color:var(--mos-accent-pressed);
}
:is(.btn.btn--primary,.btn.chat-new-button,.chat-composer .chat-send,.btn.work-primary,.login__form button[type="submit"]):disabled {
  background:var(--mos-surface-subtle); color:var(--mos-text-muted); border-color:var(--mos-border-control); opacity:1;
}
