/* Operational design system. All new workflow screens use .op components. */
#sosram {
  --bg:#f4f6f8; --surface:#fff; --surface-2:#f8fafc; --ink:#203047; --muted:#647287; --muted-2:#738196;
  --line:#dce3eb; --divider:#e8edf2; --navy:#173e63; --navy-2:#102b46; --accent:#1e5268; --accent-2:#27617b;
  --ok:#24734c; --warn:#976511; --danger:#b53d43; --pastel-blue:#edf3f7; --pastel-green:#edf7f0; --pastel-yellow:#fff6e4; --pastel-pink:#fbeff0;
  --sidebar-bg:#122d49; --sidebar-ink:#edf3f8; --shadow:0 2px 8px #132b4507; --radius-md:8px; --radius-lg:10px;
}
html[data-theme="dark"] #sosram {
  --bg:#131e2c; --surface:#1c2a3b; --surface-2:#223247; --ink:#e2e8ef; --muted:#acbacb; --muted-2:#9cacbf;
  --line:#37495f; --divider:#304257; --navy:#9ac1e1; --navy-2:#d2e4f4; --accent:#9fc3d4; --accent-2:#b5d3df;
  --ok:#8cd0a7; --warn:#e9c67d; --danger:#f0a0a6; --pastel-blue:#293e54; --pastel-green:#243e34; --pastel-yellow:#433b2a; --pastel-pink:#47313c;
  --sidebar-bg:#17283b; --sidebar-ink:#e4edf6; --shadow:none;
}
#sosram #appSidebar {background:var(--sidebar-bg)!important; border:0!important; color:var(--sidebar-ink)!important;}
#sosram #appSidebar .brand strong, #sosram #appSidebar .brand span, #sosram #appSidebar .sidebar-footer {color:var(--sidebar-ink)!important;}
#sosram #areaNavigation button {background:transparent!important; color:#c4d2e1!important; min-height:45px; font-weight:550;}
#sosram #areaNavigation button[aria-current="page"] {background:#ffffff12!important; color:#fff!important; box-shadow:inset 3px 0 #9cc3dc!important;}
#sosram #appHeader {padding:16px 24px!important;}
#sosram .op {font-size:14px; line-height:1.5; color:var(--ink);}
#sosram .op h2 {font-size:23px; font-weight:650; letter-spacing:-.025em; margin:0; color:var(--ink)!important;}
#sosram .op h3 {font-size:17px; margin:0 0 12px; color:var(--ink)!important;}
#sosram .op p {margin:6px 0 14px;}
#sosram .op button, #sosram .op .op-button {background:#1e5268!important; color:#fff!important; border:1px solid transparent!important; border-radius:6px!important; min-height:42px; padding:9px 14px!important; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:7px; text-decoration:none;}
#sosram .op button.secondary, #sosram .op .op-button.secondary {background:var(--surface)!important; color:var(--ink)!important; border-color:var(--line)!important;}
#sosram .op button.danger {background:var(--pastel-pink)!important; color:var(--danger)!important; border-color:var(--line)!important;}
#sosram .op button:disabled {opacity:.45; cursor:not-allowed;}
#sosram .op input, #sosram .op select, #sosram .op textarea {background:var(--surface-2)!important; color:var(--ink)!important; border:1px solid var(--line)!important; border-radius:6px; min-height:42px; padding:10px 12px; width:100%; font:inherit;}
#sosram .op label {display:grid; gap:5px; font-size:12px; color:var(--muted)!important;}
#sosram .op input[type="checkbox"] {width:20px; min-height:20px; margin:0;}
#sosram .op input:focus-visible, #sosram .op select:focus-visible, #sosram .op textarea:focus-visible, #sosram .op button:focus-visible {outline:3px solid #729dbd; outline-offset:2px;}
.op-head {display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px;}
.op-actions {display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.op-card {background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:20px; margin-bottom:16px;}
.op-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px;}
.op-form {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.op-wide {grid-column:1/-1;}
.op-muted {color:var(--muted); font-size:13px;}
.op-note {border-left:3px solid var(--accent); background:var(--surface-2); padding:12px 16px; margin:12px 0 18px; font-size:13px;}
.op-error {border-left-color:var(--danger); color:var(--danger);}
.op-table-wrap {overflow:auto; border:1px solid var(--line); border-radius:7px; background:var(--surface);}
#sosram .op table {border-collapse:collapse; width:100%; font-size:13px; margin:0;}
#sosram .op th {font-size:10px; text-transform:uppercase; letter-spacing:.06em; font-weight:650; padding:11px 14px; background:var(--surface-2)!important; color:var(--muted)!important; text-align:left; white-space:nowrap; border-bottom:1px solid var(--line);}
#sosram .op td {padding:11px 14px; border-bottom:1px solid var(--divider); vertical-align:middle; background:var(--surface)!important; color:var(--ink)!important;}
#sosram .op tr:last-child td {border-bottom:0;}
#sosram .op td button {min-height:32px; padding:5px 10px!important; font-size:12px;}
.op-status {display:inline-block; background:var(--surface-2); color:var(--muted); font-size:11px; font-weight:650; border:1px solid var(--line); border-radius:4px; padding:3px 7px; white-space:nowrap;}
.op-status.ok {background:var(--pastel-green); color:var(--ok); border-color:transparent;}
.op-status.warn {background:var(--pastel-yellow); color:var(--warn); border-color:transparent;}
.op-status.bad {background:var(--pastel-pink); color:var(--danger); border-color:transparent;}
.op-status.active {background:var(--pastel-blue); color:var(--accent); border-color:transparent;}
.op-metrics {display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:0; border:1px solid var(--line); border-radius:8px; background:var(--surface); margin-bottom:20px;}
.op-metric {padding:18px; border-right:1px solid var(--divider);}
.op-metric strong {display:block; font-size:26px; line-height:1.3; margin-top:5px;}
.op-metric span {font-size:11px; color:var(--muted);}
.op-list {display:grid; gap:10px;}
.op-stop {padding:16px; border:1px solid var(--line); border-radius:7px; background:var(--surface);}
.op-signature {width:100%; height:190px; border:2px dashed var(--line); border-radius:8px; touch-action:none; background:#fff;}
.op-dialog {width:min(980px,calc(100vw - 24px)); max-height:92dvh; padding:24px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink);}
.op-dialog::backdrop {background:#10203488;}
.op-dialog-head {display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px;}
.op-search {max-width:420px; flex:1;}
.op-compact td {padding:6px 12px!important;}
.op-small-card {padding:14px; border:1px solid var(--line); border-radius:7px; background:var(--surface);}
.op-small-card strong {display:block;}
.op-document {background:#fff; color:#172b45; padding:24px; line-height:1.5;}
.op-document h2 {color:#172b45!important;}
.op-ticket {width:58mm; padding:3mm; background:white; color:#111; font:11px/1.45 ui-monospace,monospace; overflow-wrap:anywhere;}
.op-ticket h2 {font-size:15px!important; color:#111!important; text-align:center;}
.op-ticket hr {border:0; border-top:1px dashed #333; margin:8px 0;}
.op-ticket img {max-width:48mm;}
.op-pos-head {display:flex; gap:12px; align-items:center; margin-bottom:16px;}
#sosram[data-role="driver"] .op-table-wrap {font-size:15px;}
#sosram[data-role="driver"] .op button {min-height:52px;}
@media(max-width:760px){
 #sosram .op h2 {font-size:21px;}
 .op-head {align-items:flex-start; flex-direction:column; gap:12px;}
 .op-form {grid-template-columns:1fr;}
 .op-card {padding:16px;}
 .op-grid {grid-template-columns:1fr;}
 .op-dialog {padding:16px;}
 .op-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
 .op-metric {padding:14px;}
 #sosram .op button {min-height:46px;}
}
@media print {
 body.op-printing > :not(#operationPrint) {display:none!important;}
 body.op-printing {display:block!important; background:#fff!important;}
 #operationPrint {display:block!important; color:#111; background:white;}
 @page {margin:8mm;}
}
#sosram .op-legacy {margin-top:24px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);}
#sosram .op-legacy summary {cursor:pointer;font-size:12px;}
#sosram .op-legacy[open] .op-legacy-content {padding-top:16px;}
#sosram .op-dialog {max-width:980px!important; width:calc(100vw - 24px)!important;}
#sosram .op-dialog .op-form {max-width:100%;}
#sosram .op-draft-line {padding:14px;}
#sosram .op-status {line-height:1.4;}
#sosram .op svg {max-width:100%;height:auto;display:block;}
#sosram #dashboard.shipment-dashboard.active {display:block!important;}
#sosram .view:not(.active) {display:none!important;}
#sosram .op input[type="file"] {font-size:12px;}
#sosram .op-legacy-content .catalog-validation-card {display:none!important;}
#sosram .op[hidden] {display:none!important;}
#sosram .op-dialog-body {min-width:0;}
#sosram .op-table-wrap input {min-width:80px;}
#sosram .op-search {max-width:420px;min-width:180px;}
#sosram #opInventoryMode {width:auto;min-width:150px;}
@media(max-width:600px){#sosram .op-dialog {padding:14px!important;}#sosram .op-search{max-width:none;min-width:0;width:100%;}#sosram .op-head .op-actions{width:100%;}#sosram .op-dialog-head{align-items:flex-start;}}
@media print {body.op-printing #operationPrint {display:block!important;}body.op-printing #operationPrint[hidden]{display:block!important;}}
/* Local history is preserved; reset controls do not belong in central operations. */
#sosram #operationalResetBtn, #sosram #seedBtn {display:none!important;}

.op .op-check {display:flex;align-items:center;gap:10px;min-height:42px;font-size:14px;font-weight:500;text-transform:none;} .op .op-check input {width:20px;min-height:20px;height:20px;}

.central-view #appHeader .administration-control {display:none!important;}
.op-ticket {box-sizing:border-box;}
/* Consistent operational layout in both themes; no inverted colors. */
body.central-view #sosram .view.active > .op {max-width:1320px;margin-inline:auto;padding:8px 0 28px;}
#sosram .op h2 {font-size:24px;letter-spacing:-.025em;line-height:1.25;}
#sosram .op h3 {font-size:16px;line-height:1.4;}
#sosram .op .op-card {padding:22px;border-radius:12px;box-shadow:var(--shadow);}
#sosram .op progress {accent-color:#397385;height:9px;border:0;}
#sosram .op .op-form {margin-block:12px 22px;}
#sosram .op fieldset {border:1px solid var(--line);border-radius:8px;padding:14px;}
#sosram .op details pre {font-size:12px;line-height:1.6;color:var(--ink);}
#sosram .op .op-status {max-width:100%;white-space:normal;line-height:1.4;}
#sosram .op-card .op-head {align-items:flex-start;flex-wrap:wrap;}
#sosram #posOfflineControls {margin:12px 0;padding:14px;font-size:13px;}
#sosram #posOfflineControls button {margin:3px;}
@media(min-width:980px){#sosram #dashboard .op-metrics {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:760px){#sosram .op .op-card{padding:17px;}#sosram .op button,#sosram .op .op-button{min-height:46px;}#sosram .op h2{font-size:22px;}#sosram .op-head{align-items:flex-start;flex-wrap:wrap;}}
@media(max-width:600px){
 #sosram .op-dialog:has(#opSignature) .op-table-wrap {border:0;overflow:visible;}
 #sosram .op-dialog:has(#opSignature) table,#sosram .op-dialog:has(#opSignature) tbody {display:block;width:100%;min-width:0;}
 #sosram .op-dialog:has(#opSignature) thead {display:none;}
 #sosram .op-dialog:has(#opSignature) tbody tr {display:grid;grid-template-columns:1fr;gap:8px;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px;}
 #sosram .op-dialog:has(#opSignature) td {display:block;border:0;padding:0;}
 #sosram .op-dialog:has(#opSignature) td input {width:100%!important;}
 #sosram .op-dialog:has(#opSignature) td:nth-child(1) {font-weight:700;}
 #sosram .op-dialog:has(#opSignature) td:nth-child(2)::before {content:'Esperado: ';color:var(--muted);}
 #sosram .op-dialog:has(#opSignature) td:nth-child(3)::before {content:'Cantidad recibida';display:block;font-size:12px;color:var(--muted);}
 #sosram .op-dialog:has(#opSignature) td:nth-child(4)::before {content:'Motivo de diferencia';display:block;font-size:12px;color:var(--muted);}
}
@media(max-width:600px){
 #sosram:not(.pos-mode) #appHeader{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:12px 14px!important;}
 #sosram:not(.pos-mode) #appHeader .topbar-title{width:100%;min-height:44px;}
 #sosram:not(.pos-mode) #appHeader .filters{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;}
 #sosram:not(.pos-mode) #appHeader .global-search-shell,#sosram:not(.pos-mode) #appHeader #sessionPill{display:none!important;}
 #sosram:not(.pos-mode) #appHeader .filters>button,#sosram:not(.pos-mode) #appHeader .filters>a{width:auto!important;min-width:0!important;flex:0 0 auto!important;min-height:42px!important;padding:8px 10px!important;font-size:12px!important;}
 #sosram:not(.pos-mode) #appHeader .notification-menu{width:auto!important;flex:0 0 auto!important;}
 #sosram:not(.pos-mode) #mobileBottomNav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:4px!important;padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important;}
 #sosram:not(.pos-mode) #mobileBottomNav button{flex:0 0 72px!important;min-width:72px!important;max-width:72px!important;min-height:52px!important;font-size:10px!important;padding:5px 2px!important;white-space:normal!important;}
}
