:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-dark:#1d5271;--brand-light:#67b7d1;--brand-green:#8dbb3f;--bg:#fff;--surface:#f4f7f9;--surface-raised:#fff;--text:#1a2530;--muted:#5b6470;--border:#d5dde3;--heading:var(--brand-dark);--link:#1f6f8b;--focus-ring:#2f8aab;--tab-active:var(--brand-light);--primary-bg:var(--brand-dark);--primary-bg-hover:#163f57;--primary-text:#fff;--danger-bg:#b42318;--danger-bg-hover:#912018;--danger-text:#fff;--header-bg:#fff;--header-text:var(--brand-dark);--status-green-text:#1a6b32;--status-green-bg:#e6f4ea;--status-amber-text:#8a5300;--status-amber-bg:#fff4db;--status-red-text:#a61b12;--status-red-bg:#fdecea;--status-grey-text:#4b5563;--status-grey-bg:#f1f3f5;--progress-track:#e3e9ed;--progress-fill:var(--brand-green);--skeleton:#e6ebef;--shadow:0 1px 2px #1018200f, 0 2px 8px #1018200f;--radius:8px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-page-title:1.5rem;--text-section:1.2rem;--text-subsection:1.05rem;--text-body:1rem;--text-small:.85rem;font:var(--text-body) / 1.5 var(--font-sans);color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h2,h3,h4,h5{color:var(--heading);line-height:1.25}h2{font-size:var(--text-page-title);margin:0 0 16px}h3{font-size:var(--text-section);margin:32px 0 12px}h4{font-size:var(--text-subsection);margin:24px 0 8px}h5{font-size:var(--text-body)}a{color:var(--link)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.app-shell{min-height:100vh;padding-bottom:48px}.app-shell>:not(.app-header){max-width:1100px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.app-header{background:var(--header-bg);color:var(--header-text);border-bottom:2px solid var(--brand-light);box-shadow:0 1px 0 var(--brand-green);margin-bottom:0}.app-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;max-width:1100px;margin:0 auto;padding:10px 16px;display:flex}.app-header-brand{align-items:center;gap:12px;display:flex}.app-header-logo{flex:none;width:auto;height:40px;display:block}.app-header h1{color:var(--header-text);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;overflow:hidden}.app-header-brand{min-width:0}.app-header-user-menu{flex:none;display:none;position:relative}.user-initials-button{background:var(--primary-bg);width:44px;height:44px;color:var(--primary-text);font:inherit;letter-spacing:.02em;cursor:pointer;border:none;border-radius:50%;font-size:.9rem;font-weight:700}.user-initials-button:hover,.user-initials-button[aria-expanded=true]{background:var(--primary-bg-hover)}.user-menu-panel{z-index:20;min-width:200px;max-width:calc(100vw - 32px);color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:10px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px 24px #1018202e}.user-menu-name{overflow-wrap:anywhere;font-weight:600}.user-menu-role{color:var(--status-grey-text);background:var(--status-grey-bg);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.user-menu-panel .btn{width:100%}.app-header-user{font-size:var(--text-small);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-header-user-name{font-weight:600}.role-badge{background:var(--status-grey-bg);border:1px solid var(--border);color:var(--status-grey-text);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.app-nav-wrap{margin-bottom:24px;position:relative}.app-nav-wrap:after{content:"";pointer-events:none;background:linear-gradient(to right, transparent, var(--bg));opacity:0;width:48px;transition:opacity .15s;position:absolute;top:0;bottom:1px;right:16px}.app-nav-more-right:after{opacity:1}.app-nav{border-bottom:1px solid var(--border);scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:4px;display:flex;position:relative;overflow-x:auto}.nav-link{font:inherit;cursor:pointer;min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;flex:none;padding:12px 14px;font-weight:500}.nav-link:hover{color:var(--text)}.nav-link-active{color:var(--heading);border-bottom-color:var(--tab-active);font-weight:600}.nav-link:focus-visible{outline-offset:-3px}.btn{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary-bg);color:var(--primary-text)}.btn-primary:hover:not(:disabled){background:var(--primary-bg-hover)}.btn-secondary{color:var(--heading);background:0 0;border-color:currentColor}.btn-secondary:hover:not(:disabled){background:var(--surface)}.btn-danger{background:var(--danger-bg);color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger-bg-hover)}.btn-small{min-height:32px;font-size:var(--text-small);padding:4px 10px}.link-button{color:var(--link);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{text-decoration-thickness:2px}.page-actions{margin:0 0 16px}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.confirm-delete{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.sample-data-notice{font-size:var(--text-small);color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;margin:0 0 16px;padding:4px 10px;display:inline-block}.coming-soon{color:var(--muted)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.capitalize{text-transform:capitalize}.empty-state{color:var(--muted);white-space:normal}.login-error{font-size:var(--text-small);color:var(--status-red-text);background:var(--status-red-bg);border-left:4px solid var(--status-red-text);border-radius:4px;margin:0;padding:8px 12px}section>.login-error,div>.login-error{margin-bottom:16px}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);margin-bottom:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top;padding:10px 12px}thead th{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}tbody tr:last-child td{border-bottom:none}td:has(.status-badge){white-space:normal}tfoot th,tfoot td{border-top:2px solid var(--border);border-bottom:none;font-weight:600}.linked-lines-list{white-space:nowrap;margin:0;padding:0;list-style:none}.status-badge{color:var(--status-grey-text);background:var(--status-grey-bg);white-space:normal;border:1px solid #0000;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;line-height:1.4;display:inline-block}.status-completed,.drawing-status-approved,.workflow-status-fully-approved,.material-status-ready,.package-readiness-ready-for-production{color:var(--status-green-text);background:var(--status-green-bg);border-color:var(--status-green-text)}.status-in-progress,.status-on-hold,.drawing-status-awaiting-approval,.workflow-status-partly-approved,.material-status-partially-allocated,.package-readiness-blocked-by-drawings,.package-readiness-blocked-by-material{color:var(--status-amber-text);background:var(--status-amber-bg);border-color:var(--status-amber-text)}.drawing-status-revision-required,.workflow-status-revision-required,.material-status-short,.package-readiness-blocked-by-drawings-and-material{color:var(--status-red-text);background:var(--status-red-bg);border-color:var(--status-red-text)}.status-confirmed,.drawing-status-not-received,.workflow-status-none-approved{color:var(--status-grey-text);background:var(--status-grey-bg);border-color:var(--border)}.drawing-progress-note{color:var(--muted);margin-top:4px;font-size:.8rem}.production-readiness-summary{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:0 0 12px;padding:0;list-style:none;display:flex}.progress{flex-direction:column;gap:4px;display:flex}.progress-track{background:var(--progress-track);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--progress-fill);border-radius:999px;height:100%}.progress-label{color:var(--muted);font-size:.8rem}.order-search{width:100%;max-width:420px;min-height:44px;font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:8px 12px;display:block}.order-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.order-card{background:var(--surface-raised);border:1px solid var(--border);border-top:4px solid var(--brand-dark);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.order-card-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.order-card-title{font-size:var(--text-section);overflow-wrap:anywhere;margin:0}.order-card-customer{overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.order-card-site{color:var(--muted);font-size:var(--text-small);overflow-wrap:anywhere;margin:0}.order-card-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.order-card-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.order-card-facts dd{margin:2px 0 0;font-size:.9rem;font-weight:600}.order-card-statuses{flex-direction:column;gap:8px;margin:0;display:flex}.order-card-statuses>div{grid-template-columns:7.5em minmax(0,1fr);align-items:start;gap:8px;display:grid}.order-card-statuses dt{color:var(--muted);padding-top:2px;font-size:.8rem}.order-card-statuses dd{margin:0}.order-card-footer{justify-content:flex-end;margin-top:auto;display:flex}.order-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px;margin:16px 0 24px;padding:16px;display:grid}.order-summary dt{color:var(--muted);font-size:.8rem}.order-summary dd{margin:2px 0 0;font-weight:600}.login-screen{justify-content:center;padding:48px 0;display:flex}.login-form{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:24px;display:flex}.login-logo{width:200px;height:auto;margin:0 auto;display:block}.login-form h2{text-align:center;margin:0}.login-field{flex-direction:column;gap:4px;display:flex}.app-shell>.login-error{margin-top:24px}.app-shell>.no-role-screen,.no-role-screen{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:420px;margin-top:24px;padding:24px}.entity-form{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand-light);border-radius:var(--radius);white-space:normal;flex-direction:column;gap:14px;max-width:520px;margin:12px 0 24px;padding:20px;display:flex}.entity-form h4{margin:0}.entity-form h5{margin:8px 0 0}.entity-form .table-scroll{max-width:100%}.form-hint{color:var(--muted);margin:0;font-size:.8rem}.form-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.entity-form .form-field{margin-bottom:0}.form-field label,.login-field label{font-size:var(--text-small);color:var(--text);font-weight:600}.form-field:has(>:is(input,select,textarea):required)>label:after{content:" *" / "";color:var(--status-red-text)}.form-field:has(>.password-input>input:required)>label:after{content:" *" / "";color:var(--status-red-text)}.login-field:has(>:is(input,select,textarea):required)>label:after{content:" *" / "";color:var(--status-red-text)}.form-field input,.form-field select,.login-field input,td input{min-height:40px;font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;max-width:100%;padding:8px 10px}.form-field input:focus-visible,.form-field select:focus-visible,.login-field input:focus-visible,td input:focus-visible{outline-offset:0;border-color:var(--focus-ring)}.form-field input:user-invalid{border-color:var(--status-red-text)}.form-field select:user-invalid{border-color:var(--status-red-text)}.login-field input:user-invalid{border-color:var(--status-red-text)}td input:user-invalid{border-color:var(--status-red-text)}.form-field:has(#prod-date-filter){max-width:240px}.form-actions{flex-wrap:wrap;gap:8px;display:flex}.password-input{align-items:stretch;display:flex}.password-input input{border-top-right-radius:0;border-bottom-right-radius:0;flex:auto;min-width:0}.password-toggle{min-width:64px;font:inherit;font-size:var(--text-small);color:var(--link);background:var(--surface-raised);border:1px solid var(--border);cursor:pointer;border-left:none;border-radius:0 6px 6px 0;flex:none;padding:0 12px;font-weight:600}.password-toggle:hover{background:var(--surface)}.modal-backdrop{z-index:30;background:#10182073;justify-content:center;align-items:flex-start;padding:64px 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{width:100%;max-width:440px}.modal-form{background:var(--surface-raised);max-width:none;margin:0;box-shadow:0 12px 40px #10182040}.modal-form h2{font-size:var(--text-section);margin:0}.loading-placeholder{flex-direction:column;gap:10px;padding:8px 0;display:flex}.skeleton-line{background:var(--skeleton);border-radius:4px;height:14px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-line:nth-child(2){width:85%}.skeleton-line:nth-child(3){width:65%}.skeleton-line:nth-child(4){width:75%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.toast-region{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:10;pointer-events:none;position:fixed;transform:translate(-50%)}.toast{color:var(--status-green-text);background:var(--status-green-bg);border:1px solid var(--status-green-text);box-shadow:var(--shadow);border-radius:999px;padding:10px 18px;font-weight:600;animation:.2s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (width<=640px){h2{font-size:1.35rem}.app-header-inner{flex-wrap:nowrap;padding:8px 16px}.app-header-brand{gap:10px}.app-header-logo{height:36px}.app-header h1{font-size:1.1rem}.app-header-user-wide{display:none}.app-header-user-menu{display:block}.app-nav{scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.modal-backdrop{padding-top:24px}.password-toggle,.btn,.btn-small,.form-field input,.form-field select,.login-field input,td input{min-height:44px}input,select{font-size:16px}.link-button{min-height:44px;padding:0 4px}.form-actions .btn{flex:auto}.order-cards{grid-template-columns:minmax(0,1fr)}.order-card-footer .btn{width:100%}.entity-form{padding:16px}.order-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.table-scroll{background:0 0;border:none;overflow-x:visible}table,tbody,tfoot,tr,th,td{display:block}thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}tbody tr,tfoot tr{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:4px 12px}tfoot tr{background:var(--surface)}td,tfoot th{white-space:normal;text-align:right;overflow-wrap:anywhere;border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;display:flex}tfoot th,tfoot td{border-top:none}tbody tr td:last-child,tfoot tr td:last-child{border-bottom:none}td[data-label]:before{content:attr(data-label);text-align:left;max-width:50%;color:var(--muted);text-transform:none;flex:none;font-size:.8rem;font-weight:600}td>:is(.status-badge,.drawing-progress-note){text-align:right}td:has(.status-badge){flex-wrap:wrap}td:has(.status-badge)>.drawing-progress-note{flex-basis:100%}.linked-lines-list{white-space:normal}td:not([data-label]){text-align:left;display:block}td:empty{display:none}td .row-actions{justify-content:flex-start}td .entity-form{margin:8px 0}}
