/* Cytie Workspace appearance. Scoped so the approved login stays unchanged. */
#workspace{--ink:#344858;--muted:#778591;--line:#dce3e8;--bg:#f2f4f6;--card:#fff;--hover:#e5edf2;--teal:#245f91;--input:#fff;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;font-size:13px;min-height:100vh}
#workspace[data-theme=dark],body[data-appearance=dark] #dialog{--ink:#dce2e8;--muted:#b2bfca;--line:#3b434c;--bg:#171a1e;--card:#23282e;--hover:#35424d;--teal:#87b9de;--input:#292f36;color-scheme:dark}
#workspace aside{width:252px;background:var(--card);border-right:1px solid var(--line);color:var(--ink);padding:0;box-shadow:none;overflow:auto;transition:width .2s}
#workspace aside>.wordmark{height:78px;padding:16px;font-size:20px;white-space:nowrap;border-bottom:1px solid var(--line);gap:9px;color:var(--ink)}
#workspace .workspace-name,#workspace .nav-caption,#workspace .nav-icon{display:none}
#workspace nav{padding:0;margin:0;display:block}#workspace nav>a{border-radius:0;margin:0;padding:16px 20px}#workspace nav a{display:block;color:var(--ink);font-size:13px;font-weight:500}#workspace nav a.active{background:var(--hover);color:var(--ink)}
.nav-area{padding:0;border:0;margin:0}.nav-area summary{padding:14px 18px;display:flex;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:700;list-style:none}.nav-area summary:hover,#workspace nav a:hover{background:var(--hover)}.nav-area[open] summary span:last-child{transform:rotate(90deg)}.nav-area>div{border-left:1px solid var(--line);margin:0 16px 8px 26px;padding-left:10px}.nav-area a{padding:9px 10px!important;border-radius:7px!important;margin:2px 0!important}
#workspace .sidebar-foot{position:static;margin-top:26px;padding:18px;font-size:11px;border-top:1px solid var(--line)}#workspace .sidebar-foot button{color:var(--ink);border:1px solid var(--line);background:transparent;width:100%;padding:9px}
#workspace .main{margin-left:252px;min-width:0;background:var(--bg)}#workspace header{height:76px;min-height:76px;background:var(--card);border-bottom:1px solid var(--line);padding:0 24px;display:flex;gap:14px;position:sticky;top:0;z-index:20}
#workspace .breadcrumbs{min-width:180px;font-size:18px;font-weight:700;line-height:1.4}#workspace .breadcrumbs>span{display:none}#workspace .breadcrumbs>b{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.menu-toggle{font-size:22px;padding:6px 10px!important;background:var(--hover)!important;color:var(--ink);border-radius:9px}#workspace .global-search{position:relative;max-width:590px;flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--input);border-radius:10px;padding:0 10px;margin:0 12px;height:42px}.global-search input{background:transparent!important;border:0!important;box-shadow:none;margin:0!important;padding:6px!important;width:100%;font-size:13px}.global-search kbd{white-space:nowrap;font-size:10px;border:1px solid var(--line);border-radius:3px;padding:2px}.global-search #global-results{position:absolute;top:46px;left:0;right:0;background:var(--card);border:1px solid var(--line);box-shadow:0 10px 25px #0003;z-index:40;max-height:360px;overflow:auto;border-radius:10px}.global-search #global-results a,.global-search #global-results p{display:block;padding:12px;margin:0}.global-search #global-results a:hover{background:var(--hover)}
#workspace .account{margin-left:auto;font-size:12px;white-space:nowrap}#workspace .avatar{width:34px;height:34px;border-radius:50%;background:#0877b5;color:white;display:grid;place-items:center}#workspace .data-mode{font-size:9px;margin:0;min-width:130px}#workspace .data-mode select{padding:5px;font-size:11px;margin:2px 0 0}#workspace #theme{width:110px;margin:0;padding:10px;font-size:12px}
#workspace main{padding:32px;max-width:1640px;margin:0 auto}#workspace .pilot-note{display:none}#workspace footer{border:0;font-size:10px;padding:18px 24px;color:var(--muted)}#workspace .panel,#workspace .stat{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px #10203008;color:var(--ink)}#workspace .panel-head{border-color:var(--line)}#workspace .panel-head p,#workspace .heading p,#workspace small,#workspace .muted{color:var(--muted)}#workspace h1{font-size:28px;letter-spacing:-.5px}#workspace h2{font-size:20px}#workspace h3{font-size:17px}#workspace .eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted);margin-bottom:7px}
#workspace .welcome-row{display:flex;justify-content:space-between;align-items:center;margin:5px 0 27px}#workspace .welcome-row p{margin:6px 0;color:var(--muted)}.tms-mark{font-size:25px;color:#9dbed8}#workspace .workspace-banner{display:flex;align-items:center;justify-content:space-between;padding:17px;background:var(--hover);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.workspace-banner small{display:block;margin-top:5px}.stats{gap:15px}#workspace .stat{padding:20px;border-left:4px solid #177bc3;min-height:87px}#workspace .stat.kpi-1{border-left-color:#12a5b7}#workspace .stat.kpi-2{border-left-color:#f58017}#workspace .stat.kpi-3{border-left-color:#8146b8}#workspace .stat-label{font-size:9px;letter-spacing:.5px;color:var(--muted)}#workspace .number{font-size:31px;line-height:1.2;margin:5px 0 0}
#workspace .dashboard-card{padding:20px;margin-bottom:16px}.status-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-box{border:1px solid var(--line);border-radius:10px;padding:12px}.status-box h4{margin:0 0 12px;font-size:10px}.status-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px}.status-tile{position:relative;background:var(--hover);color:var(--ink);text-align:left;padding:10px;border-radius:8px;min-height:54px}.status-tile strong{display:block;font-size:18px}.status-tile span{display:block;font-size:10px;font-weight:400;padding-right:8px}.status-tile b{position:absolute;right:9px;top:20px;color:var(--muted)}.activity-row{display:flex;justify-content:space-between;width:100%;background:transparent;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;color:var(--ink);text-align:left}.activity-row small{display:block;font-size:9px;text-transform:uppercase;margin-bottom:5px}.activity-row>span:last-child{font-size:10px;font-weight:400;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{background:var(--bg);border:1px solid var(--line);color:var(--ink);text-align:left;min-height:78px}.quick-grid small{display:block;font-size:10px;margin-top:7px}#workspace .source-module{background:var(--bg);border-color:var(--line);color:var(--ink)}#workspace .source-module:hover{background:var(--hover)}
#workspace input,#workspace select,#workspace textarea{background:var(--input);color:var(--ink);border-color:var(--line)}#workspace .secondary,#workspace .button-link{background:var(--card);border-color:var(--line);color:var(--ink)}#workspace .primary{background:#245f91;color:white}#workspace button:hover{filter:brightness(1.07)}#workspace .heading{align-items:center;gap:12px;margin-bottom:16px}#workspace .heading>div:first-child{margin-right:auto}#workspace .heading h1{font-size:23px;margin:0}#workspace .heading p:empty{display:none}#workspace .heading .eyebrow{font-size:10px}#workspace .heading #operation-new{order:-1}#workspace .filters{background:var(--card);border-color:var(--line);padding:12px 16px}#workspace .filters input{margin-top:4px}#workspace .filters label{font-size:9px}#workspace .list-panel{border-radius:8px;overflow:visible}#workspace .list-panel .table-scroll{max-height:calc(100vh - 310px)}#workspace table{font-size:12px;border-collapse:collapse}#workspace th{background:var(--hover);color:var(--ink);border-color:var(--line);position:sticky;top:0;z-index:1;padding:12px;white-space:nowrap;font-size:12px;text-transform:none}#workspace td{padding:10px 12px;border-color:var(--line);white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}#workspace tbody tr:nth-child(even){background:var(--bg)}#workspace tbody tr:hover{background:var(--hover)}#workspace .table-foot{border-color:var(--line);font-size:12px}#workspace .row-button{color:var(--teal)}#workspace .tag{background:var(--hover);color:var(--ink)}#workspace .note-box{background:var(--hover);color:var(--ink);border-color:var(--line)}
.column-picker{position:relative;margin:0}.column-picker summary{padding:10px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--card)}#column-options{position:absolute;right:0;top:42px;z-index:30;width:300px;max-height:420px;overflow:auto;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0004}#column-options label{display:flex;align-items:center;gap:10px;margin:0;padding:8px;font-size:12px;font-weight:400}
#dialog{--card:#fff;--hover:#e5edf2;--input:#fff;background:var(--card);color:var(--ink);border:1px solid var(--line)}#dialog input,#dialog select,#dialog textarea{background:var(--input);color:var(--ink);border-color:var(--line)}#dialog .secondary{background:var(--card);color:var(--ink);border-color:var(--line)}#dialog .primary{background:#245f91;color:#fff}#dialog .modal-head,#dialog .modal-actions{border-color:var(--line)}#dialog .note-box,#dialog .relation-chips{background:var(--hover);color:var(--ink)}#dialog .icon-button{background:var(--hover);color:var(--ink)}#dialog .source-detail>div{background:var(--card);border-color:var(--line)}
#dialog.record-dialog{width:calc(100vw - 72px);max-width:1500px;max-height:calc(100vh - 60px);border-radius:12px;padding:0}#dialog.record-dialog #record-form>.modal-head{position:sticky;top:0;padding:18px 24px;background:var(--card);z-index:5}#dialog.record-dialog #dialog-fields{padding:0 24px 24px;background:var(--bg)}#dialog.record-dialog .modal-actions{padding:14px 24px;background:var(--card);position:sticky;bottom:0}#dialog.record-dialog #form-error{padding:0 24px}#dialog.record-dialog .operation-actions{padding:12px 0}.record-sheet{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;max-width:1320px;margin:16px auto}.record-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px}.record-group{min-width:0;margin-bottom:20px}.record-group h3,.record-separator{border-bottom:1px solid var(--line);padding:10px 0;font-size:13px;font-weight:700;margin:0 0 16px}.record-group>h3{grid-column:1/-1}.record-field{display:grid;grid-template-columns:minmax(130px,35%) 1fr;gap:16px;padding:9px 0;font-size:13px;overflow-wrap:anywhere}.record-field>label{font-size:12px;margin:0;font-weight:600;color:var(--muted)}.record-title .record-field{display:block}.record-title .record-field>label{display:none}.record-title{font-size:27px;font-weight:650;margin:0 0 26px}.record-title .record-field>div{font-size:27px}.record-metrics{display:flex;gap:24px;margin:10px 0 24px;flex-wrap:wrap}.record-metrics>div{flex:1;min-width:150px}.record-metrics .record-field{display:block}.record-metrics .record-field>div{font-size:20px;margin-top:8px}.record-tabs{display:flex;border-bottom:1px solid var(--line);margin:10px -24px 24px;padding:0 24px;overflow:auto;gap:4px}.record-tabs button{border-radius:6px 6px 0 0;background:transparent;color:var(--muted);padding:13px 17px;white-space:nowrap;font-size:12px}.record-tabs button[aria-selected=true]{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-bottom:2px solid #3b82b8}.record-page[hidden]{display:none}.record-extra{margin-top:24px}.record-extra>summary{font-size:12px;color:var(--muted);cursor:pointer;padding:10px 0}.operation-field{min-width:0}.operation-field label{font-size:12px}.operation-field input,.operation-field select{padding:8px}.record-sheet .operation-field{margin-bottom:12px}.record-sheet .record-group:not(.record-columns)>.operation-field{display:block}.record-sheet .relation-chips{display:block;border-radius:5px;padding:8px}
#workspace.menu-collapsed aside{width:0;overflow:hidden;border:0}#workspace.menu-collapsed .main{margin-left:0}
@media(max-width:1250px){#workspace header{gap:8px;padding:0 14px}#workspace .global-search{margin:0;max-width:300px}#workspace .data-mode{display:none}.status-columns{grid-template-columns:1fr}#workspace main{padding:24px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){#workspace aside{width:210px;z-index:40}#workspace .main{margin-left:210px}#workspace .global-search,#workspace .account>div,#workspace #theme{display:none}#workspace header{padding:0 10px}#workspace .breadcrumbs{min-width:0;font-size:15px}#workspace main{padding:14px}.record-columns{grid-template-columns:1fr}.record-sheet{padding:16px}.record-field{grid-template-columns:1fr 1fr}#dialog.record-dialog{width:96vw;max-height:94vh}#workspace .heading{flex-wrap:wrap}.home-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#workspace *{transition:none!important}}
/* Operational lists use the full-width Odoo work area. */
#workspace.module-view aside{display:none}#workspace.module-view .main{margin-left:0}#workspace.module-view main{max-width:none;padding:16px 20px}#workspace.module-view header{height:46px;min-height:46px}#workspace.module-view .breadcrumbs{font-size:14px;font-weight:400}#workspace.module-view .breadcrumbs>b,#workspace.module-view .global-search,#workspace.module-view .menu-toggle,#workspace.module-view footer{display:none}#workspace.module-view .heading{margin-bottom:12px}#workspace.module-view .heading h1{font-size:18px;font-weight:500}#workspace.module-view .heading .eyebrow{display:none}#workspace.module-view .list-panel .table-scroll{max-height:calc(100vh - 245px)}#workspace.module-view [data-open-record]{cursor:pointer}#workspace.module-view .heading p{display:none}
#workspace nav> a:first-child{margin-top:0}#workspace aside>.wordmark{margin-bottom:0}#workspace.module-view .breadcrumbs a{color:var(--teal)}
#dialog.record-dialog{position:fixed;inset:46px 0 0;margin:0;width:100vw;height:calc(100vh - 46px);max-width:none;max-height:none;border:0;border-radius:0;background:var(--bg)}#dialog.record-dialog::backdrop{background:transparent;backdrop-filter:none}#dialog.record-dialog #record-form>.modal-head{min-height:66px;display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line)}#dialog.record-dialog .modal-head .eyebrow{display:none}#dialog.record-dialog .modal-head h2{font-size:16px;font-weight:500;margin:0}#dialog.record-dialog .modal-head>div:not(.operation-actions){flex:1}#dialog.record-dialog .modal-head .operation-actions{padding:0;margin-right:16px}#dialog.record-dialog .record-sheet{max-width:none;margin:16px 0;padding:24px}#dialog.record-dialog #dialog-fields{padding:0 16px 16px}.record-metrics>*{flex:1;min-width:160px}.record-metrics .record-field{display:grid;grid-template-columns:auto 1fr;align-items:center}.record-metrics .record-field>div{font-size:14px;margin-top:0}.record-metrics .record-group{margin-bottom:0}.record-metrics{margin-bottom:8px}.record-tabs{margin-top:0}.record-field{grid-template-columns:minmax(110px,22%) 1fr}.record-tabs button{font-size:13px;font-weight:400;background:var(--hover)}.record-tabs button[aria-selected=true]{background:var(--card);border-bottom-color:var(--card);border-top:3px solid #9dc8ec}
#workspace .row-button{background:transparent}#workspace aside{display:block}#workspace nav>a:first-child{margin-top:0!important}#workspace .sidebar-foot{margin-top:26px}#workspace aside>.wordmark{border-radius:0}#workspace.module-view .filters{padding:10px 16px}
#workspace.module-view main:has(.list-panel){padding:0}#workspace .heading.list-control{padding:16px 20px;margin:0;border-bottom:1px solid var(--line);min-height:66px}.list-control #source-filter{border:0;padding:0;background:transparent;flex:1;max-width:500px;margin:0 auto}.list-control #source-filter .search{margin:0;font-size:0!important}.list-control #source-filter input{margin:0;min-width:140px;padding:9px 12px}.list-control #source-filter button{padding:9px 12px;font-size:12px}.list-control>div:first-child{margin-right:0!important}.list-control .actions{white-space:nowrap;gap:7px}.list-control .actions button,.list-control .button-link,.list-control summary{padding:9px 11px;font-size:12px}#workspace.module-view .list-panel{border:0;border-radius:0}#workspace.module-view .list-panel .table-scroll{max-height:calc(100vh - 185px)}#workspace.module-view .list-panel+p{padding:0 20px}#workspace .table-foot{padding:8px 20px}.list-control #page-label{font-size:12px}#workspace.module-view .heading #operation-new{padding:9px 13px}
@media(max-width:1000px){.list-control{flex-wrap:wrap}.list-control #source-filter{order:5;max-width:none;flex-basis:100%}#workspace.module-view .list-panel .table-scroll{max-height:calc(100vh - 235px)}}

#dialog .row-button{background:transparent;color:var(--teal)}.record-title .operation-field>label{font-size:12px}.record-title .operation-field input{font-size:25px}
.record-relation{grid-column:1/-1;min-width:0;margin:12px 0}.record-relation table{width:100%;border-collapse:collapse;font-size:12px}.record-relation th{padding:10px;background:var(--hover);color:var(--ink);text-align:left;white-space:nowrap}.record-relation td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.record-relation .table-scroll{max-height:380px}.record-relation h3{font-size:13px}.record-relation small{display:block;margin-top:10px}
/* Match the original Workspace's visual hierarchy and interaction rhythm. */
#workspace[data-theme=light]{--ink:#10264d;--muted:#68778d;--bg:#eef2f7;--line:#dce3ec;--hover:#eef4fb;--teal:#0868c9;font-family:Inter,'Segoe UI',Arial,sans-serif}
#workspace:not(.module-view) .main{background:radial-gradient(circle at 88% 2%,#1477d417,transparent 26%),linear-gradient(180deg,var(--card),var(--bg))}
#workspace .main{transition:margin-left .25s ease}#workspace aside{transition:width .25s ease;box-shadow:5px 0 22px #1a304c0a}
#workspace .breadcrumbs a{color:var(--ink);text-decoration:none}#workspace .welcome-row h1{font-size:30px;font-weight:800}#workspace .welcome-row p:last-child{font-size:15px}#workspace .eyebrow{color:var(--teal);font-weight:800}
#workspace nav>a.active{background:linear-gradient(90deg,#0863be,#087cde);color:#fff}#workspace nav>a{display:flex;align-items:center;gap:14px;height:46px}
#workspace .nav-area summary{display:grid;grid-template-columns:24px 1fr 18px;gap:6px;color:var(--teal);padding:14px 18px 8px;font-weight:750}#workspace .nav-area summary span:last-child{transition:transform .2s ease}#workspace .nav-area>div{border:0;margin:0;padding:3px 17px 5px 48px}#workspace .nav-area a{padding:5px 8px!important;line-height:20px}#workspace .nav-area a:hover{color:var(--teal)}
.workspace-icon{width:20px;height:20px;display:inline-block;flex:none;vertical-align:middle}#workspace .stat{--accent:#176ec5;display:grid;grid-template-columns:43px 1fr;column-gap:15px;align-items:center;padding:18px;box-shadow:0 5px 15px #1e36520f}#workspace .stat.kpi-1{--accent:#12a5b7}#workspace .stat.kpi-2{--accent:#f58017}#workspace .stat.kpi-3{--accent:#8146b8}#workspace .kpi-symbol{grid-row:1/3;background:color-mix(in srgb,var(--accent) 11%,var(--card));color:var(--accent);width:43px;height:43px;border-radius:12px;display:grid;place-items:center}#workspace .stat-label{font-size:10px;font-weight:800;letter-spacing:.7px}#workspace .number{grid-column:2;font-weight:750}#workspace .panel{box-shadow:0 5px 16px #1e36520f}
#workspace .status-tile{border:1px solid var(--line);background:var(--bg)}#workspace button.status-tile:hover{border-color:var(--teal);background:var(--hover)}#workspace .quick-grid button:hover{border-color:var(--teal)}#workspace .sidebar-foot{color:var(--muted)}
#workspace :is(button,a,input,select),#dialog :is(button,input,select,textarea){transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
#workspace :is(a.stat,button.status-tile,.quick-grid button,.source-module):hover{transform:translateY(-2px);box-shadow:0 8px 20px #10264d14}#workspace :is(button,a.stat,.source-module):active,#dialog button:active{transform:translateY(1px)}
#workspace :is(button,a,input,select):focus-visible,#dialog :is(button,input,select,textarea):focus-visible{outline:2px solid #3891df;outline-offset:3px}#workspace tbody tr{transition:background-color .12s ease}#workspace button:hover{filter:none}
#workspace.is-loading header::after{content:'';position:absolute;bottom:0;left:0;width:35%;height:2px;background:#248de1;animation:workspace-loading 1.1s ease-in-out infinite}
#dialog[open]{animation:workspace-form-in .22s ease-out}#dialog .record-page:not([hidden]){animation:workspace-enter .18s ease-out}#toast:not(.hidden){animation:workspace-enter .2s ease-out}
#content> .welcome-row,#content> .workspace-banner,#content> .stats,#content> .dashboard-card,#content> .home-grid,#content> .heading,#content> .list-panel{animation:workspace-enter .28s ease-out both}#content>.stats{animation-delay:35ms}#content>.dashboard-card{animation-delay:65ms}#content>.home-grid{animation-delay:95ms}
@keyframes workspace-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes workspace-form-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes workspace-loading{from{transform:translateX(-110%)}to{transform:translateX(390%)}}
@media(prefers-reduced-motion:reduce){#workspace *,#dialog *,#dialog[open],#toast{animation:none!important;transition:none!important}#workspace :is(a.stat,button.status-tile,.quick-grid button,.source-module):hover{transform:none}#workspace.is-loading header::after{width:100%;animation:none}}

/* Text-led navigation and indicators, without decorative pictograms. */
#workspace .nav-area summary{grid-template-columns:1fr 18px}#workspace .stat{grid-template-columns:1fr}#workspace .number{grid-column:1}
/* macOS system typography; Inter is the available fallback on other systems. */
:root{--cytie-ui-font:-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display',Inter,'Segoe UI',Arial,sans-serif}
body,#workspace,#workspace[data-theme=light],#workspace[data-theme=dark],#dialog,#auth,#toast{font-family:var(--cytie-ui-font)}
body :is(button,input,select,textarea,kbd,h1,h2,h3,h4,h5,h6){font-family:inherit}
/* Bell Toggle motion adapted from the React Bits interaction reference:
   https://reactbits.dev/micro/bell-toggle (vanilla implementation). */
.notification-control{position:relative;flex:none}#workspace .bell-toggle{height:40px;width:186px;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:22px;border:1px solid var(--line);background:var(--hover);color:var(--ink);clip-path:inset(0 24px 0 0 round 22px);transition:clip-path .35s cubic-bezier(.2,.8,.2,1),background-color .2s,color .2s;overflow:hidden}
#workspace .bell-toggle[aria-expanded=true]{clip-path:inset(0 0 0 0 round 22px);background:var(--ink);color:var(--card)}.notification-bell{width:21px;height:24px;flex:none;transform-origin:50% 16%}.bell-labels{position:relative;flex:1;height:18px;text-align:left;font-size:11px;font-weight:600;white-space:nowrap}.bell-labels>span{position:absolute;left:0;top:1px;transition:opacity .2s,transform .2s}.bell-on{opacity:0;transform:translateY(5px)}.bell-toggle[aria-expanded=true] .bell-on{opacity:1;transform:translateY(0)}.bell-toggle[aria-expanded=true] .bell-off{opacity:0;transform:translateY(-5px)}.bell-waves{opacity:0}.bell-toggle[aria-expanded=true] .bell-waves{animation:bell-wave .82s ease-out}
#workspace .notification-panel{position:absolute;right:0;top:48px;width:320px;max-width:calc(100vw - 32px);padding:20px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 45px #10203026;z-index:60;animation:workspace-enter .2s ease-out}#workspace .notification-panel[hidden]{display:none}#workspace .notification-panel h3{margin:0 0 12px;font-size:15px}#workspace .notification-panel p{font-size:13px;line-height:1.5;margin:0 0 8px}.notification-panel small{line-height:1.5;display:block}@keyframes bell-wave{0%,100%{opacity:0}20%,55%{opacity:1}40%,75%{opacity:.2}}
@media(max-width:1100px){#workspace .bell-toggle{width:42px;clip-path:none;padding:0 9px}.bell-labels{display:none}}@media(max-width:850px){.notification-control{margin-left:auto}#workspace .notification-panel{position:fixed;right:16px;top:80px}}@media(prefers-reduced-motion:reduce){#workspace .bell-toggle,#workspace .bell-labels>span{transition:none}#workspace .bell-waves{animation:none}}
/* Branched Menu: original 32px preview rows, 10px curves, 400ms draw / 300ms fold. */
#workspace #nav{position:relative;padding:10px 12px 18px 28px;margin:12px 0;font-size:14px;--branch-ease:cubic-bezier(.23,1,.32,1)}#workspace #nav::before{content:'';position:absolute;left:14px;top:18px;bottom:0;width:2px;background:linear-gradient(var(--line) 55%,transparent)}
#workspace #nav>a{height:36px;padding:9px 0;margin:0;border-radius:0;background:none;color:var(--muted);font-size:15px}#workspace #nav>a.active{color:var(--teal);background:none}
.branch-marker{position:absolute;left:14px;width:2px;height:16px;border-radius:1px;background:var(--teal);opacity:0;transition:top 220ms var(--branch-ease),opacity 150ms ease}
#workspace .branch-head{display:block;width:100%;border:0;border-radius:0;padding:9px 0;background:none;text-align:left;color:var(--muted);font-size:15px;font-weight:500;line-height:1.2;transition:color .2s ease}#workspace .is-open>.branch-head,#workspace .branch-head:hover{color:var(--ink)}
.branch-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms var(--branch-ease)}.is-open>.branch-body{grid-template-rows:1fr}.branch-fold{min-height:0;overflow:hidden}.branch-tree{position:relative;padding:6px 0;box-sizing:border-box}.branch-lines{position:absolute;top:0;left:0;pointer-events:none;overflow:visible;opacity:0;transition:opacity 200ms ease}.is-open .branch-lines{opacity:1;transition:opacity 250ms ease 100ms}.branch-base,.branch-reach{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.branch-base{stroke:var(--line)}.branch-reach{stroke:var(--teal);transition:stroke-dashoffset 400ms var(--branch-ease)}
#workspace #nav .branch-tree a{display:block;box-sizing:border-box;height:32px;line-height:32px;padding:0 0 0 40px;margin:0;background:none;border:0;border-radius:0;font-size:14px;font-weight:400;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 200ms ease}#workspace #nav .branch-tree a:hover{color:var(--ink)}#workspace #nav .branch-tree a.active{color:var(--teal);font-weight:500}
#workspace.module-view aside{display:block}#workspace.module-view .main{margin-left:252px}#workspace.module-view .menu-toggle{display:block}#workspace.menu-collapsed .main{margin-left:0}
@media(max-width:850px){#workspace.module-view .main{margin-left:210px}#workspace.module-view.menu-collapsed .main{margin-left:0}}
@media(prefers-reduced-motion:reduce){#workspace .branch-body,#workspace .branch-reach,#workspace .branch-marker{transition:none}}
/* Status Mark lifecycle, inspired by reactbits.dev/micro/status-mark. */
.request-status{display:flex;align-items:center;gap:8px;min-width:115px;color:var(--muted);font-size:12px;flex:none}.request-status svg{width:24px;height:24px;flex:none;overflow:visible}.request-status circle,.request-status path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:opacity 240ms,color 240ms,stroke-dasharray 240ms,stroke-dashoffset 240ms}.status-track{opacity:.4;stroke-dasharray:3.5 3.57}.status-arc{opacity:0;stroke-dasharray:38.45 56.55;transform-origin:12px 12px}.status-check,.status-cross{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}.request-status[data-state=running]{color:var(--teal)}.request-status[data-state=running] .status-track{stroke-dasharray:56.55 0;opacity:.15}.request-status[data-state=running] .status-arc{opacity:1;animation:status-spin 1100ms linear infinite}.request-status[data-state=done]{color:#20834c}.request-status[data-state=failed]{color:#d04444}.request-status[data-state=done] .status-track,.request-status[data-state=failed] .status-track{stroke-dasharray:56.55 0;opacity:1;fill:currentColor;fill-opacity:.06}.request-status[data-state=done] .status-check,.request-status[data-state=failed] .status-cross{opacity:1;stroke-dashoffset:0}.request-status span{transition:opacity 200ms}.request-status[data-state=pending] span{opacity:.7}
#workspace.is-loading header::after{display:none}@keyframes status-spin{to{transform:rotate(360deg)}}@media(max-width:1250px){.request-status{min-width:24px}.request-status span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}@media(prefers-reduced-motion:reduce){.request-status[data-state=running] .status-arc{animation:none}.request-status *{transition:none!important}}
/* Swipe Toast: 400ms rise/drop, downward dismissal and pausable fuse. */
#toast{position:fixed;inset:auto 24px 24px auto;margin:0;width:356px;max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid #dce3ec;border-radius:12px;padding:18px 42px 20px 18px;background:#fff;color:#10264d;box-shadow:0 12px 40px #10203026;overflow:hidden;touch-action:none;z-index:1000;animation:none!important;font-family:var(--cytie-ui-font)}body[data-appearance=dark] #toast{background:#23282e;color:#dce2e8;border-color:#3b434c}#toast::backdrop{background:transparent;pointer-events:none}#toast strong{font-size:13px}#toast p{margin:6px 0 0;font-size:13px;line-height:1.5}#toast button{position:absolute;right:10px;top:10px;width:28px;height:28px;padding:0;border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}#toast button:focus-visible{outline:2px solid #3891df;outline-offset:2px}.toast-fuse{position:absolute;bottom:0;left:0;right:0;height:2px;background:#308bd3;transform-origin:left}#toast[data-kind=error] .toast-fuse{background:#df5151}#toast[data-kind=success] .toast-fuse{background:#249765}#preview-notice{margin-top:14px;font-size:12px}@media(max-width:600px){#toast{right:16px;bottom:16px}}
.relation-picker>label{margin-bottom:6px}.relation-results{max-height:220px;overflow:auto;margin:6px 0}.relation-results:empty{display:none}#dialog .relation-result{display:block;width:100%;text-align:left;padding:10px 12px;margin:2px 0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:6px;font-weight:400;cursor:pointer;transform:none}#dialog .relation-result:hover,#dialog .relation-result:focus-visible{background:var(--hover);border-color:var(--teal)}.relation-results p{font-size:12px;padding:8px}
/* Animated List adaptation for selection results; no moving table rows. */
.native-select-proxy{display:none!important}.inline-picker{position:relative;min-width:0;display:block}.inline-picker-trigger{display:block;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 12px;background:var(--input,#fff);color:var(--ink,#10264d);border:1px solid var(--line,#dce3ec);font-size:inherit;font-weight:400}.inline-picker-trigger::after{content:'⌄';float:right;margin-left:12px}.animated-options{max-height:240px;overflow:auto;border:1px solid var(--line,#dce3ec);background:var(--card,#fff);border-radius:8px;margin-top:5px;padding:5px;box-shadow:0 8px 24px #10203012}.animated-options[hidden]{display:none}.animated-options>button{display:block;width:100%;text-align:left;border:0;padding:10px 12px;background:transparent;color:var(--ink,#10264d);font-weight:400;font-size:13px;border-radius:6px;animation:option-arrive .24s cubic-bezier(.23,1,.32,1) backwards;animation-delay:var(--option-delay,0ms)}.animated-options>button:hover,.animated-options>button:focus-visible,.animated-options>button[aria-pressed=true]{background:var(--hover,#eaf2fb);outline-offset:-2px}.relation-result{animation:option-arrive .24s cubic-bezier(.23,1,.32,1) backwards}#workspace header .inline-picker .animated-options{position:absolute;top:100%;right:0;min-width:180px;z-index:50}#workspace header>.inline-picker{width:110px;flex:none}#workspace .data-mode .inline-picker{font-size:11px}#workspace header .inline-picker-trigger{font-size:12px}#dialog .inline-picker{margin-top:7px}
@keyframes option-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.animated-options>button,.relation-result{animation:none!important}}
/* Release transformed containing blocks once their entrance has finished. */
@keyframes workspace-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes workspace-form-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.column-dialog-list{max-height:55vh;overflow:auto}.column-dialog-list label{display:flex;gap:12px;align-items:center;padding:9px}.column-dialog-list label[hidden]{display:none}.column-dialog-list input{width:auto;margin:0}.filter-condition{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}

.export-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.export-field-list{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:6px}.export-field-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--line);padding:6px}.export-field-row span{flex:1}.export-field-row button{font-size:11px}@media(max-width:650px){.export-field-grid{grid-template-columns:1fr}}

.list-action-strip{display:flex;gap:8px;flex-wrap:wrap;padding:8px 20px;background:var(--card);border-bottom:1px solid var(--line)}.list-action-strip button{font-size:12px}#workspace .heading.list-control{flex-wrap:wrap}
/* First module matched to the supplied Odoo list: Detalle Remisión. */
#workspace.odoo-remissions aside{display:none}
#workspace.odoo-remissions .main{margin-left:0}
#workspace.odoo-remissions header{height:46px;min-height:46px;padding:0 22px;gap:10px}
#workspace.odoo-remissions .menu-toggle,#workspace.odoo-remissions .data-mode,#workspace.odoo-remissions .load-status{display:none}
#workspace.odoo-remissions .heading.list-control{height:66px;min-height:66px;padding:14px 20px;flex-wrap:nowrap;gap:5px;position:relative}
#workspace.odoo-remissions .list-control>div:first-child{display:flex;align-items:center;gap:4px}
#workspace.odoo-remissions .list-control h1{font-size:16px;font-weight:500;letter-spacing:0;white-space:nowrap}
#workspace.odoo-remissions #operation-new{padding:7px 10px;border-radius:5px;font-size:14px;height:33px;margin-right:0}
#workspace.odoo-remissions #remission-settings{padding:2px;border:0;background:transparent;font-size:15px}
#workspace.odoo-remissions .list-control>.actions:has(#choose-columns){display:none}
#workspace.odoo-remissions #source-filter{position:absolute;left:36%;width:28%;max-width:none;height:33px;display:flex;gap:0;border:1px solid #43515b;border-radius:6px;overflow:hidden;align-items:center}
#workspace.odoo-remissions #source-filter .search{flex:1;min-width:0;order:1}
#workspace.odoo-remissions #source-filter input{height:30px;padding:3px 6px;min-width:0;border:0;border-radius:0;background:transparent;font-size:14px;outline-offset:-2px}
#workspace.odoo-remissions #source-filter button{height:31px;border:0;background:transparent;padding:5px 8px;display:grid;place-items:center;order:0}
#workspace.odoo-remissions #source-filter #remission-filters{order:2;border-left:1px solid var(--line);width:30px}
#workspace.odoo-remissions .list-control>.actions:last-child{margin-left:auto;gap:0}
#workspace.odoo-remissions #page-label{order:-1;margin-right:9px;font-size:14px}
#workspace.odoo-remissions #prev,#workspace.odoo-remissions #next{width:32px;height:33px;padding:0;font-size:25px;font-weight:400;border-radius:3px}
#workspace.odoo-remissions .list-panel .table-scroll{height:calc(100dvh - 112px);max-height:calc(100dvh - 112px);overflow:auto}
#workspace.odoo-remissions table{table-layout:fixed;width:max-content;font-size:14px}
#workspace.odoo-remissions th,#workspace.odoo-remissions td{height:44px;padding:10px 8px;color:var(--ink);line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line)}
#workspace.odoo-remissions th{height:49px;font-size:14px;font-weight:600}
#workspace.odoo-remissions th:first-child,#workspace.odoo-remissions td:first-child{width:36px;min-width:36px;max-width:36px;padding-left:16px;padding-right:6px}
#workspace.odoo-remissions td:nth-child(2){font-weight:600}
#workspace.odoo-remissions input[type=checkbox]{width:14px;height:14px;accent-color:#437daa}
#workspace.odoo-remissions .column-sort{font:inherit;color:inherit;background:none;border:0;border-radius:0;padding:0;display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
#workspace.odoo-remissions .list-column-picker{position:sticky;right:0;width:36px;min-width:36px;z-index:3;padding:0}
#workspace.odoo-remissions #table-columns{background:transparent;color:inherit;width:36px;padding:6px;font-size:19px}
#workspace.odoo-remissions .record-detail-cell{width:36px;max-width:36px;padding:0}
#workspace.odoo-remissions .record-detail-cell>*{display:none}
#workspace.odoo-remissions .table-foot,#workspace.odoo-remissions .list-panel+p,#workspace.odoo-remissions .list-action-strip{display:none}
#workspace.odoo-remissions[data-theme=dark]{--ink:#cbd5df;--line:#404754;--card:#242733;--bg:#181b20;--hover:#34424d}
#workspace.odoo-remissions[data-theme=dark] tbody tr{background:#242733}
#workspace.odoo-remissions[data-theme=dark] tbody tr:nth-child(even){background:#292d39}
#workspace.odoo-remissions[data-theme=dark] tbody tr:hover{background:#35414f}
/* Fix inherited light-theme cell color on all dark lists. */
#workspace[data-theme=dark] td{color:var(--ink)}
@media(max-width:900px){#workspace.odoo-remissions #source-filter{position:static;margin-left:auto;width:auto;min-width:180px;max-width:340px}#workspace.odoo-remissions .account{display:none}#workspace.odoo-remissions .list-control h1{max-width:150px;overflow:hidden;text-overflow:ellipsis}}
#workspace.odoo-remissions .heading.list-control{justify-content:flex-start}
#workspace.odoo-remissions .list-control>.actions:has(#prev){margin-left:auto}
#workspace.odoo-remissions[data-theme=dark] header{background:#23282e}
#workspace.odoo-remissions .list-control>#source-filter .search{display:block}
#workspace.odoo-remissions #source-filter{flex-wrap:nowrap;align-items:center}
#workspace.odoo-remissions #source-filter .search{line-height:0;margin:0!important}
#workspace.odoo-remissions #remission-settings{color:var(--ink);width:22px;min-width:22px;height:28px;display:grid;place-items:center}

#workspace.odoo-remissions .numeric-cell{text-align:right}

.document-history{margin-top:28px;padding:24px;border-top:1px solid var(--line)}
.document-history article{padding:16px 0;border-bottom:1px solid var(--line)}
.document-history header{display:flex;gap:24px;justify-content:space-between}
.document-history li{margin:6px 0;overflow-wrap:anywhere}
.document-history time{font-size:12px;color:var(--muted)}
.linked-record{border:0;background:transparent;padding:0;color:var(--accent,#2085b0);font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

#workspace.odoo-remissions #community-notice{display:none}

#workspace.odoo-remissions table{min-width:100%}
#workspace.odoo-remissions .warehouse-view-buttons{display:flex;margin-left:12px;gap:0}#workspace.odoo-remissions .warehouse-view-buttons button{border-radius:3px;width:36px;height:33px;padding:3px;font-size:20px} .warehouse-view-buttons button[aria-pressed=true]{background:var(--hover)!important}.warehouse-alternate{margin:0;border-radius:0;min-height:calc(100dvh - 112px);padding:18px}.warehouse-analysis-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.warehouse-analysis-toolbar h2{margin:0 16px}.warehouse-analysis-toolbar>span{margin-left:auto}.warehouse-analysis-toolbar label{display:flex;gap:10px;align-items:center}.warehouse-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.warehouse-calendar>strong{text-align:center;padding:8px;background:var(--hover)}.calendar-day{min-height:105px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px}.calendar-day>span{display:block;text-align:right}.calendar-day button{display:block;width:100%;padding:3px;margin-top:3px;border-radius:3px;text-align:left;background:var(--hover);color:var(--ink);font-size:12px}.outside-month{opacity:.45}.warehouse-bars button{display:flex;gap:16px;width:100%;align-items:center;background:transparent;color:var(--ink);margin:12px 0;text-align:left}.warehouse-bars button>span:first-child{width:220px}.bar-track{flex:1;height:24px;background:var(--bg)}.bar-track i{height:24px;display:block;background:#397fae}.warehouse-bars strong{min-width:70px;text-align:right}

/* Catalogs keep compact cards while warehouse documents use the full sheet. */
#dialog.record-dialog.catalog-dialog{inset:0;margin:auto;width:min(1050px,94vw);height:auto;max-height:90vh;border:1px solid var(--line);border-radius:12px}#dialog.record-dialog.catalog-dialog::backdrop{background:rgba(20,35,50,.35)}#dialog.catalog-dialog .record-sheet{padding:20px;border-radius:10px}#dialog.catalog-dialog .record-columns{gap:16px 28px}

.support-center{max-width:1500px;margin:30px auto;padding:0 30px}.support-center .heading h1{margin:7px 0}.support-center small{letter-spacing:.08em;color:var(--muted)}.support-filters{display:flex;flex-wrap:wrap;gap:18px;padding:22px;align-items:end}.support-filters label{flex:1;min-width:150px}.support-list-heading{display:flex;justify-content:space-between;align-items:center;margin:22px 0}.support-cards{display:grid;gap:12px;margin-bottom:22px}.support-card{position:relative;display:flex;flex-direction:column;gap:9px;text-align:left;padding:20px 24px;background:var(--panel,var(--bg));color:var(--ink);border:1px solid var(--line);border-radius:10px;cursor:pointer}.support-card:hover{background:var(--hover)}.support-card strong{font-size:17px}.support-card>span,.support-card time{font-size:13px}.support-ticket-number{color:var(--accent);font-weight:700}.support-card-state{position:absolute;right:24px;top:22px;background:var(--hover);padding:6px 12px;border-radius:20px}.support-card time{color:var(--muted)}#dialog.support-dialog{width:min(944px,94vw);max-height:92vh;border-radius:8px}.support-dialog #dialog-fields{padding:16px}.support-workflow{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:30px}.support-stages{display:flex;flex-wrap:wrap}.support-stages span{padding:8px 12px;background:var(--hover);font-size:12px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%)}.support-stages .active{background:#286b94;color:white}.support-dialog input.support-title{font-size:26px;border:0;background:transparent;font-weight:600;padding:8px 0;margin-bottom:24px;width:100%}.support-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 35px}.support-tabs{display:flex;border-bottom:1px solid var(--line);margin:24px 0 16px}.support-tabs button{border-radius:0;background:transparent;color:var(--muted);padding:12px 16px;border:0;border-bottom:2px solid transparent}.support-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:#398ec0}.support-dialog textarea{width:100%;resize:vertical}.support-dialog h4{font-size:12px;margin:20px 0 12px;letter-spacing:.06em}.support-dialog .document-history{margin:0;padding:0;max-height:220px;overflow:auto}.support-dialog .document-history p{white-space:pre-wrap}.support-file{display:inline-block;padding:8px;margin:0 8px 10px 0;border:1px solid var(--line);border-radius:5px}@media(max-width:700px){.support-workflow{flex-direction:column;align-items:start}.support-fields{grid-template-columns:1fr}.support-center{padding:0 12px}.support-card-state{position:static;align-self:start}}
#dialog.support-dialog{max-width:min(944px,94vw);padding:0}#dialog.support-dialog .modal-head{padding:18px 20px;border-bottom:1px solid var(--line)}#dialog.support-dialog .modal-head>div>p{display:none}#dialog.support-dialog #dialog-fields{padding:16px 20px}.support-dialog .support-fields label{margin:0;display:grid;grid-template-columns:125px 1fr;align-items:center;font-size:13px}.support-dialog .support-fields{gap:8px 32px}.support-dialog .support-title{margin-bottom:16px!important}.support-dialog .support-workflow{margin-bottom:18px}.support-dialog .support-tabs{margin-top:18px}.support-dialog .support-stages{flex-wrap:nowrap}.support-dialog .support-workflow>button{white-space:nowrap}.support-dialog input[readonly]{background:transparent;border-color:transparent}.support-dialog .support-fields input,.support-dialog .support-fields select{min-width:0;width:100%}.support-dialog #record-form>footer{padding:14px 20px}@media(max-width:700px){.support-dialog .support-fields label{grid-template-columns:100px 1fr}.support-dialog .support-stages{flex-wrap:wrap}}
#dialog.support-dialog .modal-actions{padding:14px 20px;margin:0;border-top:1px solid var(--line)}#dialog.support-dialog #form-error{margin:0 20px}.support-dialog .support-fields input{margin-top:0}.support-dialog .support-workflow{margin-top:0}

/* Shared visual contract: all modules, dialogs and both appearance modes. */
:root {
 --ui-font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue','Segoe UI',Arial,sans-serif;
 --ui-fast:160ms;--ui-enter:220ms;--ui-ease:cubic-bezier(.2,.8,.2,1);
 --ui-radius:8px;--ui-control:36px;
}
body,#workspace,#workspace[data-theme],#workspace.odoo-remissions[data-theme],#dialog,#toast {
 --ink:#24384b;--muted:#596b7c;--bg:#f3f5f8;--card:#fff;--input:#fff;
 --line:#d5dee7;--hover:#e8eff6;--teal:#24618f;--accent:#24618f;
 --ui-primary:#24618f;--ui-primary-hover:#194c73;--ui-stripe:#f7f9fc;
 --ui-success:#217044;--ui-danger:#ad3038;--ui-warning:#805600;
 font-family:var(--ui-font);font-size:14px;line-height:1.45;
 color:var(--ink);
}
body[data-appearance=dark],#workspace[data-theme=dark],#workspace.odoo-remissions[data-theme=dark],body[data-appearance=dark] #dialog,body[data-appearance=dark] #toast {
 --ink:#e0e7ef;--muted:#b0becc;--bg:#191f27;--card:#232b36;--input:#202833;
 --line:#445163;--hover:#334256;--teal:#99c9ee;--accent:#99c9ee;
 --ui-primary:#2d6d9c;--ui-primary-hover:#347faf;--ui-stripe:#28323f;
 --ui-success:#86dab0;--ui-danger:#ffa5ad;--ui-warning:#f0d28b;color-scheme:dark;
}
body{background:var(--bg)}
#workspace :is(button,input,select,textarea),#dialog :is(button,input,select,textarea),#auth :is(button,input,select,textarea){font-family:inherit;font-size:14px;line-height:1.4}
#workspace :is(button,.button-link),#dialog :is(button,.button-link),#auth button{border-radius:var(--ui-radius)}
#workspace :is(.primary,#operation-new),#dialog .primary,#auth .primary{background:var(--ui-primary);color:#fff;font-weight:600}
#workspace :is(.primary,#operation-new):hover,#dialog .primary:hover,#auth .primary:hover{background:var(--ui-primary-hover)}
#workspace .secondary,#workspace .button-link,#dialog .secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}
#workspace :is(input,select,textarea,.inline-picker-trigger),#dialog :is(input,select,textarea,.inline-picker-trigger),#auth :is(input,select,textarea){background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:var(--ui-radius)}
#workspace :is(input,select,.inline-picker-trigger),#dialog :is(input,select,.inline-picker-trigger){min-height:var(--ui-control);padding:7px 10px}
#workspace input[type=checkbox],#dialog input[type=checkbox]{min-height:0;width:16px;height:16px;padding:0;accent-color:var(--ui-primary);flex-shrink:0}
#workspace input::placeholder,#dialog input::placeholder,#dialog textarea::placeholder{color:var(--muted);opacity:1}
#workspace :is(button,a,input,select,textarea,summary):focus-visible,#dialog :is(button,a,input,select,textarea,summary):focus-visible,#auth :is(button,input):focus-visible{outline:2px solid var(--teal);outline-offset:3px}
#workspace button:disabled,#dialog button:disabled{opacity:.55;cursor:not-allowed;transform:none}
#workspace :is(.heading h1,.heading.list-control h1),#workspace.odoo-remissions .list-control h1,#dialog.record-dialog .modal-head h2,#dialog .modal-head h2{font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.2px}
#workspace h2{font-size:20px;line-height:1.35}#workspace h3,#dialog h3{font-size:15px;line-height:1.4}
#workspace .welcome-row h1{font-size:30px;font-weight:700}
#workspace :is(small,.small,.muted,.stat-label,.table-foot),#dialog :is(small,.muted,.record-field>label,.record-extra>summary){color:var(--muted);font-size:12px}
#dialog :is(label,.operation-field label,.support-fields label){font-size:13px;color:var(--ink);font-weight:600}
#workspace table,#workspace.odoo-remissions table,#dialog table{font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums}
#workspace th,#workspace.odoo-remissions th,#dialog th{background:var(--hover);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:0;height:42px;padding:10px 12px;border-color:var(--line)}
#workspace td,#workspace.odoo-remissions td,#dialog td{color:var(--ink);height:42px;padding:10px 12px;line-height:21px;border-color:var(--line)}
#workspace tbody tr,#workspace.odoo-remissions[data-theme] tbody tr,#dialog tbody tr{background:var(--card)}
#workspace tbody tr:nth-child(even),#workspace.odoo-remissions[data-theme] tbody tr:nth-child(even),#dialog tbody tr:nth-child(even){background:var(--ui-stripe)}
#workspace tbody tr:hover,#workspace.odoo-remissions[data-theme] tbody tr:hover,#dialog tbody tr:hover{background:var(--hover)}
#workspace tbody tr:has(input:checked){background:var(--hover);box-shadow:inset 3px 0 var(--teal)}
#workspace .heading.list-control{gap:10px}
#workspace .list-control :is(.actions button,.button-link,summary,#operation-new),#workspace.odoo-remissions #operation-new{min-height:var(--ui-control);font-size:13px;padding:7px 11px}
#workspace.odoo-remissions #source-filter{height:36px;border-color:var(--line)}
#workspace.odoo-remissions #source-filter input{min-height:32px;height:32px;font-size:14px}
#workspace.odoo-remissions #source-filter button{height:34px}
#workspace .list-control #page-label{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
#workspace .main>header,#workspace.odoo-remissions .main>header{background:var(--card);color:var(--ink)}
#workspace .breadcrumbs{font-size:15px;font-weight:600}
#workspace #nav>a,#workspace .branch-head{font-size:14px}#workspace #nav .branch-tree a{font-size:14px}
#workspace :is(.panel,.stat,.source-module,.support-card),#dialog .record-sheet{border-color:var(--line);background:var(--card);color:var(--ink);border-radius:12px;box-shadow:0 3px 12px #10203008}
#workspace .list-panel{border-radius:0;box-shadow:none}
#dialog{background:var(--card);color:var(--ink)}
#dialog .record-field{font-size:14px;line-height:1.5}
#dialog .record-title .record-field>div,#dialog .record-title input,#dialog.support-dialog input.support-title{font-size:24px;line-height:1.3;font-weight:600;color:var(--ink)}
#dialog :is(.record-group h3,.record-separator){font-size:13px;font-weight:600;color:var(--ink)}
#dialog :is(.record-tabs,.support-tabs) button{font-size:13px;line-height:1.4;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:11px 14px}
#dialog :is(.record-tabs,.support-tabs) button[aria-selected=true]{color:var(--teal);border-bottom-color:var(--teal);background:var(--hover)}
#dialog .document-history{padding:20px 0;margin-top:20px;color:var(--ink)}
#dialog .document-history header{height:auto;min-height:0;padding:0;background:transparent;position:static;border:0;gap:12px;flex-wrap:wrap}
#dialog .document-history p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#dialog .document-history time{font-size:12px;color:var(--muted)}
#dialog .linked-record,#dialog .row-button{color:var(--teal);font-size:inherit}
#dialog :is(.relation-chips,.note-box),#workspace .note-box{background:var(--hover);color:var(--ink)}
#workspace .tag.good{background:color-mix(in srgb,var(--ui-success) 12%,var(--card));color:var(--ui-success)}
#workspace .tag.warn{background:color-mix(in srgb,var(--ui-warning) 12%,var(--card));color:var(--ui-warning)}
#workspace .tag.bad,#workspace .danger,#dialog .danger{background:color-mix(in srgb,var(--ui-danger) 12%,var(--card));color:var(--ui-danger)}
#dialog .error,#auth .error{color:var(--ui-danger)}
#workspace .request-status[data-state=done]{color:var(--ui-success)}#workspace .request-status[data-state=failed]{color:var(--ui-danger)}
#workspace .request-status[data-state=pending] span{opacity:1}
#workspace .support-card strong{font-size:16px}#workspace .support-card-state{font-size:12px}
#toast{background:var(--card);color:var(--ink);border-color:var(--line)}
/* Motion is shared; existing bell, branch and swipe interactions retain their behavior. */
#workspace :is(button,a,input,select,textarea),#dialog :is(button,a,input,select,textarea){transition:background-color var(--ui-fast) var(--ui-ease),color var(--ui-fast) var(--ui-ease),border-color var(--ui-fast) var(--ui-ease),box-shadow var(--ui-fast) var(--ui-ease)}
#dialog[open],#dialog .record-page:not([hidden]),#content>.support-center{animation:workspace-enter var(--ui-enter) var(--ui-ease)}
#workspace tbody tr,#dialog tbody tr{transition:background-color var(--ui-fast) var(--ui-ease)}
@media(max-width:700px){
 #workspace.odoo-remissions .heading.list-control{height:auto;min-height:66px;flex-wrap:wrap;padding:12px}
 #workspace.odoo-remissions #source-filter{position:static;order:5;flex-basis:100%;width:100%;max-width:none}
 #dialog .record-field{grid-template-columns:1fr;gap:4px}
 #dialog.record-dialog.catalog-dialog{width:96vw;max-height:94dvh}
 #workspace .heading.list-control .actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 #workspace *,#workspace *::before,#workspace *::after,#dialog,#dialog *,#toast{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(prefers-reduced-motion:no-preference){
 #workspace .bell-toggle{transition:clip-path 350ms var(--ui-ease),background-color var(--ui-fast),color var(--ui-fast)}
 #workspace :is(a.stat,button.status-tile,.quick-grid button,.source-module){transition:transform var(--ui-fast) var(--ui-ease),background-color var(--ui-fast),box-shadow var(--ui-fast)}
}
#workspace .status-tile small,#workspace .quick-grid small,#workspace .status-tile span{font-size:12px;line-height:1.45;color:var(--muted)}
#workspace .sidebar-foot p{color:var(--muted);font-size:11px}
#workspace .source-detail small,#dialog .source-detail small{color:var(--muted)}
#dialog .relation-chips{display:flex;gap:6px;flex-wrap:wrap;max-height:160px;overflow:auto}
.relation-selection{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:4px 8px;max-width:100%;overflow-wrap:anywhere;background:var(--card);font-size:13px}
#dialog .relation-selection button{padding:0 4px;background:transparent;color:var(--ink);font-size:18px;flex-shrink:0}
#dialog .relation-result[aria-pressed=true]{background:var(--hover);border-color:var(--teal);box-shadow:inset 3px 0 var(--teal)}
#dialog .relation-result[aria-pressed=true]::before{content:'✓ ';color:var(--teal)}
/* Related selectors show the target catalog, not an opaque list of IDs. */
#dialog .relation-results{max-height:320px;overflow:auto;border-radius:8px}
#dialog .relation-mini-table{min-width:720px;width:100%;table-layout:auto}
#dialog .relation-mini-table th{position:sticky;top:0;z-index:1;font-size:12px}
#dialog .relation-mini-table td{font-size:13px;white-space:normal;min-width:110px;max-width:260px;padding:8px 10px;overflow-wrap:anywhere}
#dialog .relation-mini-table td:first-child{min-width:105px;width:105px}
#dialog .relation-mini-table .relation-result{width:auto;margin:0;padding:6px 9px;font-size:12px;white-space:nowrap;animation:none}
#dialog .relation-mini-table tr:has([aria-pressed=true]){background:var(--hover)}
#dialog.import-dialog{width:min(1120px,96vw);max-width:1120px;padding:24px;max-height:94dvh}
#import-mapping .table-scroll{max-height:45vh;overflow:auto}#import-mapping td{max-width:430px;white-space:normal}#import-mapping select{min-width:250px}#import-result{padding:16px 0;overflow-wrap:anywhere}
#workspace.odoo-remissions #operation-import{font-size:13px;height:36px;padding:7px 11px}

/* Spacious action and export dialogs, including narrow screens. */
#dialog.action-menu-dialog{width:min(760px,94vw);max-width:760px;padding:28px}
#dialog .action-menu-note{margin:8px 0 20px;color:var(--muted);line-height:1.5}
#dialog .action-menu-options{display:grid;gap:12px}
#dialog .action-menu-options button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;white-space:normal;gap:7px;width:100%;padding:18px 20px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px}
#dialog .action-menu-options button strong{font-size:15px}
#dialog .action-menu-options button span{font-size:13px;line-height:1.5;font-weight:400;color:var(--muted)}
#dialog .action-menu-options button:not(:disabled):hover{border-color:var(--teal);background:var(--hover)}
#dialog .action-menu-options button:disabled{opacity:1;cursor:not-allowed;background:var(--hover)}
#dialog.export-dialog{width:min(1120px,96vw);max-width:1120px;max-height:94dvh;padding:28px}
#dialog.export-dialog .export-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:20px 0}
#dialog.export-dialog .export-field-grid section{min-width:0;border:1px solid var(--line);border-radius:10px;padding:16px}
#dialog.export-dialog .export-field-list{max-height:32dvh;overflow:auto}
#dialog.export-dialog .export-field-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
#dialog.export-dialog .export-field-row span{flex:1;min-width:0;overflow-wrap:anywhere}
#dialog.export-dialog .export-field-row button{flex-shrink:0}
#dialog.export-dialog #export-download{display:inline-flex;margin-top:12px}
@media(max-width:700px){#dialog.export-dialog .export-field-grid{grid-template-columns:1fr;gap:14px}#dialog.export-dialog,#dialog.action-menu-dialog{padding:18px}#dialog.export-dialog .export-field-list{max-height:25dvh}}
#dialog.filter-dialog{width:min(860px,96vw);max-width:860px;padding:26px}
.quick-filter-presets,.active-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.quick-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}
#filter-custom{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
#filter-custom summary{cursor:pointer;font-weight:600;margin-bottom:16px;color:var(--ink)}
.active-filter-chips{padding:0 16px}
.active-filter-chips button{font-size:12px;padding:6px 10px}
.expanded-relation-dialog{width:96vw;max-width:1600px;height:90dvh;max-height:94dvh;padding:24px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px}
.expanded-relation-dialog[open]{display:flex;flex-direction:column;gap:14px}
.expanded-relation-dialog header,.expanded-relation-dialog footer{display:flex;align-items:center;gap:12px;flex-shrink:0}
.expanded-relation-dialog header>div,.expanded-relation-dialog footer>span{flex:1}
.expanded-relation-dialog h2,.expanded-relation-dialog p{margin:0}
.expanded-relation-dialog header p{margin-top:8px;color:var(--muted)}
.relation-picker-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap}
.relation-picker-filters label{flex:1;min-width:180px;display:grid;gap:6px}
.expanded-relation-table{overflow:auto;flex:1;min-height:160px;border:1px solid var(--line);border-radius:8px}
.expanded-relation-table table{width:100%;min-width:950px;border-collapse:collapse}
.expanded-relation-table th{position:sticky;top:0;background:var(--hover);z-index:1;text-align:left}
.expanded-relation-table :is(td,th){padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px;white-space:normal;min-width:95px}
.expanded-relation-table :is(td,th):first-child{min-width:44px;width:44px}
.expanded-relation-table tr:has(input:checked){background:var(--hover)}
.expanded-relation-table input[type=checkbox]{width:18px;height:18px}
#dialog .relation-expand{margin:8px 0;width:100%}
@media(max-width:700px){.expanded-relation-dialog{padding:14px}.expanded-relation-dialog footer{flex-wrap:wrap}}

/* Internal administration overview uses the shared theme and typography. */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.settings-grid .panel-head h2,.settings-section .panel-head h2{font-size:17px;margin:0}
.settings-grid dl{margin:0}.settings-detail{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(120px,1fr) 1.5fr;gap:16px}
.settings-detail dt{color:var(--muted)}.settings-detail dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}
.settings-section{margin-top:18px;overflow:hidden}
@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.settings-detail{grid-template-columns:1fr;gap:5px}}

.billing-portal .panel-head{flex-wrap:wrap;gap:16px}.billing-portal .actions{flex-wrap:wrap}.billing-portal .actions label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.billing-concept{display:block;color:var(--muted);margin-top:4px}.billing-money{text-align:right;font-variant-numeric:tabular-nums}
.billing-state{display:inline-block;border:1px solid currentColor;border-radius:20px;padding:3px 12px;font-size:12px}
.billing-state.paid{color:#16803c;background:#16803c12}.billing-state.partial{color:var(--ink);background:var(--hover)}.billing-state.pending{color:var(--ink)}

.billing-detail{padding:8px 0}.billing-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:7px 0;color:var(--ink)}
.billing-detail-row>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.billing-detail-totals{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.billing-detail-total{font-weight:700}

/* Startup follows actual session and workspace requests, with no artificial delay. */
.startup-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#f4f7fb;color:#12324d;opacity:1;transition:opacity .2s ease;padding:24px}
.startup-loading[hidden]{display:none}.startup-loading.is-done{opacity:0;pointer-events:none}
.startup-card{text-align:center;max-width:360px;width:100%}.startup-card h1{font-family:inherit;font-size:24px;font-weight:650;letter-spacing:-.5px;margin:26px 0 10px}.startup-card p{font-size:14px;line-height:1.6;color:#63758b;margin:0;min-height:45px}
.startup-emblem{position:relative;width:116px;height:116px;margin:auto;display:grid;place-items:center;border-radius:50%;background:white;box-shadow:0 12px 40px #12324d0c}.startup-emblem img{object-fit:contain;border-radius:12px;width:80px;height:80px}
.startup-ring{position:absolute;inset:-6px;border:2px solid #dce7f2;border-top-color:#357eaf;border-right-color:#357eaf;border-radius:50%;animation:cytie-startup-spin 1.6s linear infinite}
.startup-track{height:3px;width:156px;overflow:hidden;margin:20px auto 26px;background:#dce7f2;border-radius:4px}.startup-track span{display:block;height:100%;width:45%;border-radius:4px;background:#357eaf;animation:cytie-startup-progress 1.5s ease-in-out infinite}
#startup-retry[hidden]{display:none}
@keyframes cytie-startup-spin{to{transform:rotate(360deg)}}
@keyframes cytie-startup-progress{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
@media(prefers-reduced-motion:reduce){.startup-ring,.startup-track span{animation:none}.startup-loading{transition:none}.startup-track span{width:100%}}
