@font-face { font-family:"Comfortaa"; src:url("/assets/fonts/comfortaa.woff2") format("woff2"); font-style:normal; font-weight:300 700; font-display:swap; }
@font-face { font-family:"Open Sans"; src:url("/assets/fonts/open-sans.woff2") format("woff2"); font-style:normal; font-weight:300 800; font-display:swap; }
:root {
    --beone-pink:#e53859; --beone-light:#f4f2f2; --beone-navy:#141025; --beone-slate:#1f2630; --beone-orange:#ed8533;
    --bg:var(--beone-light); --surface:#fff; --surface-soft:#f8f6f7; --surface-raised:#fff;
    --text:var(--beone-navy); --muted:#696272; --line:#ded9df; --accent:var(--beone-pink); --accent-text:#b82343;
    --accent-soft:#fce8ec; --primary:var(--beone-navy); --primary-text:#fff; --primary-hover:var(--beone-slate);
    --input:#fff; --success-bg:#e8f4ee; --success-text:#286346; --danger-bg:#fce8ec; --danger-text:#a92342;
    --warning-bg:#fff0e2; --warning-text:#92501f; --shadow:0 10px 36px #1410250c; --overlay:#14102588;
    font-family:"Open Sans",ui-sans-serif,system-ui,sans-serif; font-size:14px; color:var(--text); background:var(--bg); color-scheme:light;
}
:root[data-theme="dark"] {
    --bg:var(--beone-navy); --surface:var(--beone-slate); --surface-soft:#242635; --surface-raised:#29303b;
    --text:var(--beone-light); --muted:#b8b2c3; --line:#40404e; --accent-text:#ff92a7; --accent-soft:#402332;
    --primary:var(--beone-pink); --primary-text:#090613; --primary-hover:#f36b85; --input:#191a29;
    --success-bg:#1d3b32; --success-text:#a3ddbd; --danger-bg:#482638; --danger-text:#ffa1b5;
    --warning-bg:#443024; --warning-text:#ffbb82; --shadow:0 12px 36px #0003; --overlay:#090611aa; color-scheme:dark;
}
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { outline-offset:4px; }
:focus-visible { outline:2px solid var(--accent); }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
a { color:var(--accent-text); text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Comfortaa",sans-serif; font-weight:700; }
h1 { font-size:30px; letter-spacing:-.7px; line-height:1.35; }
h2 { font-size:22px; line-height:1.4; }
h3 { font-size:16px; line-height:1.45; }
p { line-height:1.7; }
.muted,.hint { color:var(--muted); }
.hint { font-size:12px; line-height:1.65; }
.brand { display:inline-flex; flex-direction:column; align-items:flex-start; gap:7px; color:var(--text); }
.brand-logos { display:block; line-height:0; }
.brand img { width:142px; height:auto; display:block; }
.brand .logo-dark { display:none; }
[data-theme="dark"] .brand .logo-light { display:none; }
[data-theme="dark"] .brand .logo-dark { display:block; }
.brand-product { font-family:"Comfortaa",sans-serif; font-size:15px; font-weight:700; line-height:1.5; }
.brand-product span { display:block; font-family:"Open Sans",sans-serif; font-size:8px; font-weight:600; letter-spacing:1.3px; color:var(--muted); }
.eyebrow,.side-label { font-size:10px; font-weight:700; letter-spacing:1.6px; color:var(--muted); }
.eyebrow { color:var(--accent-text); }
.button { border:1px solid transparent; border-radius:22px 22px 22px 0; padding:11px 17px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:650; font-size:13px; line-height:1.5; transition:background .15s,border-color .15s; }
.primary { background:var(--primary); color:var(--primary-text); }
.primary:hover { background:var(--primary-hover); }
.secondary { background:var(--surface); border-color:var(--line); color:var(--text); }
.secondary:hover { border-color:var(--accent); }
.danger { background:var(--danger-bg); color:var(--danger-text); }
.wide { width:100%; }
.icon-button { background:none; border:0; color:var(--muted); padding:6px; font-size:20px; }
.theme-control { display:flex; align-items:center; gap:9px; margin:0; color:var(--muted); font-size:11px; font-weight:600; white-space:nowrap; }
.theme-control select { width:125px; min-height:36px; padding:7px 10px; margin:0; font-size:12px; border-radius:20px; background:var(--surface); color:var(--text); }
.theme-floating { position:absolute; top:25px; right:30px; z-index:10; }
.theme-floating .theme-control { padding:6px 8px 6px 14px; border:1px solid var(--line); border-radius:30px; background:var(--surface); }
.auth-layout { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; }
.auth-story { padding:52px 65px; background:var(--beone-navy); color:var(--beone-light); display:flex; flex-direction:column; justify-content:space-between; min-height:100vh; border-radius:0 0 80px 0; }
.auth-story .brand .logo-light { display:none; }
.auth-story .brand .logo-dark { display:block; }
.auth-story .brand { color:var(--beone-light); }
.auth-story .brand-product span,.auth-story small { color:#bdb5cb; }
.auth-story .eyebrow { color:#ff92a7; }
.auth-story h1 { font-size:43px; line-height:1.3; margin:25px 0; max-width:600px; }
.auth-story p { max-width:390px; color:#cec8d8; }
.orbit { margin:30px 0; width:140px; height:140px; border-radius:42px 42px 42px 0; background:var(--beone-pink); display:grid; place-items:center; position:relative; }
.beone-smile { width:83px; height:83px; border-radius:50%; background:var(--beone-navy); position:relative; }
.beone-smile:after { content:""; position:absolute; width:35px; height:17px; border-radius:0 0 35px 35px; background:#fff; bottom:21px; left:24px; }
.orbit-dot { position:absolute; right:-18px; top:-15px; background:var(--beone-light); color:var(--beone-navy); border:6px solid var(--beone-navy); border-radius:50%; font-size:27px; padding:7px; }
.auth-panel { display:grid; place-items:center; padding:90px 40px 40px; }
.auth-card { width:min(100%,395px); }
.auth-card h2 { margin:12px 0; }
.auth-card form + .hint { margin-top:14px; }
.social { display:grid; gap:10px; margin:25px 0; }
.separator { display:flex; align-items:center; gap:15px; color:var(--muted); font-size:12px; margin:24px 0; }
.separator:before,.separator:after { content:""; height:1px; background:var(--line); flex:1; }
label { display:block; font-size:12px; font-weight:600; color:var(--text); margin:16px 0; }
input,select,textarea { display:block; border:1px solid var(--line); border-radius:10px; background:var(--input); padding:11px; width:100%; margin-top:7px; color:var(--text); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
textarea { min-height:100px; resize:vertical; }
select[multiple] { min-height:100px; }
.alert { background:var(--danger-bg); color:var(--danger-text); padding:13px; border-radius:12px 12px 12px 0; }
.invite-page { min-height:100vh; display:grid; place-items:center; padding:100px 30px 40px; }
.invite-page .brand { margin-bottom:35px; }
.app-shell { display:flex; min-height:100vh; }
.sidebar { width:250px; position:fixed; inset:0 auto 0 0; background:var(--surface); border-right:1px solid var(--line); padding:30px 20px; display:flex; flex-direction:column; z-index:5; overflow-y:auto; }
.sidebar .brand { margin:0 12px 36px; }
.side-label { font-size:9px; padding:0 11px; }
.sidebar select { margin:12px 0 26px; background:var(--surface-soft); font-size:12px; }
nav { display:grid; gap:7px; }
nav button { border:0; text-align:left; background:none; color:var(--muted); border-radius:15px 15px 15px 0; padding:13px 15px; font-weight:600; }
nav button:hover { color:var(--text); background:var(--surface-soft); }
nav button.active { background:var(--accent-soft); color:var(--accent-text); }
nav button span { display:inline-block; width:27px; }
.sidebar-bottom { margin-top:auto; border-top:1px solid var(--line); padding-top:20px; display:flex; align-items:center; gap:10px; }
.sidebar-bottom strong { font-size:11px; }
.sidebar-bottom small { display:block; color:var(--muted); font-size:9px; margin-top:4px; overflow-wrap:anywhere; }
.avatar { height:34px; width:34px; background:var(--accent-soft); border-radius:50%; display:grid; place-items:center; color:var(--accent-text); flex-shrink:0; }
.workspace { margin-left:250px; width:calc(100% - 250px); }
.topbar { min-height:80px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 38px; background:var(--surface); color:var(--muted); font-size:12px; }
.topbar-actions { display:flex; align-items:center; gap:20px; }
.live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--accent); margin-right:8px; }
.badge { display:inline-flex; align-items:center; border:1px solid var(--line); padding:5px 10px; border-radius:20px; background:var(--surface-soft); font-size:10px; font-weight:600; color:var(--muted); }
.content { max-width:1400px; margin:auto; padding:38px 40px; }
.page-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; }
.page-head h1 { margin:8px 0; }
.page-head p { margin:0; color:var(--muted); font-size:13px; }
.stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:30px; }
.stat { background:var(--surface); border:1px solid var(--line); border-radius:22px 22px 22px 0; padding:22px; min-width:0; }
.stat small { color:var(--muted); font-size:10px; }
.stat strong { display:block; font-family:"Comfortaa",sans-serif; font-size:26px; margin-top:11px; font-weight:700; overflow-wrap:anywhere; }
.stat .stat-icon { float:right; background:var(--accent-soft); border-radius:13px 13px 13px 0; padding:10px; color:var(--accent-text); }
.section-line { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:26px 0 18px; }
.section-line h2 { font-size:16px; margin:0; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.card { background:var(--surface); border:1px solid var(--line); border-radius:25px 25px 25px 0; padding:25px; transition:box-shadow .2s,border-color .2s; }
.card:hover { box-shadow:var(--shadow); border-color:var(--accent); }
.card-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:22px; }
.employee-icon { font-size:27px; width:56px; height:56px; border-radius:18px 18px 18px 0; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-text); }
.status { font-size:10px; padding:5px 10px; border-radius:20px; background:var(--surface-soft); color:var(--muted); }
.status.running { background:var(--success-bg); color:var(--success-text); }
.status.error { background:var(--warning-bg); color:var(--warning-text); }
.card h3 { margin:0 0 9px; }
.card p { color:var(--muted); font-size:12px; min-height:40px; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.chip { background:var(--surface-soft); font-size:10px; border-radius:6px; color:var(--muted); padding:4px 8px; }
.card-footer { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); display:flex; gap:8px; }
.card-footer .button { flex:1; padding:10px; font-size:12px; white-space:nowrap; }
.card-footer .button + .button { flex:0 0 43px; }
.empty { border:1px dashed var(--line); border-radius:22px 22px 22px 0; padding:55px 30px; text-align:center; color:var(--muted); line-height:1.8; }
.empty strong { display:block; font-family:"Comfortaa",sans-serif; color:var(--text); font-size:19px; margin-bottom:10px; }
.toolbar { display:flex; gap:8px; flex-wrap:wrap; }
.table-wrap { overflow:auto; background:var(--surface); border:1px solid var(--line); border-radius:22px 22px 22px 0; }
table { width:100%; border-collapse:collapse; text-align:left; }
th { font-size:10px; text-transform:uppercase; letter-spacing:.7px; color:var(--muted); padding:17px; background:var(--surface-soft); }
td { padding:16px; border-top:1px solid var(--line); font-size:12px; }
td .button { padding:7px 10px; font-size:11px; }
.chat-layout { display:grid; grid-template-columns:230px minmax(0,1fr); border:1px solid var(--line); border-radius:24px 24px 24px 0; overflow:hidden; background:var(--surface); min-height:65vh; }
.conversation-list { padding:16px; border-right:1px solid var(--line); background:var(--surface-soft); max-height:80vh; overflow:auto; }
.conversation-list button { margin-bottom:8px; width:100%; text-align:left; }
.conversation-list .conversation { border:0; background:none; padding:13px 8px; border-radius:12px 12px 12px 0; font-size:12px; color:var(--muted); }
.conversation-list .conversation.active { background:var(--accent-soft); color:var(--accent-text); }
.conversation small { display:block; margin-top:6px; color:var(--muted); font-size:9px; }
.chat-main { padding:25px; display:flex; flex-direction:column; min-width:0; }
.chat-messages { flex:1; max-height:60vh; overflow:auto; padding-right:10px; }
.message { margin:15px 0; padding:18px; border-radius:18px 18px 18px 0; background:var(--surface-soft); line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
.message.user { background:var(--accent-soft); margin-left:35px; }
.message-label { font-size:9px; letter-spacing:.8px; font-weight:700; color:var(--muted); margin-bottom:7px; }
.composer { border-top:1px solid var(--line); padding-top:10px; margin-top:15px; }
.composer textarea { background:var(--input); min-height:85px; }
.composer-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:12px; }
.file-link { display:inline-block; margin:3px; font-size:11px; padding:6px 10px; background:var(--accent-soft); border-radius:9px 9px 9px 0; }
.toast { position:fixed; bottom:25px; right:25px; max-width:min(450px,90vw); background:var(--beone-navy); color:#fff; border:1px solid var(--line); border-radius:18px 18px 18px 0; padding:16px 22px; z-index:100; box-shadow:var(--shadow); }
.toast.error { background:var(--danger-bg); color:var(--danger-text); }
dialog { color:var(--text); background:var(--surface-raised); border:1px solid var(--line); border-radius:25px 25px 25px 0; padding:30px; width:min(660px,95vw); max-height:90vh; box-shadow:var(--shadow); }
dialog::backdrop { background:var(--overlay); backdrop-filter:blur(3px); }
.dialog-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.dialog-head h2 { margin:0; font-size:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:25px; }
.code { font-family:ui-monospace,monospace; font-size:12px; min-height:170px; }
.version { border:1px solid var(--line); padding:15px; border-radius:14px 14px 14px 0; margin:12px 0; }
.version pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; max-height:250px; overflow:auto; }
@media(prefers-reduced-motion:reduce) { * { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media(max-width:1050px) {
    .sidebar { width:215px; padding:25px 15px; }.workspace { margin-left:215px; width:calc(100% - 215px); }
    .content { padding:28px 23px; }.topbar { padding:14px 23px; }.topbar-actions { gap:12px; }.theme-control>span { display:none; }
    .stats { gap:12px; }.stat { padding:17px; }.stat .stat-icon { display:none; }
    .auth-story { padding:45px 35px; }.auth-story h1 { font-size:36px; }.chat-layout { grid-template-columns:180px minmax(0,1fr); }
}
@media(max-width:700px) {
    .auth-layout { grid-template-columns:1fr; }.auth-story { display:none; }.auth-panel { min-height:100vh; padding:105px 25px 35px; }
    .auth-panel .auth-card:before { content:""; display:block; width:135px; height:46px; margin-bottom:28px; background:url('/assets/brand/beone-light.svg') no-repeat center/contain; }
    [data-theme="dark"] .auth-panel .auth-card:before { background-image:url('/assets/brand/beone-dark.svg'); }
    .theme-floating { top:20px; right:20px; }.sidebar { position:static; width:100%; padding:18px; overflow:visible; }
    .sidebar .brand { margin:0 0 20px; flex-direction:row; align-items:center; gap:16px; }.sidebar .brand img { width:100px; }.brand-product span { font-size:7px; }
    .side-label { display:none; }.sidebar select { margin:0 0 12px; }.sidebar nav { display:flex; overflow:auto; }
    .sidebar nav button { white-space:nowrap; font-size:11px; padding:10px; }.sidebar-bottom { margin-top:15px; padding-top:12px; }.sidebar-bottom>div:nth-child(2) { flex:1; }
    .app-shell { display:block; }.workspace { width:100%; margin:0; }.topbar { min-height:62px; padding:12px 18px; }.workspace-label { display:none; }.topbar-actions { justify-content:space-between; width:100%; }
    .content { padding:25px 18px; }.page-head { align-items:flex-start; flex-direction:column; gap:16px; }h1 { font-size:26px; }
    .stats { gap:9px; }.stat { padding:14px 10px; border-radius:16px 16px 16px 0; }.stat strong { font-size:20px; }.stat small { font-size:8px; }.stat:last-child strong { font-size:16px; }
    .grid { grid-template-columns:1fr; }.chat-layout { grid-template-columns:1fr; }.conversation-list { border-right:0; border-bottom:1px solid var(--line); max-height:170px; overflow:auto; }.chat-main { padding:16px; }
    .form-row { grid-template-columns:1fr; }.message.user { margin-left:16px; }.section-line { align-items:flex-start; flex-wrap:wrap; }
}

.device-code { padding:1rem; background:var(--surface-soft); border:1px solid var(--line); border-radius:12px; color:var(--text); text-align:center; font-size:1.8rem; letter-spacing:.15em; font-variant-numeric:tabular-nums; }

/* Consultations inherit the active light/dark palette. */
#consultations:empty{display:none}#consultations{margin:1rem 0}#consultations h3{font-size:1rem;margin-bottom:.4rem}.consultation{border:1px solid var(--line);border-radius:12px;margin:.6rem 0;overflow:hidden}.consultation summary{cursor:pointer;padding:.9rem;font-weight:600}.consultation summary span{font-size:.78rem;opacity:.7;margin-left:.5rem}.consultation-content{padding:0 1rem 1rem}.consultation-content p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.55}
