body{margin:0;font-family:system-ui,sans-serif;background:#f1f5f9;color:#172033}main{max-width:900px;margin:0 auto;padding:3rem 1rem}section{background:#fff;border-radius:1rem;padding:1.5rem;margin:1rem 0;box-shadow:0 2px 12px #0001}form{display:grid;gap:.75rem}label{display:grid;gap:.35rem;font-weight:600}label span,small{color:#64748b;font-size:.8rem;font-weight:400}input,select,button{padding:.75rem;border:1px solid #cbd5e1;border-radius:.5rem;font:inherit}button{background:#2563eb;color:#fff;cursor:pointer}.public{max-width:28rem;margin-top:5rem;background:#fff;border-radius:1rem;box-shadow:0 2px 12px #0001;text-align:center}.public img{max-height:4rem;max-width:12rem}.public dl{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:.75rem}.public dd{margin:0;font-weight:600;text-align:right}.login{max-width:28rem;margin:5rem auto}.error{color:#b91c1c}.print-settings{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-top:1rem}.print-settings label{display:grid;gap:.25rem;font-size:.85rem}.print-settings input{width:5rem}.print-settings .print-title{flex-basis:100%}.print-settings .print-title input{width:min(24rem,100%)}.print-actions{display:flex;flex-wrap:wrap;gap:.5rem}button.secondary{background:#475569}.print-settings small.error,.offset-help{flex-basis:100%}.lot-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.lot-info{display:grid;gap:.2rem;min-width:12rem;flex:1}.lot-info span{color:#64748b;font-size:.85rem}.lot-number{min-width:6rem}.lot-row input{width:8rem}.lot-actions{display:flex;gap:.5rem}button.danger{background:#b91c1c}:root{--ink: #14213d;--muted: #667085;--line: #e6eaf0;--paper: #f7f8fb;--blue: #315bea;--blue-dark: #203fae;--teal: #0d9488}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink)}button{border:0;transition:transform .15s,background .15s}button:hover{transform:translateY(-1px)}.primary{background:var(--blue)}.primary:hover{background:var(--blue-dark)}.full{width:100%}.app-shell{max-width:none;min-height:100vh;padding:0;display:flex;margin:0;background:var(--paper)}.sidebar{width:250px;min-height:100vh;background:#fff;border-right:1px solid var(--line);padding:28px 18px 20px;display:flex;flex-direction:column}.brand-lockup{display:flex;align-items:center;gap:11px;padding:0 12px 36px}.brand-lockup strong{display:block;letter-spacing:.16em;font-size:.9rem}.brand-lockup span{display:block;letter-spacing:.2em;color:var(--muted);font-size:.62rem;margin-top:3px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;font-weight:800;font-size:1.1rem}.main-nav{display:grid;gap:5px}.main-nav button{color:#687386;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;padding:12px 13px;font-size:.9rem}.main-nav button span{width:19px;text-align:center;font-size:1.05rem}.main-nav button.active{color:var(--blue);background:#eef2ff;font-weight:700}.sidebar-footer{margin-top:auto;padding:15px 12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-right:5px}.logout{display:block;padding:8px 0 0;background:transparent;color:var(--muted);font-size:.75rem}.workspace{min-width:0;flex:1;padding:34px clamp(22px,4vw,64px)}.topbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.topbar h1,.section-heading h2{margin:4px 0 0;font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.04em}.topbar-actions{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.78rem;text-transform:capitalize}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dbe4ff;color:var(--blue);font-weight:800}.eyebrow{margin:0;color:var(--blue);letter-spacing:.14em;font-size:.68rem;font-weight:800}.muted,.section-heading p{color:var(--muted)}.toast{position:fixed;z-index:5;top:22px;right:26px;background:var(--ink);color:#fff;border-radius:10px;padding:11px 16px;box-shadow:0 8px 24px #14213d33;font-size:.85rem}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.welcome-card{grid-column:span 2;min-height:214px;padding:28px;border-radius:18px;color:#fff;background:radial-gradient(circle at 80% 10%,#607cf1,transparent 32%),linear-gradient(135deg,#17284e,#2447a5)}.welcome-card h2{margin:14px 0 10px;font-size:2rem;line-height:1.05;letter-spacing:-.05em}.welcome-card em{color:#b9c7ff;font-style:normal}.welcome-card p:last-child{max-width:330px;color:#d6def8;font-size:.9rem}.stat-card{min-height:98px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column}.stat-card span{color:var(--muted);font-size:.78rem}.stat-card strong{margin-top:12px;font-size:2rem;letter-spacing:-.06em}.stat-card small{margin-top:auto}.stat-card.accent{background:#e9fbf8;border-color:#c6f2eb}.dashboard-latest{grid-column:1 / -1;margin:0}.panel,section.panel{margin:0;padding:24px;border:1px solid var(--line);border-radius:16px;box-shadow:0 7px 24px #14213d08;background:#fff}.panel-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.panel-heading h2{margin:5px 0 0;font-size:1.25rem}.text-button{background:transparent;color:var(--blue);padding:7px}.section-spacer{display:none}.module-view,.module-view>section{margin:0}.module-view{display:grid;gap:18px}.section-heading{align-items:end}.section-heading h2{font-size:1.8rem}.section-heading p{margin:7px 0 0}.search-input{min-width:250px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{text-align:left;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}th,td{padding:14px 12px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}td strong{display:block}.subline{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.clickable{cursor:pointer}.clickable:hover{background:#f7f9ff}.empty-state{padding:28px 5px;color:var(--muted);text-align:center}.form-panel h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{color:var(--ink)}.form-grid .wide-field{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea,.search-input,.inline-input{width:100%;background:#fbfcfe}.form-grid button{width:max-content}.form-grid .primary{grid-column:1 / -1}.section-heading button,.topbar button{width:auto}.row-actions{white-space:nowrap}.icon-button{background:#eef2ff;color:var(--blue);padding:7px 9px;font-size:.74rem}.danger-text{color:#b42318;background:#fff0ef}.login-page,.public-page{min-height:100vh;max-width:none;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,#e8edff,transparent 35%),var(--paper)}.login-card,.public-card{width:min(450px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:0 18px 60px #14213d12}.login-card h1{margin:24px 0 8px;font-size:2.2rem;letter-spacing:-.06em}.login-card form{margin-top:28px}.login-card .error{margin-bottom:0}.public-card{text-align:center}.public-card h1{margin:8px 0 22px}.public-card small{display:block;margin-top:28px}.public-details{display:grid;grid-template-columns:1fr 1fr;gap:13px;text-align:left;padding-top:18px;border-top:1px solid var(--line)}.public-details dd{margin:0;text-align:right;font-weight:700}.public-details dt{color:var(--muted)}.empty-module{text-align:center;padding:60px 24px}.empty-module h3{margin-bottom:4px}.empty-module p{max-width:500px;margin:0 auto 20px;color:var(--muted)}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eef2ff;color:var(--blue);font-size:.72rem;font-weight:700}.pill.success{background:#e8faf3;color:#087443}.board-detail{display:grid;gap:14px}.board-detail h3{margin:12px 0 0}.detail-code{padding:11px 13px;border-radius:9px;background:#f5f7fb;color:var(--muted);font-family:ui-monospace,monospace;font-size:.75rem;overflow-wrap:anywhere}.timeline-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-item>div{display:grid;gap:3px}.timeline-item span{color:var(--muted);font-size:.75rem}.timeline-item p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.result-dot,.event-dot{flex:0 0 9px;width:9px;height:9px;margin-top:5px;border-radius:50%;background:#98a2b3}.result-dot.ok{background:#12b76a}.result-dot.nok{background:#f04438}.compact-form{display:flex;flex-wrap:wrap;gap:8px}.compact-form input,.compact-form select{flex:1 1 150px;min-width:0}.compact-form button{flex:0 0 auto}.event-dot{background:var(--blue);font-size:0}@media(max-width:900px){.sidebar{width:74px;padding:24px 10px}.brand-lockup>div:not(.brand-mark),.main-nav button:not(.active):after,.main-nav button{font-size:0}.main-nav button span{font-size:1.05rem}.main-nav button{justify-content:center}.sidebar-footer{font-size:0;padding-left:7px}.logout{font-size:0}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.welcome-card{grid-column:1 / -1}}@media(max-width:620px){.workspace{padding:22px 14px}.topbar{align-items:start}.topbar-actions>span{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.welcome-card{min-height:190px}.form-grid{grid-template-columns:1fr}.form-grid .wide-field,.form-grid .primary{grid-column:auto}.section-heading{align-items:start;flex-direction:column}.search-input{min-width:0}.panel{padding:17px}}
