:root{--blue: #1e88e5;--blue-dark: #1565c0;--blue-light: #e3f2fd;--ink: #1f2328;--muted: #5a6572;--line: #e1e4e8;--ground: #ffffff;--raised: #f6f8fa;--green: #43a047;--green-dark: #388e3c;--hot: #fde4ec;--hot-ink: #ad1457;--under: #d32f2f;--met: #2e7d32;--unmatched: #fff8e1;--unmatched-ink: #8d6e00;--plant: #1565c0;--product: #c62828;--commodity: #2e7d32;--department: #00796b}*{box-sizing:border-box}body{margin:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;color:var(--ink);background:var(--ground)}.app{display:flex;flex-direction:column;min-height:100vh}.app-head{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--blue);color:#fff;flex-wrap:wrap}.brand{background:none;border:0;color:#fff;font-size:19px;font-weight:700;cursor:pointer;padding:0}.app-nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.app-nav a{color:#fff;text-decoration:none;padding:6px 10px;border-radius:4px;font-size:14px;opacity:.85}.app-nav a.active,.app-nav a:hover{background:#ffffff2e;opacity:1}.app-identity{display:flex;align-items:center;gap:10px;font-size:13px;color:#ffffffe6}.app-identity .muted{color:#ffffffd9}.app-frame{display:flex;flex:1;min-height:0}.app-body{flex:1;padding:16px;min-height:0;min-width:0}.app-rail{flex:none;border-right:1px solid var(--line);background:var(--raised)}.rail-list{position:sticky;top:0;display:flex;flex-direction:column;max-height:100vh;overflow-y:auto;padding:8px}.rail-list ul{list-style:none;margin:0;padding:0}.rail-toggle,.rail-list a,.rail-list li>button{display:flex;align-items:center;width:100%;padding:0;margin:2px 0;background:none;border:0;border-radius:20px;color:var(--muted);font:inherit;font-size:14px;text-decoration:none;white-space:nowrap;cursor:pointer}.rail-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%}.rail-toggle:hover .rail-icon,.rail-list a:hover .rail-icon{background:var(--line)}.rail-list a.active{color:var(--blue);font-weight:700}.rail-list a.active .rail-icon{background:var(--blue-light)}.rail-label{max-width:0;overflow:hidden;transition:max-width .15s ease}.app-rail.open .rail-label{max-width:16em;padding:0 12px 0 8px}.rail-divider{height:1px;margin:6px 4px;background:var(--line)}@media(prefers-reduced-motion:reduce){.rail-label{transition:none}}.screen{display:flex;flex-direction:column;gap:12px}.screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.screen-head h1{margin:0;font-size:22px}.screen-description{margin:4px 0 0;color:var(--muted);font-size:14px}.screen-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search{display:flex;gap:4px}.filter-menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filter-anchor{position:relative}.filter-button{display:inline-flex;align-items:center;padding:6px 8px;color:var(--muted)}.filter-button.on{background:var(--blue-light);border-color:var(--blue);color:var(--blue-dark)}.filter-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:20;width:300px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--ground);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 12px #0000001f}.filter-panel-foot{border-top:1px solid var(--line);padding-top:6px}.filter-panel-foot button:disabled{color:var(--muted);cursor:default}.filter-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.filter-tag{display:inline-flex;align-items:center;padding:2px 2px 2px 8px;border-radius:4px;background:var(--blue-light);color:var(--blue-dark);font-size:13px;font-weight:500}.filter-tag button{border:0;background:none;padding:0 6px;font-size:16px;line-height:1;color:var(--muted)}.owner-filter{display:flex;flex-direction:column;gap:6px}button.filter-apply{align-self:flex-end}.filter-field-label{padding:0 8px;font-size:13px;color:var(--muted)}input,select,textarea{font:inherit;font-size:14px;padding:5px 7px;border:1px solid var(--line);border-radius:4px;background:#fff;color:inherit;max-width:100%}button{font:inherit;font-size:14px;padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer}button.primary{background:var(--blue);border-color:var(--blue);color:#fff}button.primary:hover{background:var(--blue-dark)}button.primary.create{background:var(--green);border-color:var(--green)}button.primary.create:hover{background:var(--green-dark)}button.link{border:0;background:none;color:var(--blue);padding:4px 6px}button.danger{color:var(--under);border-color:var(--under)}.muted{color:var(--muted);font-size:14px}.count{margin:0}.error{border:1px solid var(--under);border-left-width:4px;border-radius:4px;padding:8px 12px;background:#fdeaea}.error p{margin:4px 0 0}.error ul{margin:6px 0 0 18px;padding:0}.grid{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;overflow:hidden;min-height:200px;flex:1}.grid-error{background:#fdeaea;color:var(--under);padding:6px 10px;font-size:13px}.grid-head,.grid-row{display:grid;align-items:center;font-size:14px}.grid-head{background:var(--raised);border-bottom:1px solid var(--line);font-weight:700;position:sticky;top:0;z-index:1}.grid-body{overflow:auto;flex:1;max-height:65vh}.grid-cell{padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-cell.right{text-align:right}.grid-cell.actions{white-space:nowrap}.grid-row{border-bottom:1px solid var(--line);min-height:34px;cursor:pointer;background:#fff}.grid-row:hover{background:#f2f7fd}.grid-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.grid-row.selected{background:#d9ecfb;box-shadow:inset 3px 0 0 var(--blue)}.grid-row.group{background:var(--raised);font-weight:700;cursor:default}.grid-row.group.depth-1{background:#fbfcfd;font-weight:500}.grid-row.group .grid-cell.group-label{overflow:visible;white-space:nowrap}.group-count{display:inline-block;margin-left:8px;padding:0 7px;border-radius:9px;background:var(--blue);color:#fff;font-size:12px;font-weight:700}.group-aggregate{font-variant-numeric:tabular-nums}.grid-empty,.grid-body>p{padding:16px;color:var(--muted)}.cell-failed{color:var(--under);text-decoration:underline wavy var(--under)}.panes{display:grid;gap:16px}.panes.dashboard,.panes.daily{grid-template-columns:minmax(280px,1fr) minmax(400px,2fr)}.panes.dashboard .pane-orders,.panes.daily .pane-orders{grid-row:span 2}.panes.single{grid-template-columns:1fr}.panes.charts{grid-template-columns:repeat(2,minmax(320px,1fr))}.panes.charts .pane.wide{grid-column:1 / -1}.pane{border:1px solid var(--line);border-radius:4px;padding:10px;min-width:0;display:flex;flex-direction:column}.pane h2{margin:0 0 8px;font-size:16px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.tab{border:0;background:none;padding:8px 12px;color:var(--muted)}.tab.active{color:var(--blue);font-weight:700;box-shadow:inset 0 -2px 0 var(--blue)}.histogram-legend{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px}.histogram-legend li{display:flex;align-items:center;gap:6px}.histogram-legend .swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.histogram-label{font-size:12px;fill:var(--muted)}.histogram-value{font-size:12px;font-weight:700;fill:var(--ink)}.record{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 24px;margin:0}.record-field dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.record-field dd{margin:2px 0 0}.related{margin-top:20px}.related h2{font-size:16px;margin:0 0 6px}.related-table{border-collapse:collapse;width:100%;font-size:14px}.related-table th,.related-table td{border:1px solid var(--line);padding:5px 8px;text-align:left}.related-table th{background:var(--raised)}.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px 20px;max-width:1200px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:13px;color:var(--muted)}.field.failed input,.field.failed select,.field.failed textarea{border-color:var(--under)}.field-error{font-size:13px;color:var(--under)}.field-hint{font-size:12px;color:var(--muted)}.people-picker{position:relative;display:flex;flex-direction:column;gap:4px}.people-picker.failed input{border-color:var(--under)}.person-chip{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:4px 4px 4px 10px;border-radius:4px;background:var(--blue-light);font-size:14px}.person-chip .person-name{font-weight:500}.person-chip.unmatched{background:var(--unmatched);border:1px dashed var(--unmatched-ink)}.person-note{flex-basis:100%;order:3;font-size:12px;color:var(--unmatched-ink)}.person-clear{margin-left:auto;border:0;background:none;font-size:18px;line-height:1;padding:0 6px;cursor:pointer;color:var(--muted)}.people-list{position:absolute;top:100%;left:0;right:0;z-index:10;margin:2px 0 0;padding:4px 0;list-style:none;background:var(--ground);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 12px #0000001f;max-height:280px;overflow-y:auto}.person-option{display:flex;flex-direction:column;padding:6px 10px;cursor:pointer}.person-option.active{background:var(--blue-light)}.person-upn{font-size:12px;color:var(--muted)}.people-status{padding:6px 10px;font-size:13px;color:var(--muted)}.people-status.failed{color:var(--under)}.form.laid-out{grid-template-columns:var(--form-columns);grid-template-areas:var(--form-rows)}.form.laid-out>.field{grid-area:var(--form-area, auto)}.form.laid-out textarea{flex:1}.form-actions{grid-column:1 / -1;display:flex;gap:8px}.dialog{padding:0;width:min(1242px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--ground);box-shadow:0 12px 40px #00000040}.dialog::backdrop{background:#1f232873}.dialog-body{padding:20px}.dialog .form-actions{position:sticky;bottom:0;margin:0 -20px;padding:12px 20px;border-top:1px solid var(--line);background:var(--ground)}.admin-roster{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:1200px}.admin-note{display:block;margin:2px 0 0;font-size:13px;color:var(--muted)}.admin-search{max-width:360px}.admin-directory{display:flex;flex-direction:column;gap:8px;margin-top:16px}.related-table .admin-tick{width:1%;white-space:nowrap;text-align:center}.related-table .admin-hint{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}.admin-pager{display:flex;align-items:center;gap:12px}.table-index{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.table-index li{border:1px solid var(--line);border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.boot-failure,.boot-signin{max-width:640px;margin:80px auto;padding:0 20px;font-family:Roboto,sans-serif}.boot-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.boot-failure pre{white-space:pre-wrap;background:var(--raised);padding:12px;border-radius:4px}.screen-failure{max-width:640px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.about{max-width:640px;line-height:1.5}.about h2{font-size:16px;margin:16px 0 4px}.about p{margin:0 0 8px}.grid-row.row-hot{background:var(--hot);color:var(--hot-ink);font-weight:700}.grid-row.row-hot:hover{background:#fbd2e2}.perf-under{color:var(--under)}.perf-met{color:var(--met);font-weight:700}.style-action{font-weight:700}.style-product{color:var(--product)}.style-plant{color:var(--plant)}.style-commodity{color:var(--commodity)}.style-department{color:var(--department)}@media(max-width:900px){.panes.dashboard,.panes.daily,.panes.charts{grid-template-columns:1fr}.app-nav{font-size:13px}.form.laid-out{grid-template-columns:minmax(0,1fr);grid-template-areas:none}.form.laid-out>.field{grid-area:auto}.dialog{width:100vw;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.dialog-body{padding:16px}.dialog .form-actions{margin:0 -16px;padding:12px 16px}.screen-tools{position:relative}.filter-anchor{position:static}.filter-panel{left:0;right:auto}}
