/* Shared application presentation. Document papers and program output are intentionally excluded. */
:root{--ui-primary:#800020;--ui-primary-hover:#600018;--ui-green:#d7eddf;--ui-ink:#25434a;--ui-muted:#617278;--ui-line:#d8e1e2;--ui-radius:8px;--ui-dialog-radius:12px;--ui-gutter:32px;--ui-danger:#b42332;--ui-focus:#a5782f;--ui-field-height:44px}
.dashboard,.document-setup,.inventory-module,.workflow-module{padding-left:var(--ui-gutter);padding-right:var(--ui-gutter)}
.dashboard-heading,.doc-toolbar,.inventory-heading,.workflow-heading{gap:20px;margin-bottom:24px}
.dashboard h1,.doc-toolbar h1,.inventory-heading h1,.workflow-heading h1,.how-to-hero h1{font:700 32px/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.7px;margin:0;color:var(--ui-ink)}
.dashboard-heading p,.doc-status,.inventory-heading p:last-child,.workflow-heading p:not(.workflow-kicker),.how-to-intro{font:400 15px/1.6 Arial,Helvetica,sans-serif;color:var(--ui-muted);margin-top:8px}
.workflow-heading{padding-top:0;padding-bottom:24px}.workflow-kicker,.inventory-kicker{margin-bottom:8px}
button.ui-primary-save:is(#ui-primary-save,.ui-primary-save){background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}
button.ui-primary-save:is(#ui-primary-save,.ui-primary-save):hover:not(:disabled){background:var(--ui-primary-hover)!important;border-color:var(--ui-primary-hover)!important}
button.ui-export-action:is(#ui-export-action,.ui-export-action){background:var(--ui-green)!important;border-color:var(--ui-green)!important;color:#24513b!important}
button.ui-export-action:is(#ui-export-action,.ui-export-action):hover:not(:disabled){background:#c3e2ce!important;border-color:#c3e2ce!important}
:is(.document-setup,.inventory-module,.workflow-module,.workspace,.how-to,.ui-dialog) button:not(.template-card):not(.swatch):not([role=tab]){min-height:44px}
.ui-trash-action{display:inline-grid!important;place-items:center;flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:10px!important;margin:0;border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius)!important;background:#fff!important;color:var(--ui-danger)!important;text-decoration:none!important}
.ui-trash-action svg{width:20px;height:20px;pointer-events:none;flex:none}
.ui-trash-action:hover:not(:disabled){background:#fff0f1!important;border-color:#d98b94!important;color:#961b29!important}
.ui-trash-action:disabled{opacity:.45;cursor:not-allowed}
.ui-trash-action[hidden]{display:none!important}
.doc-item-card .doc-item-actions .ui-trash-action{margin-left:auto;width:44px}
.template-source-actions{flex-wrap:wrap}
.cloud-program-row{grid-template-columns:minmax(0,1fr) 44px}
.workflow-case-card .workflow-expand,.workflow-actions-menu>summary,.workflow-note-count{width:44px;min-width:44px;height:44px}
.header-icon-button{width:44px!important;height:44px!important;min-width:44px;padding:10px!important}
.header-icon-button svg{width:22px;height:22px}
:is(body>header,.dashboard,.document-setup,.inventory-module,.workflow-module,.how-to,.workspace,.ui-dialog,.auth-gate) :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:3px}
.ui-context-back{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--ui-line);border-radius:6px;background:#fff;color:var(--ui-ink);font-size:13px;text-decoration:none;min-height:36px}
.ui-context-back:hover{background:#f5f8f7;text-decoration:underline}
.doc-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.doc-layout>*,.doc-controls,.doc-controls fieldset,.doc-item-card,.doc-item-card .row>*,.settings-section,.template-source-row>span{min-width:0}
.doc-item-card input,.doc-item-card textarea,.doc-item-card select{max-width:100%;box-sizing:border-box}
:is(.doc-controls,.settings-section,.workflow-form,.inventory-module,#editor,.ui-dialog) label{font-size:14px;line-height:1.5;font-weight:600;color:var(--ui-ink)}
:is(.doc-controls,.settings-section,.workflow-form,.inventory-module,#editor,.ui-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea){box-sizing:border-box;min-height:var(--ui-field-height);font:400 16px/1.5 Arial,Helvetica,sans-serif;border:1px solid var(--ui-line);border-radius:6px;padding:9px 12px;color:var(--ui-ink)}
.workflow-search input{font:400 16px/1.5 Arial,Helvetica,sans-serif;min-height:44px}
.ui-required-indicator{color:var(--ui-danger);font-weight:700}
:is(.doc-help,.inventory-help,.workflow-case-panel-help,#editor .help){font-size:14px;line-height:1.6;color:var(--ui-muted)}
:is(.doc-controls,.settings-section,.workflow-form,.inventory-module,#editor) :is(input,textarea,select):disabled{opacity:.7;background:#f6f8f8;color:#5c6d72}
.ui-dialog{border:1px solid var(--ui-line);border-radius:var(--ui-dialog-radius);color:var(--ui-ink);max-height:92dvh}
.ui-dialog::backdrop{background:#18333a66}
.ui-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.ui-dialog-header h2,.ui-dialog .workflow-dialog-head h2{font:700 24px/1.25 Arial,Helvetica,sans-serif;margin:0;letter-spacing:-.4px;color:var(--ui-ink)}
.ui-dialog .ui-dialog-close{display:grid;place-items:center;flex:none;min-width:44px;width:44px;min-height:44px;height:44px;font:400 24px/1 Arial;padding:0!important;margin:0;border:1px solid var(--ui-line);border-radius:8px}
.ui-dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--ui-line);background:#fff}
.ui-dialog-footer button{min-height:44px;margin:0}
.ui-dialog:not(.workflow-dialog){padding:24px;overflow:auto}
.inventory-dialog .ui-dialog-header{position:sticky;top:-24px;background:#fff;z-index:2;padding:8px 0}
.inventory-dialog .ui-dialog-footer{position:sticky;bottom:-24px;padding:16px 0;background:#fff;z-index:2}
.workflow-form-actions.ui-dialog-footer{justify-content:flex-end}
.workflow-form-actions .workflow-case-step-actions{margin-right:auto}
.workflow-form-actions .workflow-delete{margin-right:0}
.ui-state{padding:28px 20px;border:1px dashed #ccd8da;border-radius:var(--ui-radius);background:#fff;color:var(--ui-muted);font:400 15px/1.6 Arial,Helvetica,sans-serif;text-align:center}
.ui-state h2,.ui-state strong{font:700 18px/1.4 Arial,Helvetica,sans-serif;color:var(--ui-ink)}
.ui-notice:not(:empty){border-radius:var(--ui-radius);padding:12px 16px;font-size:14px;line-height:1.6}
.workflow-feedback.ui-notice:not(:empty),.inventory-error{background:#fff0f1;border:1px solid #f0ccd0;color:var(--ui-danger)}
.doc-error{border-color:#efc5ca;background:#fff0f1;color:var(--ui-danger)}
.ui-notice.ui-notice-success:not(:empty){background:#edf7f0;border:1px solid #c7e0cf;color:#24513b}
.ui-notice.ui-notice-error:not(:empty){background:#fff0f1;border:1px solid #efc5ca;color:var(--ui-danger)}
.workflow-form-error:not(:empty),[data-form-error]:not(:empty),#modalError:not(:empty){padding:12px;border-radius:8px;background:#fff0f1;color:var(--ui-danger);font-size:14px;line-height:1.6}
#modalError.ui-notice-success:not(:empty){background:#edf7f0;border-color:#c7e0cf;color:#24513b}
#toast.ui-notice{background:#fff;border:1px solid var(--ui-line);color:var(--ui-ink);box-shadow:0 6px 24px #18333a20}
#toast.ui-notice-success{background:#edf7f0;border-color:#c7e0cf;color:#24513b}
#toast.ui-notice-error{background:#fff0f1;border-color:#efc5ca;color:var(--ui-danger)}
.inventory-tabs button,.settings-subnav a,.workflow-filters button{min-height:44px;border-radius:6px}
.workflow-filters button.selected{background:#e2eff1;color:var(--ui-ink);border-color:#a4c4cb}
.doc-saved-row>span:last-child{border-radius:999px;padding:5px 10px;background:#edf4f2;color:#315c53;font-size:12px;font-weight:600;white-space:nowrap}
.workflow-badge,.workflow-status,.inventory-badge{font-size:12px;line-height:1.4;border-radius:999px}
.program-header-actions{display:none;gap:8px;align-items:center}
.program-header-actions:has(>button:not([hidden])){display:flex}
.program-header-actions>button{min-height:44px;white-space:nowrap}
body>header{padding-left:var(--ui-gutter)!important;padding-right:var(--ui-gutter)}
.how-to-footer-actions a{min-height:44px;border-radius:6px}
#mainNavToggle{display:none}
.location-switcher{display:flex;flex-direction:column;gap:4px;font-size:12px;margin-right:8px;max-width:260px}
.location-switcher select{min-height:44px;max-width:100%;font-size:14px;border:1px solid var(--ui-line);border-radius:6px;background:#fff;padding:8px}
.location-list{display:grid;gap:16px;margin:20px 0}
.location-list .row>label{min-width:0}
.location-list h2{margin-top:0}
@media(max-width:1000px){
 .doc-layout{grid-template-columns:minmax(0,1fr)}
 .doc-preview-shell{position:static;max-height:none;overflow:visible}
 .header-right:has(.program-header-actions>button:not([hidden])){flex-wrap:wrap}
 .program-header-actions:has(>button:not([hidden])){order:2;flex-basis:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
 .program-header-actions>button{white-space:normal}
}
@media(max-width:700px){
 :root{--ui-gutter:18px}
 .dashboard h1,.doc-toolbar h1,.inventory-heading h1,.workflow-heading h1,.how-to-hero h1{font-size:28px}
 .header-right:has(.program-header-actions>button:not([hidden])){width:100%;justify-content:flex-end}
 .program-header-actions:has(>button:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
 .program-header-actions>button{min-height:44px;padding:10px 12px}
 .doc-controls .doc-item .row{grid-template-columns:minmax(0,1fr)}
 .doc-item-card .doc-item-actions{display:flex;flex-wrap:wrap}
 .doc-item-card .doc-item-actions .ui-trash-action{width:44px!important;flex:0 0 44px!important}
 .ui-dialog:not(.workflow-dialog){width:calc(100% - 24px);padding:18px}
 .inventory-dialog .ui-dialog-header{top:-18px}
 .inventory-dialog .ui-dialog-footer{bottom:-18px}
 .template-source-row{align-items:flex-start;flex-wrap:wrap}
 .ui-context-back{margin-bottom:16px}
 #editor .template-grid{display:flex;gap:12px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px}
 #editor .template-grid .template-card{flex:0 0 148px}
}
@media print{.ui-trash-action,.ui-context-back{display:none!important}}
@media(max-width:600px){
 body>header{position:relative;flex-wrap:nowrap;gap:12px;min-height:88px}
 #mainNavToggle{display:grid!important;place-items:center;flex:none;margin-left:auto}
 #mainNavMenu.header-right{display:none!important;position:absolute;right:18px;top:calc(100% - 4px);z-index:20;width:min(360px,calc(100vw - 36px));max-height:calc(100dvh - 110px);overflow:auto;margin:0;padding:16px;background:#fff;border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 12px 32px #18333a24;gap:8px;justify-content:flex-start}
 #mainNavMenu.header-right.ui-menu-open{display:flex!important;flex-direction:column;align-items:stretch}
 #mainNavMenu .header-icon-button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%!important;text-align:left}
 #mainNavMenu .header-icon-button svg{flex:none}
 #mainNavMenu #settingsMenuToggle{width:100%!important;flex:1 1 auto}
 #mainNavMenu .header-icon-button[hidden]{display:none!important}
 #mainNavMenu .header-icon-button::after{content:attr(aria-label);font:600 15px Arial,sans-serif}
 #mainNavMenu .program-header-actions:has(>button:not([hidden])){margin-top:8px;padding-top:12px;border-top:1px solid var(--ui-line)}
 #mainNavMenu .program-header-actions>button{height:52px;min-height:52px;padding:6px 8px;line-height:18px}
 #mainNavMenu .settings-menu-wrap{position:static;width:100%;flex:0 0 auto}
 #mainNavMenu .settings-dropdown{position:static;box-shadow:none;width:100%;margin-top:8px}
 #mainNavMenu .settings-menu-wrap:has(.settings-dropdown:not([hidden])){width:100%;display:flex;flex-wrap:wrap}
}
@media print{#mainNavToggle{display:none!important}}

/* Shared closed-select caret: native menus and keyboard behavior remain intact.
   Longhands keep module background colors, vertical padding and sizing intact. */
@media screen{
 :root{--dropdown-caret-inset:12px;--dropdown-caret-extra-inset:4px}
 select:not([multiple]):not([size]),select:not([multiple])[size="1"]{
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23617278' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right var(--dropdown-caret-inset) center!important;
  background-size:12px 12px!important;
  padding-right:36px!important;
 }
 .location-switcher-chevron{margin-right:var(--dropdown-caret-extra-inset)}
}
@media screen and (forced-colors:active){
 select:not([multiple]):not([size]),select:not([multiple])[size="1"]{
  -webkit-appearance:auto;appearance:auto;background-image:none!important;
 }
}
