:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18212b;background:#f5f7fa;--border:#dfe4ea;--muted:#697586;--blue:#1769e0;--green:#18864b;--red:#c73535;--amber:#a86b00}
*{box-sizing:border-box}body{margin:0}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:#fff;border-right:1px solid var(--border);padding:22px 14px;display:flex;flex-direction:column}.brand{font-weight:800;letter-spacing:.5px;padding:4px 10px 26px}.nav{width:100%;text-align:left;border:0;background:transparent;padding:11px 12px;border-radius:8px;font-size:14px;cursor:pointer;margin-bottom:3px}.nav:hover,.nav.active{background:#eef4ff;color:var(--blue);font-weight:650}.sidebar-bottom{margin-top:auto}.main{flex:1;min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:20px;font-weight:750}.primary{background:var(--blue);color:white;border:0;border-radius:7px;padding:10px 15px;font-weight:650;cursor:pointer}.content{padding:24px}.cards{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-bottom:22px}.card,.panel{background:#fff;border:1px solid var(--border);border-radius:10px}.card{padding:16px}.card .num{font-size:25px;font-weight:750;margin-top:7px}.label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.search{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:#fff}.filter{padding:10px 12px;border:1px solid var(--border);background:#fff;border-radius:7px}.panel{overflow:hidden}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0f3;font-size:13px}.table th{font-size:11px;text-transform:uppercase;color:var(--muted);background:#fafbfc}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:#fafcff}.status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef1f4}.status.cutting{background:#eaf2ff;color:#1559bd}.status.qc{background:#fff4dd;color:#8a5700}.status.ready{background:#e7f7ee;color:#147342}.status.hold{background:#fff0f0;color:#a32929}.status.closed,.status.dispatched{background:#edf0f2;color:#46515c}.empty{padding:35px;text-align:center;color:var(--muted)}.detail{display:grid;gap:14px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.info{background:#fafbfc;border:1px solid #edf0f3;border-radius:8px;padding:11px}.info strong{display:block;margin-top:5px}.section{padding:18px}.section h3{margin:0 0 13px;font-size:15px}.next{display:flex;justify-content:space-between;align-items:center;gap:15px}.action{border:0;border-radius:7px;padding:10px 14px;background:var(--blue);color:white;font-weight:650;cursor:pointer}.secondary{border:1px solid var(--border);background:white;color:#26313c}.danger{background:#b83232}.activity{display:grid;gap:10px}.activity-item{display:flex;gap:14px;font-size:13px}.activity-time{color:var(--muted);min-width:135px}.form{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:7px;font:inherit}.field textarea{min-height:75px;resize:vertical}.modal{position:fixed;inset:0;background:rgba(20,28,38,.42);display:flex;align-items:center;justify-content:center;padding:18px}.hidden{display:none}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-head h2{margin:0;font-size:18px}.icon{border:0;background:transparent;font-size:25px;cursor:pointer}.customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.customer{padding:16px;cursor:pointer}.customer:hover{border-color:#b9c9e6}.muted{color:var(--muted)}.file-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:13px}.progress{display:flex;gap:3px;margin:4px 0 15px}.step{height:5px;flex:1;background:#e5e9ee;border-radius:4px}.step.done{background:#1769e0}.notice{padding:11px;border-radius:8px;background:#fff7e6;border:1px solid #f1d59b;font-size:13px}@media(max-width:800px){.sidebar{width:70px;padding:15px 8px}.brand{font-size:0}.brand:after{content:"LS";font-size:18px}.nav{font-size:0;text-align:center}.nav:before{content:"•";font-size:18px}.sidebar-bottom{display:none}.cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.table{min-width:650px}.panel{overflow:auto}}

.fileInput{max-width:280px;margin-right:8px;font-size:12px}

.settings-wrap{max-width:760px;display:grid;gap:14px}.help{font-size:11px;margin-top:4px}.saved{margin-left:10px;font-size:12px}
.master-list{display:flex;flex-direction:column;gap:8px;margin:12px 0 14px}.master-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.role-row{align-items:flex-start}.inline-add{display:flex;gap:8px}.inline-add input{flex:1}.role-add{margin-bottom:10px}.small{padding:6px 10px;font-size:12px}

.top-actions{display:flex;align-items:center;gap:10px}.user-badge{font-size:12px;color:#555;background:#f2f3f5;border:1px solid #ddd;border-radius:999px;padding:7px 10px}.secondary{background:#fff;border:1px solid #d6d8dc;color:#333;border-radius:7px;padding:8px 12px;cursor:pointer}.secondary:hover{background:#f7f7f7}.login-screen{position:fixed;inset:0;background:#f4f5f7;display:flex;align-items:center;justify-content:center;z-index:1000}.login-screen.hidden{display:none}.login-card{width:380px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #ddd;border-radius:12px;padding:28px;box-shadow:0 12px 40px rgba(0,0,0,.08)}.login-card .brand{font-weight:800;font-size:18px;margin-bottom:26px}.error-text{color:#b42318;font-size:13px;min-height:18px}
