/* SOM desktop operations. Explicit scope keeps the App embedded contract intact. */
body.som-operations-shell {
  --som-sidebar-width:208px;
  --paper:#fff; --paper-2:#F3F6F7; --paper-3:#EAF0F1;
  --ink:#20323B; --ink-2:#435B66; --ink-3:#61747D;
  --rule:#DAE3E5; --rule-2:#E7EDEF;
  --oxblood:#176B67; --oxblood-2:#12534F; --forest:#287653; --gold:#9A641A;
  --serif:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  --sans:var(--serif); --mono:var(--serif);
  --r-sm:7px; --r-md:10px; --r-lg:12px; --shadow-sm:none; --shadow-md:none;
  --shadow-pop:0 12px 48px rgba(32,50,59,.15);
  background:#F3F6F7; font-size:14px; line-height:1.6;
}
.som-operations-shell [hidden] { display:none!important; }
.som-operations-shell button,.som-operations-shell input,.som-operations-shell select { font:inherit; }
.som-operations-shell button { cursor:pointer; }
.som-operations-shell button:disabled { cursor:wait; opacity:.65; }
.som-operations-shell :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #408C89; outline-offset:3px; }
.som-operations-shell .btn { padding:8px 14px; font-size:13px; border-color:var(--rule); }
.som-operations-shell .btn:not(.ghost) { background:var(--oxblood); border-color:var(--oxblood); }
.som-operations-shell .btn.ghost { background:#fff; }
.som-operations-shell .btn.ghost:hover { background:#EAF3F2; border-color:#8CBAB7; }
.som-operations-shell .kicker { letter-spacing:0; font-size:12px; }
.som-operations-shell .kicker::before { display:none; }
.som-operations-shell h2.sec { font-size:24px; line-height:1.35; margin-bottom:18px; }
.som-operations-shell .label,.som-operations-shell .grp-label { letter-spacing:0; font-size:12px; }
.som-operations-shell .ds-rowtbl th { font-size:12px; letter-spacing:0; padding:10px 14px; border-bottom-color:var(--rule); }
.som-operations-shell .ds-rowtbl td { padding:11px 14px; border-bottom:1px solid var(--rule-2); }
.som-operations-shell .ds-rowtbl tbody tr:hover { background:#F5F9F9; }
.som-operations-shell .ds-badge { font-size:11px; letter-spacing:0; }
.som-operations-shell .ds-badge-danger { color:#A83F3F; background:#FFF0EF; border-color:#E9BABA; }
.som-operations-shell .subtabs button { font-size:13px; }
.som-operations-shell .field label,.som-operations-shell .ds-field label { font-size:12px; letter-spacing:0; }
.som-operations-shell .stat .l { font-size:12px; letter-spacing:0; }
.som-operations-shell .stat .v { font-variant-numeric:tabular-nums; }
.som-operations-shell #app { max-width:720px; width:100%; min-height:100vh; }
.som-workspace { min-width:0; }
.som-sidebar { display:none; }
.som-topbar { position:sticky; top:0; z-index:40; display:flex; align-items:center; gap:16px; min-height:68px; padding:12px 20px; border-bottom:1px solid var(--rule); background:#fff; }
.som-page-location { min-width:0; flex:1; }
.som-page-location h1 { font-size:17px; line-height:1.4; font-weight:600; }
.som-search-button { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--rule); background:var(--paper-2); color:var(--ink-3); border-radius:7px; white-space:nowrap; }
.som-search-button .ic { width:17px; height:17px; }
.som-search-button kbd { font-family:inherit; font-size:11px; border:1px solid #D4DFE2; border-radius:4px; padding:0 4px; margin-left:24px; background:white; }
.som-account { display:flex; align-items:center; gap:10px; min-width:0; }
.som-avatar { width:30px; height:30px; display:grid; place-items:center; background:#E5F1EF; color:#176B67; border-radius:50%; font-size:13px; font-weight:600; }
.som-user-name { white-space:nowrap; font-size:12px; }
.som-operations-shell .identity-ctx-label,.som-operations-shell .identity-ctx { font-size:12px; }
.som-operations-shell .identity-ctx select { max-width:190px; border-color:var(--rule); padding:5px 8px; background:#fff; }
.som-skip { position:fixed; top:-70px; left:16px; z-index:999; background:var(--ink); color:#fff; padding:12px 18px; border-radius:7px; }
.som-skip:focus { top:8px; }
.som-count { margin-left:auto; min-width:20px; border-radius:5px; padding:0 5px; font-size:11px; text-align:center; background:#FCE5DF; color:#993E2F; }
.som-icon-button { display:grid; place-items:center; padding:6px; border:0; border-radius:5px; background:transparent; color:var(--ink-2); }
.som-icon-button:hover { background:var(--paper-2); }
.som-nav-error { padding:16px 8px; font-size:12px; color:#FCC8B6; }
.som-nav-error button { display:block; background:transparent; color:inherit; border:1px solid currentColor; padding:3px 12px; border-radius:5px; margin-top:8px; }
.som-operations-shell .nav { max-width:720px; border-top:1px solid var(--rule); padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -2px 12px rgba(32,50,59,.04); }
.som-operations-shell .nav a,.som-operations-shell .nav button { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; color:var(--ink-3); padding:9px 2px; background:none; border:0; }
.som-operations-shell .nav a.on { color:var(--oxblood); }
.som-operations-shell .nav .lb { font-size:11px; letter-spacing:0; }
.som-operations-shell .nav button .ic { width:19px; height:19px; }
.som-context-nav { display:flex; gap:22px; padding:0 32px; overflow-x:auto; scrollbar-width:thin; background:#fff; border-bottom:1px solid var(--rule); }
.som-context-nav a { flex-shrink:0; display:block; padding:13px 0 11px; font-size:13px; color:var(--ink-3); text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; }
.som-context-nav a:hover { color:var(--oxblood); }
.som-context-nav a.on { color:var(--oxblood); border-bottom-color:var(--oxblood); font-weight:600; }
@media(max-width:540px) { .som-context-nav { gap:20px; padding:0 16px; } }
/* Native dialog supplies focus containment and Escape handling. */
.som-finder { position:fixed; inset:0; margin:10vh auto auto; width:min(600px,calc(100vw - 32px)); max-height:80vh; border:1px solid var(--rule); border-radius:12px; color:var(--ink); background:#fff; box-shadow:var(--shadow-pop); padding:0; }
.som-finder::backdrop { background:rgba(22,39,48,.42); }
.som-finder-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px 10px; }
.som-finder-header h2 { font-size:17px; }
.som-finder-input { display:flex; align-items:center; gap:10px; margin:0 20px 12px; padding:10px 12px; border:1px solid #8CBAB7; border-radius:7px; }
.som-finder-input input { min-width:0; width:100%; padding:0; border:0; background:none; color:var(--ink); font-size:15px; outline:none; }
.som-finder-input:focus-within { box-shadow:0 0 0 2px #E2F0EE; }
#som-finder-results { max-height:48vh; overflow:auto; border-top:1px solid var(--rule-2); }
#som-finder-results ul { list-style:none; padding:8px; }
#som-finder-results a { display:flex; align-items:center; gap:14px; padding:10px 14px; border-radius:7px; color:var(--ink); text-decoration:none; }
#som-finder-results a:hover,#som-finder-results a:focus { background:#EAF3F2; }
#som-finder-results a small { display:block; color:var(--ink-3); font-size:11px; }
.som-finder-hint { padding:10px 20px; font-size:11px; color:var(--ink-3); border-top:1px solid var(--rule-2); }
.som-state { padding:30px; text-align:center; color:var(--ink-3); }
.som-state button { display:block; margin:14px auto 0; }
/* The working queue is the main surface; secondary navigation stays compact. */
.ops-page { padding:28px 20px 100px; max-width:1180px; margin:0 auto; }
.ops-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.ops-date { display:flex; align-items:center; gap:7px; color:var(--ink-3); font-size:12px; margin-bottom:6px; }
.ops-intro h2 { font-size:26px; line-height:1.4; font-weight:650; }
.ops-intro p { font-size:12px; color:var(--ink-2); margin-top:8px; }
.ops-intro p span { margin-left:14px; color:var(--ink-3); }
.ops-refresh { flex-shrink:0; }
.ops-queue { min-width:0; background:#fff; border:1px solid var(--rule); border-radius:12px; overflow:hidden; }
.ops-section-header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:20px 22px 14px; }
.ops-section-header h2 { font-size:16px; font-weight:600; }
.ops-section-header>span { color:var(--ink-3); font-size:11px; }
.ops-filters { display:flex; gap:16px; padding:0 22px; border-bottom:1px solid var(--rule); }
.ops-filters button { display:flex; align-items:center; gap:7px; background:none; border:0; padding:10px 0 12px; color:var(--ink-3); font-size:13px; border-bottom:2px solid transparent; }
.ops-filters button span { font-size:11px; padding:0 5px; border-radius:4px; background:var(--paper-2); }
.ops-filters button.on { border-bottom-color:var(--oxblood); color:var(--oxblood); font-weight:600; }
.ops-filters button.on span { background:#E5F1EF; }
.ops-queue-body { min-height:220px; }
.ops-reminder { padding:22px; border-bottom:1px solid var(--rule-2); }
.ops-reminder:last-child { border-bottom:0; }
.ops-reminder-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.ops-priority { color:#855915; background:#FCF4E4; border-radius:4px; padding:2px 7px; font-size:11px; }
.is-urgent .ops-priority { color:#A14137; background:#FFF0EB; }
.ops-reminder-count { font-variant-numeric:tabular-nums; color:var(--ink-3); font-size:12px; }
.ops-reminder-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ops-reminder-heading h3 { font-size:15px; font-weight:600; line-height:1.6; }
.ops-action,.ops-detail-action { display:inline-flex; align-items:center; gap:7px; color:var(--oxblood); text-decoration:none; font-size:12px; flex-shrink:0; border-radius:4px; }
.ops-action:hover,.ops-detail-action:hover { text-decoration:underline; }
.ops-items { margin-top:12px; }
.ops-items summary { display:flex; align-items:center; gap:8px; width:max-content; cursor:pointer; list-style:none; color:var(--ink-3); font-size:12px; padding:2px 0; }
.ops-items summary::-webkit-details-marker { display:none; }
.ops-items summary>span { font-size:11px; color:var(--ink-3); }
.ops-items[open] summary .ic { transform:rotate(180deg); }
.ops-items ul { list-style:none; margin-top:10px; padding:4px 14px; border-radius:7px; background:#F6F9F9; }
.ops-items li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--rule-2); }
.ops-items li:last-child { border-bottom:0; }
.ops-items li>div { min-width:0; overflow-wrap:anywhere; font-size:13px; }
.ops-items li small { display:block; color:var(--ink-3); font-size:11px; margin-top:2px; }
.ops-source-note { color:var(--ink-3); font-size:11px; padding:14px 22px; background:#FAFCFC; border-top:1px solid var(--rule-2); }
.ops-empty { min-height:250px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; padding:30px 20px; text-align:center; color:var(--ink-3); }
.ops-empty>.ic { width:32px; height:32px; margin-bottom:8px; color:#8DA8AE; }
.ops-empty h3 { font-size:16px; font-weight:500; color:var(--ink-2); }
.ops-empty p { font-size:12px; max-width:34em; }
/* Shared form controls stay readable in a full working day. */
.som-operations-shell :is(.dl-locator,.dl-section,.dl-no-collapse,.dl-summary,.dl-auto-details) { border-color:var(--rule); border-radius:10px; }
.som-operations-shell .dl-locator::before,.som-operations-shell .dl-sec-title::before,.som-operations-shell .dl-user-badge::after { display:none; }
.som-operations-shell :is(.dl-loc-store,.dl-date-nav,.dl-strip,.dl-today-btn,.dl-user-badge) { border-color:var(--rule); border-radius:7px; }
.som-operations-shell .dl-date-nav { overflow:hidden; }
.som-operations-shell .dl-strip { min-width:0; overflow-x:auto; }
.som-operations-shell .dl-loc-store .s-icon { font-size:11px; letter-spacing:0; }
.som-operations-shell .dl-loc-store .s-icon::before { content:'门店'; }
.som-operations-shell .dl-loc-store .s-name { font-size:15px; }
.som-operations-shell .dl-today-btn,.som-operations-shell .dl-date-main .d-sub,.som-operations-shell .loc-chip .c-dow { font-size:11px; letter-spacing:0; }
.som-operations-shell .dl-status { border:1px solid var(--rule); border-radius:7px; }
.som-operations-shell .dl-status .s-badge { font-size:11px; letter-spacing:0; border-radius:4px; }
.som-operations-shell .dl-status .s-text { font-size:12px; letter-spacing:0; }
.som-operations-shell .dl-section-header { border-color:var(--rule); padding:14px 16px; border-radius:10px 10px 0 0; }
.som-operations-shell .dl-section-header .title { font-size:15px; }
.som-operations-shell .dl-sec-title { font-size:13px; letter-spacing:0; color:var(--ink-2); }
.som-operations-shell .dl-field label { font-size:12px; letter-spacing:0; }
.som-operations-shell .dl-field label .unit { font-style:normal; }
.som-operations-shell .dl-field :is(input,select,textarea) { border-color:var(--rule); border-radius:7px; }
.som-operations-shell .dl-field :is(input,select,textarea):focus { background:#fff; border-color:var(--oxblood); box-shadow:0 0 0 2px #E2F0EE; }
.som-operations-shell .dl-auto-detail-name { font-size:12px; letter-spacing:0; }
.som-operations-shell .dl-auto-detail-meta { font-size:11px; letter-spacing:0; }
@media(min-width:1024px) {
  .som-operations-shell #app,.som-operations-shell #app.wide { max-width:none; margin:0; padding-left:var(--som-sidebar-width); }
  .som-sidebar { position:fixed; display:flex; flex-direction:column; width:var(--som-sidebar-width); inset:0 auto 0 0; z-index:60; background:#20323B; color:#fff; }
  .som-brand { display:flex; align-items:center; gap:13px; color:#fff; text-decoration:none; padding:28px 24px 36px; }
  .som-brand strong { display:flex; align-items:center; gap:4px; font-size:25px; line-height:1; font-weight:750; letter-spacing:-1px; }
  .som-brand-dot { width:5px; height:5px; align-self:flex-end; margin-bottom:2px; border-radius:50%; background:#70B6AD; }
  .som-brand>span { font-size:12px; color:#B8CBCE; }
  .som-sidebar-scroll { flex:1; min-height:0; overflow-y:auto; padding:0 12px 24px; scrollbar-width:thin; scrollbar-color:#53717C transparent; }
  .som-nav-link { display:flex; gap:11px; align-items:center; color:#BECDD1; text-decoration:none; font-size:14px; padding:12px 14px; margin:5px 0; border-radius:6px; }
  .som-nav-link>.ic { flex-shrink:0; width:17px; height:17px; opacity:.8; }
  .som-nav-link:hover { background:#2B434C; color:#fff; }
  .som-nav-link.on { background:#345E63; color:#fff; font-weight:600; }
  .som-nav-link.on>.ic { opacity:1; }
  .som-sidebar-utility { margin:0 12px; padding:12px 0 18px; border-top:1px solid #3D525C; }
  .som-sidebar-utility .som-nav-link { font-size:12px; padding-top:9px; padding-bottom:9px; }
  .som-external { margin-left:auto; color:#94AFB7; }
  .som-operations-shell .nav { display:none; }
  .som-topbar { min-height:72px; padding:12px 32px; }
  .som-page-location { display:flex; align-items:center; gap:12px; }
  .som-page-location h1 { font-size:16px; }
  .som-account { margin-left:8px; padding-left:20px; border-left:1px solid var(--rule); }
  .som-operations-shell #view { min-width:0; }
  .som-operations-shell #view .page-surface>.view-pad { padding:28px 32px 96px; max-width:1060px; margin:0 auto; }
  .som-operations-shell #app.wide #view .page-surface>.view-pad { max-width:1600px; }
  .som-operations-shell .toast { bottom:28px; }
  .ops-page { padding:32px 32px 60px; }
  .som-operations-shell .dl-submit-bar { left:var(--som-sidebar-width); bottom:0; border-top:1px solid var(--rule); padding:12px 32px; }
  .som-operations-shell .dl-submit-bar::before { display:none; }
  .som-operations-shell .dl-submit-bar .inner { max-width:996px; display:flex; justify-content:flex-end; }
  .som-operations-shell .dl-submit-bar .dl-btn-primary { width:auto; min-width:200px; padding:11px 36px; border:1px solid var(--oxblood); background:var(--oxblood); color:#fff; border-radius:7px; font-size:14px; letter-spacing:0; }
  .som-operations-shell .dl-submit-bar .dl-btn-primary:disabled { background:var(--paper-2); border-color:var(--rule); color:var(--ink-3); }
  .som-operations-shell .dl-locator { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 20px; }
  .som-operations-shell .dl-locator>.dl-loc-row:nth-child(n+3),.som-operations-shell .dl-locator>.dl-status { grid-column:1/-1; }
  .som-operations-shell .dl-pos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .som-operations-shell .dl-field label { font-size:12px; letter-spacing:0; }
  .som-operations-shell .dl-sheet { left:calc(50% + var(--som-sidebar-width) / 2); right:auto; width:calc(100vw - var(--som-sidebar-width) - 48px); transform:translateX(-50%) translateY(110%); max-width:640px; border-radius:12px 12px 0 0; }
  .som-operations-shell .dl-sheet.show { transform:translateX(-50%) translateY(0); }
  .som-operations-shell .stf-card { padding:14px 16px; }
  .som-operations-shell .stf-nm { font-size:15px; }
  .som-operations-shell .rc-row { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,1.6fr); gap:8px 20px; align-items:center; padding:14px 18px; }
  .som-operations-shell .rc-row .meta { margin-top:0; font-size:12px; line-height:1.8; }
  .som-operations-shell .rc-fcell .nm { font-size:12px; letter-spacing:0; }
  .som-operations-shell .rc-funnel { grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); }
  .som-operations-shell .rc-fcell.total { grid-column:auto; }
  .som-operations-shell .scope-toolbar { padding:14px 16px; background:#fff; border:1px solid var(--rule); border-radius:8px; }
  .som-operations-shell .ds-backdrop:not(.center) { justify-content:center; align-items:center; padding:28px; }
  .som-operations-shell .ds-sheet { width:100%; max-width:840px; max-height:88vh; border:1px solid var(--rule); border-radius:12px; }
}
@media(min-width:1440px) {
  .som-operations-shell #stf-list-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
  .som-operations-shell #stf-list-body>.stf-card { margin:0; }
}
@media(max-width:1230px) and (min-width:1024px) {
  .som-topbar { gap:12px; padding:12px 24px; }
  .som-search-button>span,.som-search-button>kbd,.som-user-name { display:none; }
  .som-account { margin-left:0; padding-left:12px; }
}
@media(max-width:1023px) {
  .som-search-button>span,.som-search-button>kbd,.som-user-name,.som-avatar { display:none; }
  .som-search-button { padding:7px; }
  .som-topbar { gap:10px; flex-wrap:wrap; }
  .som-account { max-width:100%; }
  .som-operations-shell .identity-ctx select { max-width:170px; }
  .som-operations-shell .view-pad { padding-top:24px; }
}
@media(max-width:540px) {
  .som-topbar { padding:10px 16px; }
  .som-account { flex-basis:100%; padding-top:3px; }
  .som-operations-shell .identity-ctx-label { white-space:normal; }
  .ops-page { padding:24px 16px 96px; }
  .ops-intro { align-items:flex-start; gap:12px; }
  .ops-intro h2 { font-size:23px; }
  .ops-intro p span { display:block; margin:4px 0 0; }
  .ops-refresh { padding:7px 10px!important; }
  .ops-section-header { padding:18px 16px 12px; }
  .ops-filters { padding:0 16px; gap:14px; }
  .ops-filters button { font-size:12px; }
  .ops-reminder { padding:18px 16px; }
  .ops-reminder-heading { align-items:flex-start; }
  .ops-reminder-heading h3 { font-size:14px; }
  .ops-action { font-size:11px; padding-top:3px; }
  .ops-source-note { padding:12px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .som-operations-shell *,.som-operations-shell *::before,.som-operations-shell *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Fast people lookup stays within the already-authorized roster response. */
.stf-search-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0}
.stf-search-box{display:flex;align-items:center;gap:9px;max-width:380px;flex:1;background:var(--paper);border:1px solid var(--rule);border-radius:7px;padding:8px 12px}
.stf-search-box .ic{width:17px;height:17px;color:var(--ink-3);flex-shrink:0}
.stf-search-box input{min-width:0;width:100%;border:0;background:none;color:var(--ink);font:inherit;outline:none}
.stf-search-box:focus-within{outline:2px solid var(--oxblood);outline-offset:2px}
#stf-result-count{font-size:12px;color:var(--ink-3);white-space:nowrap}
.som-operations-shell .kicker:has(+h2.sec){display:none}
@media(max-width:440px){.stf-search-row{flex-wrap:wrap;gap:8px}.stf-search-box{max-width:none;flex-basis:100%}}

/* Page structure: context, filters, results, then detail. Tables scroll inside their panel. */
.page-surface{min-width:0}
.page-error{padding:32px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);margin:20px;color:var(--ink-2)}
.page-error p{margin:8px 0 16px}
.som-description{color:var(--ink-3);font-size:13px;margin:-8px 0 20px;line-height:1.7}
.som-toolbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:16px;margin:18px 0}
.som-field{display:flex;flex-direction:column;gap:6px;color:var(--ink-2);font-size:12px;min-width:0}
.som-field :is(input,select,textarea),.som-search{font:inherit;font-size:14px;color:var(--ink);border:1px solid var(--rule);background:var(--paper);padding:9px 12px;border-radius:6px;min-width:0;width:100%}
.som-search-field{flex:1;min-width:180px;max-width:500px}
.som-result-count{font-size:12px;color:var(--ink-3);margin:12px 0}
.som-table-scroll{max-width:100%;overflow:auto;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}
.som-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}
.som-table th{color:var(--ink-3);background:var(--paper-2);font-size:12px;font-weight:500;white-space:nowrap}
.som-table :is(th,td){padding:14px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
.som-table tbody tr:last-child td{border:0}
.som-table tbody tr:hover{background:var(--paper-2)}
.som-table small{display:block;color:var(--ink-3);font-size:11px;margin-top:5px}
.som-number{font-variant-numeric:tabular-nums;white-space:nowrap}
.som-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.pc-table{min-width:760px}.pc-reason{max-width:290px;overflow-wrap:anywhere}
.som-form-dialog{margin:auto;padding:24px;width:min(560px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--rule);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #15272f44}
.som-form-dialog::backdrop{background:#15272f66}
.som-form-dialog h2{font-size:20px;margin-bottom:20px}.som-dialog-fields>p{margin:12px 0}
.som-dialog-fields .som-field{margin-top:18px}.som-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.som-form-error{color:#A43C35;margin-top:12px;font-size:13px}
.som-operations-shell .scope-toolbar{gap:12px;padding:14px 16px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);margin:16px 0}
.som-operations-shell :is(.scope-ctl,.scope-dd,.scope-search){min-height:38px;padding:7px 10px;font-size:13px;min-width:0;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}
.som-operations-shell .scope-sel{min-width:0;flex-wrap:wrap}
.som-operations-shell .subtabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
.som-operations-shell .subtabs button{flex-shrink:0;padding:11px 16px;white-space:nowrap}
.som-operations-shell .mv-bucket{font:inherit;text-align:left;border:1px solid var(--rule);cursor:pointer;border-radius:8px;background:var(--paper)}
.som-operations-shell .mv-bucket.on{background:#EAF3F2;outline:1px solid var(--oxblood)!important}
.mv-row-toggle{border:0;background:transparent;color:var(--oxblood);font:inherit;font-size:12px;cursor:pointer;padding:6px 0;text-align:left}
.mv-row:has(.mv-detail:not([hidden])){background:var(--paper-2)}
.som-operations-shell .mv-search{margin:12px 0;max-width:420px}
.som-operations-shell .mv-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important}
.som-operations-shell .tk-month .tk-month-button{border:1px solid var(--rule);border-radius:5px;padding:4px 12px;background:var(--paper);font:inherit}
.som-operations-shell .tk-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.som-operations-shell .tk-filterbar button.on{background:var(--oxblood);color:#fff}
@media(min-width:1024px){
  .som-operations-shell #view .page-surface>.view-pad{max-width:1440px;padding:28px 32px 96px}
  .som-operations-shell .pr-page{max-width:none}
  .som-operations-shell .pr-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}
  .som-operations-shell .tr-workspace{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:20px;align-items:start}
  .som-operations-shell #tr-list{max-height:calc(100vh - 300px);overflow:auto;padding:2px 4px 2px 0;position:sticky;top:136px}
  .som-operations-shell #tr-detail{min-height:360px;margin-top:12px}
  .som-operations-shell .tr-scard{width:100%;text-align:left;font:inherit;display:block}
  .som-operations-shell .tr-scard.on{border-color:var(--oxblood);background:#EAF3F2}
  .som-operations-shell .stf-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
}
@media(max-width:600px){.som-toolbar{padding:12px}.som-toolbar .som-search-field{min-width:100%}.som-table :is(th,td){padding:12px}.som-operations-shell .scope-sel{width:100%}.som-operations-shell .scope-ctl{max-width:100%}}

/* Detail hierarchy keeps frequent work above long background records. */
.som-disclosure{border:1px solid var(--rule);border-radius:8px;background:var(--paper);margin:12px 0;overflow:hidden}
.som-disclosure>summary{cursor:pointer;padding:12px 16px;font-size:13px;color:var(--ink-2);list-style-position:inside}
.som-disclosure>summary .muted{margin-left:12px;font-size:12px}
.som-disclosure[open]>summary{border-bottom:1px solid var(--rule)}
.som-disclosure .card{border:0}
.tr-scard{width:100%;text-align:left;font:inherit;display:block;color:var(--ink)}
.som-operations-shell #tr-root :is(.card,.tr-info-panel) h2.sec{font-size:17px;margin-bottom:12px}
.som-operations-shell #tr-root .field{margin-bottom:8px}
.som-operations-shell #tr-root :is(input,select).field{margin-bottom:0}
.som-operations-shell .stf-kv{display:grid;grid-template-columns:1fr;gap:8px 28px}
.stf-kv-pair{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:baseline;min-width:0}
.stf-kv-pair .v{overflow-wrap:anywhere}
.som-operations-shell .stf-sec-hd{justify-content:flex-start;gap:12px}
.som-operations-shell .tk-badge{font-size:11px;letter-spacing:0}
.som-operations-shell .tk-badge.overdue{background:#FFF0EB;color:#A14137}
.som-operations-shell .tk-hint{font-size:12px;letter-spacing:0}
.som-operations-shell .tk-input{border-color:var(--rule)}
.som-operations-shell .tk-auto .stat{padding:0;background:transparent;border:0;box-shadow:none}
.som-operations-shell .tk-sec-hd .num{display:none}
.som-operations-shell .tk-prog{border-color:var(--rule);height:20px}
.som-operations-shell .rc-advanced .rc-poolfilter{border:0;margin:0}
.som-operations-shell .complaint-card{display:block;text-decoration:none;color:var(--ink)}
.som-operations-shell .complaint-card:hover{border-color:var(--oxblood)}
.som-operations-shell .cb-dndhead{background:transparent;border:0}
.som-operations-shell .cb-search{max-width:450px;border-radius:6px}
@media(min-width:1024px){
  .som-operations-shell .stf-kv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .som-operations-shell #cb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
  .som-operations-shell .cb-card{margin:0}
  .som-operations-shell .mc-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center}
  .som-operations-shell .mc-card .mc-badges{grid-column:1}.som-operations-shell .mc-card .mc-actions{grid-column:2;grid-row:1 / span 2;justify-content:flex-end}
  .som-operations-shell .s-store-row,.som-operations-shell .s-task-row{padding:14px 16px}
}

@media(min-width:1024px){
  .som-operations-shell .hc-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
  .som-operations-shell .hc-store-grid>.hc-store-result{display:block;width:auto;margin:0}
}

.som-disclosure>.stf-sec-hd::before{content:'▸';font-size:12px}
.som-disclosure[open]>.stf-sec-hd::before{content:'▾'}
@media(min-width:1024px){
  .som-operations-shell .tr-action-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
  .som-operations-shell .tr-action-form>:is(h2,.muted,.btn-row){grid-column:1 / -1}
}
