/* SALES RC fix: one shared control surface, stable navigation and header. */
:root{--control-bg:#fff;--control-border:#b8c4d4;--control-hover:#7d91ab;--control-focus:#2563eb;--control-muted:#64748b;--control-disabled:#eef2f6;--control-radius:8px;--control-height:40px}
html[data-theme=dark]{--control-bg:#111b2e;--control-border:#53647e;--control-hover:#8ea4c4;--control-focus:#60a5fa;--control-muted:#a6b5cb;--control-disabled:#202c40}
html :is(.app-shell,.auth-layout,dialog) :is(input:not(:where([type=checkbox],[type=radio],[type=range],[type=color],[type=hidden])),select,textarea){box-sizing:border-box;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);color:var(--ink);padding:9px 12px;font-size:14px;line-height:20px;min-width:0;max-width:100%;outline:none;box-shadow:none}
html :is(.app-shell,.auth-layout,dialog) :is(input:not(:where([type=checkbox],[type=radio],[type=range],[type=color],[type=hidden])),select:not(:where([multiple]))){height:var(--control-height)}
html :is(.app-shell,.auth-layout,dialog) textarea{min-height:90px}
html :is(.app-shell,.auth-layout,dialog) :is(input,textarea)::placeholder{color:var(--control-muted);opacity:1}
html :is(.app-shell,.auth-layout,dialog) :is(input,select,textarea):hover:not(:disabled){border-color:var(--control-hover)}
html :is(.app-shell,.auth-layout,dialog) :is(input,select,textarea):focus-visible{border-color:var(--control-focus);outline:2px solid var(--control-focus);outline-offset:2px}
html :is(.app-shell,.auth-layout,dialog) :is(input,select,textarea):disabled{background:var(--control-disabled);color:var(--control-muted);cursor:not-allowed;opacity:1}
/* The search wrapper owns all four borders. The input must not paint over it. */
html .search{box-sizing:border-box;min-width:0;min-height:var(--control-height);height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);padding:0 10px;gap:8px;background:var(--control-bg);color:var(--control-muted);overflow:visible}
html :is(.app-shell,.auth-layout,dialog) .search>input{flex:1;width:0;height:calc(var(--control-height) - 2px);min-width:0;margin:0;padding:8px 0;border:0;border-radius:0;background:transparent;outline:none;box-shadow:none}
html .search:hover{border-color:var(--control-hover)}
html .search:focus-within{border-color:var(--control-focus);outline:2px solid var(--control-focus);outline-offset:2px}
html .search:has(input:disabled){background:var(--control-disabled)}
.toolbar,.etable-tools,.report-range{gap:12px;align-items:center;flex-wrap:wrap}
.toolbar>select,.etable-tools>select{flex-shrink:0}
html .branch-pick{padding:0;border:0;background:transparent}
html .branch-pick>svg{display:none}
html .branch-pick select{max-width:160px;width:100%;font-size:12px;padding:8px}
.auth-bottom{border:0;margin-top:18px;padding-top:0;align-items:flex-start;line-height:1.6}
.auth-bottom svg{flex-shrink:0;margin-top:1px}
.auth-form{min-width:0}.auth-form h2{overflow-wrap:anywhere}.auth-tabs{align-items:stretch}.auth-tabs .button{min-width:0}
.sidebar{overflow-anchor:none;overscroll-behavior:contain;scroll-behavior:auto}
.sidebar>.nav-group{flex-shrink:0}.sidebar .brand{flex-shrink:0}.nav-heading{display:block;color:#94a3b8}
/* Keep the profile last in DOM and on screen at every width. */
.topbar{display:flex;align-items:center;gap:14px;height:auto;min-height:76px;padding:12px 24px;flex-wrap:wrap}
.topbar .header-location{display:flex;align-items:center;flex:0 1 auto;min-width:0}
.topbar .breadcrumb{display:flex;min-width:0}.breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.topbar .global-search{flex:1 1 240px;min-width:170px;max-width:560px;margin:0 auto}
.topbar .topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto;margin-left:auto}
.topbar .shell-tools{display:flex;align-items:center;gap:8px;margin:0}
.topbar .today{font-size:12px;white-space:nowrap}
.topbar .profile-menu{position:relative;flex:0 0 auto}
.profile-menu>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;border-radius:9px;padding:4px;min-height:40px;color:var(--ink)}
.profile-menu>summary::-webkit-details-marker{display:none}
.profile-menu>summary:focus-visible{outline:2px solid var(--control-focus);outline-offset:2px}
.profile-menu .user-name{display:block;max-width:150px;text-align:right;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-menu .user-name small{display:block;font-size:11px;color:var(--muted);font-weight:400}
.profile-menu .avatar{width:36px;height:36px;flex-shrink:0}
.profile-pop{position:absolute;right:0;top:calc(100% + 10px);width:210px;padding:6px;border:1px solid var(--control-border);border-radius:10px;background:var(--control-bg);box-shadow:0 12px 36px #0003;z-index:70}
.profile-pop a,.profile-pop button{display:flex;align-items:center;gap:8px;width:100%;padding:11px 12px;border:0;border-radius:6px;text-decoration:none;text-align:left;background:transparent;color:var(--ink);font:inherit;font-size:13px}
.profile-pop a:hover,.profile-pop button:hover{background:var(--control-disabled)}
.search-shortcut{flex:none;display:flex;align-items:center;border:1px solid var(--control-border);border-radius:5px;padding:3px 5px;background:transparent;color:var(--control-muted);cursor:pointer;white-space:nowrap}
.search-shortcut kbd{font:inherit;font-size:10px}
.topbar .mobile-menu{margin-right:8px}
@media(max-width:1450px){.topbar .today{display:none}.breadcrumb{font-size:0}.breadcrumb>b{display:none}.breadcrumb>strong{font-size:12px;max-width:135px}.topbar{gap:10px;padding:10px 16px}.topbar .topbar-right{gap:8px}}
@media(min-width:761px) and (max-width:1100px){.topbar .global-search{order:5;flex:1 1 70%;max-width:none}.topbar .branch-pick{order:6;max-width:135px}.topbar .header-location{display:flex}.topbar .profile-menu .user-name{max-width:120px}}
@media(max-width:760px){.topbar{gap:10px;padding:10px 13px}.topbar .header-location{display:flex;flex:1 1 auto}.topbar .breadcrumb{display:flex}.topbar .global-search{order:5;flex:1 1 180px;min-width:140px;max-width:none}.topbar .branch-pick{order:6;max-width:120px}.topbar .profile-menu .user-name{display:none}.topbar .topbar-right{gap:6px}.topbar .shell-tools{gap:6px}.topbar .avatar{width:32px;height:32px}.topbar .breadcrumb strong{max-width:85px}.topbar .search-shortcut{display:flex}.topbar .shell-tools .icon-button{min-width:34px;padding:0 7px}.as-panel{padding:14px}.as-form .button{padding:9px 12px}}
@media print{.profile-pop,.search-shortcut{display:none}}
