:root{--navy: #1f3a5f;--navy-dark: #16283f;--blue: #2f6fb0;--bg: #f4f6f9;--panel: #ffffff;--border: #e2e6ec;--text: #1c2530;--muted: #6b7688;--ok-bg: #e4f6ea;--ok-text: #1e7d43;--warn-bg: #fff3e0;--warn-text: #9a5b00;--bad-bg: #fde8e8;--bad-text: #b3261e;--neutral-bg: #eaeef4;--neutral-text: #47536b;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:1.55rem;margin:0 0 4px}h2{font-size:1.1rem;margin:0 0 12px;color:var(--navy)}h3{font-size:1rem;margin:0 0 4px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;gap:24px;padding:12px 24px}.brand{font-weight:600;font-size:1.05rem;display:flex;align-items:center;gap:8px;white-space:nowrap}.brand-mark{color:#8fc1ff}.top-nav{display:flex;gap:18px;flex:1}.top-nav a{color:#d7e3f5;padding:6px 4px;border-bottom:2px solid transparent}.top-nav a:hover{color:#fff;text-decoration:none}.top-nav a.active{color:#fff;border-bottom-color:#8fc1ff}.user-chip{display:flex;align-items:center;gap:12px}.user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-name{font-size:.85rem;font-weight:600}.user-role{font-size:.72rem;color:#b7c8e0}.content{flex:1;padding:28px;max-width:1180px;width:100%;margin:0 auto}.btn{border:1px solid var(--border);background:#fff;color:var(--text);padding:8px 16px;border-radius:8px;font-size:.88rem;cursor:pointer;transition:all .12s ease}.btn:hover{border-color:var(--blue)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.btn-primary:hover{background:#275c93}.btn-ghost{background:transparent;border-color:#fff6;color:#fff}.btn-ghost:hover{background:#ffffff1f}.btn-choice{flex:1;padding:10px;font-weight:600}.btn-choice-active-ok{background:var(--ok-bg);border-color:var(--ok-text);color:var(--ok-text)}.btn-choice-active-bad{background:var(--bad-bg);border-color:var(--bad-text);color:var(--bad-text)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stack-lg>*+*{margin-top:20px}.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.page-header-actions{display:flex;align-items:center;gap:10px}.page-loading,.empty-cell{color:var(--muted);padding:20px;text-align:center}.error-text{color:var(--bad-text);background:var(--bad-bg);padding:8px 12px;border-radius:6px;font-size:.85rem}.waiting-note{background:var(--neutral-bg);color:var(--neutral-text);padding:14px;border-radius:8px;font-size:.9rem}.terminal-note{background:var(--ok-bg);color:var(--ok-text);padding:14px;border-radius:8px;font-size:.9rem}.tile-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}@media (max-width: 1000px){.tile-grid{grid-template-columns:repeat(3,1fr)}}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.tile-value{font-size:1.8rem;font-weight:700}.tile-label{font-size:.78rem;color:var(--muted);margin-top:4px}.tile-ok .tile-value{color:var(--ok-text)}.tile-warn .tile-value{color:var(--warn-text)}.tile-bad .tile-value{color:var(--bad-text)}.data-table{width:100%;border-collapse:collapse;font-size:.87rem}.data-table th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border)}.data-table td{padding:9px 10px;border-bottom:1px solid var(--border)}.data-table tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:600;white-space:nowrap}.badge-ok{background:var(--ok-bg);color:var(--ok-text)}.badge-warn{background:var(--warn-bg);color:var(--warn-text)}.badge-bad{background:var(--bad-bg);color:var(--bad-text)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-text)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width: 700px){.form-grid{grid-template-columns:1fr}}label{display:flex;flex-direction:column;gap:6px;font-size:.83rem;color:var(--muted);font-weight:600}input,select,textarea{font-family:inherit;font-size:.92rem;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font-weight:400}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2f6fb026}.checkbox-row{flex-direction:row;align-items:center;gap:8px}.checkbox-row input{width:auto}.filter-bar{display:flex;gap:10px}.filter-bar input{flex:1}.stage-form{display:flex;flex-direction:column;gap:14px}.stage-desc{color:var(--muted);font-size:.85rem;margin:0 0 6px}.result-picker{display:flex;gap:10px}.batch-sub{color:var(--muted);font-size:.9rem}.kv-list{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.87rem;margin:0 0 16px}.kv-list dt{color:var(--muted)}.kv-list dd{margin:0;font-weight:600}.sub-section{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.timeline{display:flex;flex-direction:column;gap:14px}.timeline-item{display:flex;gap:10px}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);margin-top:6px;flex-shrink:0}.timeline-body{flex:1}.timeline-head{display:flex;justify-content:space-between;gap:10px}.timeline-time{color:var(--muted);font-size:.76rem}.timeline-meta{font-size:.8rem;color:var(--muted);margin-top:2px}.timeline-remarks{font-size:.85rem;margin-top:4px}.timeline-data{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.data-chip{background:var(--neutral-bg);color:var(--neutral-text);padding:2px 8px;border-radius:6px;font-size:.74rem}.rework-list{margin:0;padding-left:18px;font-size:.85rem}.rework-list li{margin-bottom:6px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);padding:24px}.login-card{background:#fff;border-radius:14px;padding:32px;max-width:460px;width:100%;box-shadow:0 20px 60px #00000040}.login-brand{text-align:center;margin-bottom:24px}.login-brand .brand-mark{font-size:2rem;color:var(--blue)}.login-brand h1{font-size:1.2rem;margin:6px 0 4px}.login-brand p{color:var(--muted);font-size:.85rem;margin:0}.login-form{display:flex;flex-direction:column;gap:14px}.delivery-note{background:#f4f6f9;min-height:100vh;padding:24px}.delivery-note-toolbar{max-width:760px;margin:0 auto 16px}.delivery-note-doc{background:#fff;max-width:760px;margin:0 auto;padding:40px;border-radius:10px;border:1px solid var(--border);color:var(--text)}.dn-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--navy);padding-bottom:16px;margin-bottom:20px}.dn-header h1{font-size:1.3rem;color:var(--navy)}.dn-sub{color:var(--muted);font-size:.85rem}.dn-ref{text-align:right;font-size:.85rem}.dn-section{margin-bottom:22px}.dn-section h2{font-size:.95rem;border-bottom:1px solid var(--border);padding-bottom:6px}.dn-kv{width:100%;font-size:.85rem;border-collapse:collapse}.dn-kv th{text-align:left;color:var(--muted);font-weight:600;padding:6px 8px;width:22%}.dn-kv td{padding:6px 8px;font-weight:600}.dn-table{width:100%;border-collapse:collapse;font-size:.85rem}.dn-table th,.dn-table td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.dn-footer{margin-top:30px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem}@media print{.no-print{display:none!important}.delivery-note{background:#fff;padding:0}.delivery-note-doc{box-shadow:none;border:none;max-width:100%}}.demo-accounts{margin-top:22px;border-top:1px solid var(--border);padding-top:16px}.demo-title{font-size:.78rem;color:var(--muted);margin-bottom:8px}.demo-grid{display:flex;flex-wrap:wrap;gap:6px}.demo-chip{border:1px solid var(--border);background:var(--neutral-bg);color:var(--neutral-text);border-radius:999px;padding:5px 12px;font-size:.74rem;cursor:pointer}.demo-chip:hover{border-color:var(--blue);color:var(--blue)}
