*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Tahoma,"Segoe UI",Arial,sans-serif;background:#f5f8fc;color:#20344d;line-height:1.7}
a{color:inherit;text-decoration:none}.topbar{height:74px;background:#18324f;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 3px 18px rgba(15,35,60,.14);gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:25px;letter-spacing:.3px;white-space:nowrap}.brand-box{font-size:28px}
.topbar nav{display:flex;align-items:center;gap:7px;order:-1}.nav-item,.logout{padding:9px 13px;border-radius:9px;font-weight:600;color:#eaf2fb}.nav-item:hover,.logout:hover{background:rgba(255,255,255,.1)}.user-chip{background:rgba(255,255,255,.12);padding:7px 12px;border-radius:22px;color:#fff}
main{max-width:1480px;margin:0 auto;padding:30px 24px 50px}.dashboard-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.eyebrow{font-size:13px;color:#6b7f96;font-weight:700}.dashboard-head h1{margin:0;font-size:30px;color:#18324f}.dashboard-head p{margin:2px 0 0}
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.metric-card{background:#fff;border:1px solid #e2eaf2;border-radius:14px;padding:18px 20px;min-height:160px;box-shadow:0 4px 16px rgba(27,51,78,.04)}.metric-card.cut{background:#f1f7ff;border-color:#cfe3fb}.metric-card.operation{background:#fff7ec;border-color:#f8dfbe}.metric-card.finish{background:#faf5ff;border-color:#e9d9fb}.metric-card.delivery{background:#f0fbf6;border-color:#cceedd}.metric-card.total{background:#fff}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:19px;font-weight:800}.metric-top span:first-child{font-size:32px}.metric-number{font-size:45px;font-weight:900;margin:4px 0;color:#18324f}.metric-sub{font-size:15px;color:#61748a}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.status-card{min-height:145px;border-radius:14px;padding:20px;display:flex;align-items:center;gap:18px;border:1px solid}.status-card.active{background:#effcf5;border-color:#bcebd1}.status-card.paused{background:#fff0f0;border-color:#ffc8c8}.status-card.hold{background:#fff9e8;border-color:#f8e0a0}.status-card.delivered{background:#eef7ff;border-color:#c7e0fb}.status-icon{font-size:46px}.status-title{font-size:20px;font-weight:800}.status-number{font-size:38px;font-weight:900;line-height:1.15}.status-sub{color:#65788e}
.box{background:#fff;border:1px solid #e1e9f1;border-radius:14px;padding:22px;margin:18px 0;box-shadow:0 4px 18px rgba(27,51,78,.035)}.section-title{display:flex;align-items:center;gap:9px;margin-bottom:16px}.section-title span{font-size:28px}.section-title h3{margin:0;font-size:21px;color:#1d3652}
.progress-row{display:flex;align-items:center;gap:28px}.progress-circle{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#20b981 calc(var(--pct)*1%),#e5ebf1 0);position:relative;flex:0 0 auto}.progress-circle:after{content:"";position:absolute;inset:11px;background:#fff;border-radius:50%}.progress-circle span{position:relative;z-index:1;font-size:26px;font-weight:900}.progress-main{flex:1}.progress-track{height:22px;background:#e4eaf0;border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:#20b981;border-radius:20px;min-width:0}.progress-label{text-align:center;margin-top:10px;color:#61748a;font-size:16px}
.table-wrap{overflow:auto}.modern-table{width:100%;border-collapse:collapse;min-width:850px}.modern-table th{background:#f7f9fc;color:#45627f;text-align:right;padding:13px 14px;font-size:15px}.modern-table td{padding:14px;border-bottom:1px solid #edf1f5;vertical-align:middle}.modern-table tr:last-child td{border-bottom:0}.model-link{display:flex;flex-direction:column;gap:1px}.model-link b{font-size:16px}.model-link small{color:#8392a3;font-size:12px}.status-pill,.stage-pill{display:inline-flex;align-items:center;gap:5px;border-radius:18px;padding:4px 11px;font-weight:700;font-size:13px;white-space:nowrap}.active-pill{background:#dff8e9;color:#11844e}.paused-pill{background:#ffe1e1;color:#b42323}.hold-pill{background:#fff0bd;color:#956500}.delivered-pill{background:#dceeff;color:#1262b3}.stage-pill{background:#edf4fb;color:#355a7e}.view-btn{display:inline-block;background:#e7f1ff;color:#1765bd;padding:5px 15px;border-radius:9px;font-weight:700}.empty{text-align:center!important;color:#8797a8;padding:35px!important}
.flash{background:#e8f8ef;color:#137447;border:1px solid #bfe9d0;padding:10px 15px;border-radius:10px;margin-bottom:15px}.muted{color:#718399}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}label{display:block;font-weight:700;margin:9px 0 5px}input,select,textarea{width:100%;border:1px solid #d6e0ea;border-radius:9px;padding:10px;background:#fff;font:inherit}textarea{resize:vertical}.btn{display:inline-block;border:0;border-radius:9px;background:#1767b1;color:#fff;padding:10px 18px;font-weight:800;cursor:pointer;margin-top:14px}.btn:hover{opacity:.92}
.cards,.board,.gallery,.quick-codes{display:grid;gap:12px}.cards{grid-template-columns:repeat(4,1fr)}.card{background:#fff;padding:18px;border:1px solid #e1e9f1;border-radius:12px}.num{font-size:32px;font-weight:900}.board{grid-template-columns:repeat(4,1fr)}.col{background:#f7f9fc;padding:12px;border-radius:12px;min-height:100px}.job{display:block;background:#fff;padding:10px;border-radius:9px;margin-top:8px;border:1px solid #e5ebf2}.active-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#20c878;margin:0 4px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.dot.green{background:#16a34a}.dot.red{background:#dc2626}.pill{display:inline-block;background:#edf2f7;border-radius:16px;padding:3px 9px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:10px;border-bottom:1px solid #edf1f5;text-align:right}.gallery{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.gallery img{width:100%;height:150px;object-fit:cover;border-radius:10px}.photo-card{background:#f7f9fc;padding:8px;border-radius:10px}.photo-actions{display:flex;gap:5px;margin-top:5px}.mini{border:0;padding:4px 8px;border-radius:7px;background:#e7f1ff;color:#175d9f;cursor:pointer}.danger{background:#ffe1e1;color:#b42323}.file-wrap{padding:12px;background:#f7f9fc;border-radius:9px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.topbar{height:auto;padding:12px 14px;flex-direction:column;align-items:stretch}.topbar nav{order:2;overflow:auto}.brand{justify-content:center;font-size:21px}main{padding:18px 12px}.metric-grid,.status-grid,.cards,.board,.grid{grid-template-columns:1fr}.progress-row{flex-direction:column}.progress-main{width:100%}.status-card{min-height:120px}}

.advance-box{margin-top:14px;padding-top:14px;border-top:1px solid #e5ebf2}.advance-btn{background:#16a34a;font-size:16px;padding:11px 22px}.advance-btn:hover{background:#15803d}

.save-top{background:#20b981;color:#fff!important;padding:8px 13px;border-radius:9px;font-weight:800}.save-top:hover{background:#159c6b!important}
.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stage-card{background:#fff;border:1px solid #e0e8f1;border-radius:16px;padding:20px;min-height:170px;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden;box-shadow:0 5px 18px rgba(27,51,78,.05);transition:.18s}.stage-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(27,51,78,.1)}.stage-card.cut{background:#eff7ff;border-color:#cce2f8}.stage-card.operation{background:#fff7ec;border-color:#f5ddb9}.stage-card.finish{background:#faf4ff;border-color:#e5d5f7}.stage-card.delivery{background:#effbf5;border-color:#c9ead9}.stage-icon{font-size:48px;flex:0 0 auto}.stage-info{min-width:0}.stage-name{font-size:20px;font-weight:900}.stage-count{font-size:42px;font-weight:900;line-height:1.1}.stage-sub{font-size:12px;color:#687c91;white-space:nowrap}.stage-arrow{font-size:25px;color:#6f8297;margin-right:auto}.quick-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.quick-status{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:15px;border:1px solid;transition:.18s}.quick-status:hover{transform:translateY(-2px)}.quick-status>span{display:flex;flex-direction:column}.quick-status>b{}.quick-status strong{font-size:34px;line-height:1.1}.quick-status small{color:#6b7d91}.quick-status>i{font-style:normal;margin-right:auto;font-size:25px}.quick-status.hold{background:#fff8e4;border-color:#f1d889;color:#7b5900}.quick-status.delivered{background:#eef7ff;border-color:#c8def5;color:#175b9d}.compact-status{grid-template-columns:1fr 1fr}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-head h1{margin:0;font-size:29px}.back-btn{background:#e8f0f8;padding:9px 15px;border-radius:9px;font-weight:800}.stage-list{display:grid;gap:11px}.stage-job-card{background:#fff;border:1px solid #e0e8f1;border-radius:13px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 3px 12px rgba(27,51,78,.035)}.stage-job-card:hover{border-color:#a8c6e2;background:#fbfdff}.job-title{font-size:18px;font-weight:900}.job-code{font-size:12px;color:#7b8da0}.job-meta{display:flex;align-items:center;gap:14px;color:#6d8094}.responsible{background:#edf3f8;border-radius:15px;padding:4px 10px;font-weight:700}.job-date{font-size:12px}.empty-box{background:#fff;border:1px dashed #ccd8e3;border-radius:13px;padding:45px;text-align:center;color:#7b8da0}
@media(max-width:1000px){.stage-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.stage-grid,.quick-status-grid,.compact-status{grid-template-columns:1fr}.stage-card{min-height:130px}.stage-icon{font-size:40px}.stage-count{font-size:35px}.stage-job-card{flex-direction:column;align-items:stretch}.job-meta{justify-content:space-between}.page-head{align-items:flex-start}.save-top{white-space:nowrap}}

/* Compact overall progress */
.progress-box{padding:12px 16px!important;min-height:auto!important}
.progress-circle{width:64px!important;height:64px!important;font-size:18px!important}
.progress-row{gap:12px!important;align-items:center!important}
.progress-box h3,.progress-box h2{margin:0 0 4px!important;font-size:15px!important}
.progress-box p{margin:2px 0!important;font-size:12px!important}
.progress-box .progress-bar{height:7px!important;margin:6px 0!important}

.backup-form{display:inline-flex;margin:0}.backup-form .save-top{border:0;cursor:pointer;font:inherit}.quick-status.hold{display:flex}.status-pill.hold-pill{font-weight:800}

/* Three compact status indicators */
.compact-status{grid-template-columns:repeat(3,minmax(0,1fr))}
.status-card.hold{border-color:#f0c36a;background:#fffaf0}
.status-card.hold .status-icon{background:#fff0c7}
@media(max-width:700px){.compact-status{grid-template-columns:1fr}}
.search-box{margin:18px 0}.search-box input{min-width:0}
