/* Shared finish for catalogs, operational screens and authentication. */
:root{--ui-accent:#2563b5;--ui-ring:#377dd448;--ui-shadow:0 4px 18px #203c6410;--ui-border:#d8e3ef;--ui-ease:cubic-bezier(.2,.7,.2,1)}
body{background-color:#eef3f9}
.content{background:radial-gradient(ellipse at top right,#e4eefc70,transparent 55%);animation:ui-enter .24s var(--ui-ease)}
.content :is(.page-header,.bd-heading){padding-bottom:18px;border-bottom:1px solid var(--ui-border);margin-bottom:8px}
.content :is(.page-header,.bd-heading) h1{letter-spacing:-.025em;line-height:1.25}
.content :is(.panel,.card,.settings-card,.bd-card,.bd-filters,.collection-toolbar,.batch-card,.shift-batch-item){box-shadow:var(--ui-shadow)}
.content :is(.bd-card,.panel,.settings-card)>header{padding-bottom:14px;border-bottom:1px solid #d8e3ef80;margin-bottom:16px}
.content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){transition:border-color .16s,box-shadow .16s;background-color:var(--bg-card,#fff)}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-ring);outline-offset:3px}
:is(input,select,textarea):focus{border-color:var(--ui-accent)}
:is(button,.sidebar-link,.primary-button,.secondary-button){transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}
:is(.primary-button,.secondary-button):not(:disabled):hover{box-shadow:0 4px 10px #2343691a;transform:translateY(-1px)}
:is(.primary-button,.secondary-button):not(:disabled):active{transform:translateY(0)}
button:disabled{cursor:not-allowed}
button[aria-busy=true]{opacity:.65;cursor:progress}
.content table tbody tr{transition:background-color .16s}
.content table tbody tr:hover{background-color:#edf4fe70}
.content details>summary{border-radius:8px;transition:background-color .16s}
.content details>summary:hover{background-color:#e9f1fb80}
.content details[open]>summary{color:var(--ui-accent)}
.content details>summary::marker{color:var(--ui-accent)}
:is(dialog[open],.modal:not(.hidden)>:is(.modal-content,.modal-window),.modal-backdrop:not([hidden])>.modal-dialog){animation:ui-dialog .2s var(--ui-ease) both}
dialog::backdrop{background:#142a4866;backdrop-filter:blur(3px)}
.app-dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);box-sizing:border-box;overflow:auto;border:1px solid var(--ui-border);border-radius:22px;padding:26px;background:var(--bg-card,#fff);color:var(--text-primary,#1d304a);box-shadow:0 24px 80px #122b4d40}
.app-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.app-dialog-header h2{margin:7px 0 0;font-size:23px;line-height:1.25;overflow-wrap:anywhere}
.app-eyebrow{font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:#467199}
.app-close{flex:none;width:34px;height:34px;border:1px solid var(--ui-border);border-radius:10px;background:#f0f5fb;color:#456180;font-size:24px;cursor:pointer}
.app-dialog-context{padding:12px 14px;border-radius:10px;background:#edf4fd;color:#355574;line-height:1.5;overflow-wrap:anywhere;margin:20px 0}
.app-field{display:grid;gap:9px;font-weight:600;font-size:14px}.app-field input{width:100%;box-sizing:border-box;border:1px solid var(--ui-border);padding:12px 14px;border-radius:10px;font:inherit;color:inherit}
.app-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.app-presets button{border:1px solid var(--ui-border);padding:7px 12px;background:#f2f6fc;color:#385b84;border-radius:9px;cursor:pointer}
.app-callout{border-left:3px solid #6d9cd4;padding:10px 14px;background:#f1f6fd;font-size:13px;line-height:1.7;color:#486481}
.app-dialog-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--ui-border);padding-top:18px;margin-top:22px}.app-dialog [hidden]{display:none!important}.app-dialog .form-error:empty{display:none}.app-dialog .form-error{color:#a72c36;line-height:1.5}
.auth-wrapper{background:radial-gradient(ellipse at 15% 10%,#dbe9fd,transparent 60%),radial-gradient(ellipse at 90% 90%,#dcf2ef,transparent 55%),#f1f5fa}.auth-card{border:1px solid var(--ui-border);box-shadow:0 18px 60px #23446619;animation:ui-enter .3s var(--ui-ease) both}
@keyframes ui-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ui-dialog{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.app-dialog{padding:20px}.app-dialog-footer>*{flex:1 1 140px}.content :is(.page-header,.bd-heading){padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

:is(dialog,.modal-window,.modal-content,.oee-dialog){border-color:var(--ui-border);box-shadow:0 24px 80px #122b4d30}
.sidebar .brand-badge{background:transparent;padding:0;letter-spacing:0;text-transform:none;font-size:11px;line-height:1.4}
[data-chart-colors-fixed]{--chart-background:#fff;--chart-text:#24364b;--chart-grid:#d7e0e9;--chart-ignored:#64748b;--chart-micro:#087da2;--chart-normal:#6741c0;--chart-running:#087f5b;--chart-long:#b36b00;--chart-critical:#c52d35}
[data-chart-colors-fixed] .timeline-chart{background:#fff;color:#24364b;border-radius:12px}
#production-report-form{display:grid;gap:18px;margin-top:22px}#production-report-form [data-report-mode=days]{display:grid;gap:18px}.app-field select{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--ui-border);padding:12px 14px;border-radius:10px;font:inherit;color:inherit;background:#fff}
#output-form{display:grid;gap:18px}#output-form .form-grid{margin:0}#output-form>button{justify-self:start}#output-current{font-size:20px;font-weight:650}#my-workshop-current{color:#276448;font-size:14px;line-height:1.5;margin-top:12px}
.batch-period-info{margin:0;padding:12px 14px;border-left:3px solid #86a9d5;background:#f1f6fd;border-radius:8px;font-size:13px;line-height:1.6;color:#486481;overflow-wrap:anywhere}
/* A cropped emblem on a quiet blue brand surface. */
.sidebar .sidebar-brand{background:radial-gradient(ellipse at 0 0,#23496b,transparent 80%),#10263e;color:#edf6ff;border-bottom:1px solid #ffffff16;padding:18px 14px;gap:12px}
.sidebar .brand-logo-icon{box-shadow:none;border:0;border-radius:0;width:58px;height:76px;object-fit:contain;flex:none;background:transparent;filter:drop-shadow(0 4px 10px #0003)}
.sidebar .brand-title{color:#f0f7ff;font-size:16px;letter-spacing:.035em}.sidebar .brand-badge{color:#afc6dc;font-size:11px;white-space:normal}
.sidebar .sidebar-toggle{background:#ffffff0c;border-color:#ffffff20;color:#c3d9eb;flex:none;width:26px}
.layout.sidebar-collapsed .sidebar .brand-logo-icon{width:44px;height:58px}.layout.sidebar-collapsed .sidebar .sidebar-brand{padding:14px}
#bh-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}#bh-list .batch-card{min-width:0}#bh-list p,#bh-list h2{overflow-wrap:anywhere}#bh-list .secondary-button{display:inline-flex;margin-top:16px;text-decoration:none}
@media(max-width:600px){.sidebar .brand-logo-icon{width:44px;height:56px}.sidebar .sidebar-brand{padding:10px 14px}.sidebar .brand-badge{display:block}.sidebar .brand-title{font-size:15px}}

/* Shared spacing, surfaces and readable controls throughout the application. */
:root{--ui-shadow:0 3px 14px #203c6409;--ui-border:#dce5ef;--ui-ring:#377dd43d}
.content{line-height:1.5}.content :is(.line-card,.product-card,.workshop-card,.history-card,.sensor-settings-card,.tests-card,.settings-card,.batch-card){border-color:var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow)}
.content :is(h1,h2,h3){text-wrap:balance}.content :is(.line-card,.product-card,.workshop-card,.history-card,.sensor-settings-card,.settings-card,.batch-card) :is(h2,h3,p,label){overflow-wrap:anywhere;min-width:0}
.content :is(.primary-button,.secondary-button,.danger-button){border-radius:10px;min-height:40px;font-weight:600;line-height:1.4}.content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){border-radius:9px;line-height:1.45}
.content table th{line-height:1.5}.content table td{line-height:1.55}.content :is(.form-grid,.settings-grid)>*{min-width:0}.content :is(.form-grid,.settings-grid){row-gap:18px}.content details>summary{padding-top:12px;padding-bottom:12px}.content :is(.status-tabs,.quality-tabs){gap:6px}.content :is(.status-tab,.quality-tabs button){border-radius:10px}
@media(hover:hover){.content :is(.line-card,.product-card,.workshop-card,.sensor-settings-card):hover{transform:none;box-shadow:0 5px 18px #203c6410}}

.batch-staff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;padding:14px 16px;background:#f5f8fc;border:1px solid #e2eaf3;border-radius:12px}.batch-staff>div{min-width:0}.batch-staff-label{display:block;margin-bottom:8px;font-size:12px;color:#637991;font-weight:600}.batch-staff-people{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.batch-staff-person{display:inline-block;max-width:100%;padding:5px 9px;border:1px solid #dce6f1;border-radius:8px;background:#fff;font-size:13px;line-height:1.45;color:#294967;overflow-wrap:anywhere}.batch-staff-empty{font-size:13px;color:#7b8b9d}.batch-current .batch-staff{background:#ffffff75}@media(max-width:600px){.batch-staff{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px}}

.list-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:18px 12px;margin-top:18px;background:var(--surface,#fff);border:1px solid var(--border,#dce4ee);border-radius:16px}.list-pagination span{font-size:14px;text-align:center;color:var(--text-secondary,#536078)}.list-pagination button{min-width:105px}.list-pagination button:disabled{opacity:.45;cursor:default}@media(max-width:420px){.list-pagination{gap:10px}.list-pagination span{flex-basis:100%;order:-1}}
