.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin:30px 0;display:grid}.dashboard-card{cursor:pointer;background:#fff;border:1px solid #edf1f7;border-radius:22px;align-items:center;gap:18px;padding:22px;transition:all .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a0f}.dashboard-card:hover{transform:translateY(-8px);box-shadow:0 18px 40px #0f172a1f}.dashboard-card:after{content:"";opacity:.08;background:currentColor;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-40px}.dashboard-card-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa6;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;display:flex}.dashboard-card-content{flex:1}.dashboard-card-content h4{color:#475569;margin:0;font-size:14px;font-weight:700}.dashboard-card-content h2{color:#0f172a;margin:10px 0 4px;font-size:42px;font-weight:800;line-height:1}.dashboard-card-content p{color:#64748b;margin:0;font-size:13px}.dashboard-card.blue{color:#2563eb;background:linear-gradient(135deg,#eef4ff,#fff)}.dashboard-card.green{color:#16a34a;background:linear-gradient(135deg,#ecfdf5,#fff)}.dashboard-card.orange{color:#ea580c;background:linear-gradient(135deg,#fff7ed,#fff)}.dashboard-card.purple{color:#7c3aed;background:linear-gradient(135deg,#f5f3ff,#fff)}.dashboard-card.cyan{color:#0891b2;background:linear-gradient(135deg,#ecfeff,#fff)}.dashboard-card.emerald{color:#059669;background:linear-gradient(135deg,#ecfdf3,#fff)}.dashboard-card.red{color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fff)}.dashboard-card.dark{color:#fff;background:linear-gradient(135deg,#1e293b,#0f172a)}.dashboard-card.dark h2,.dashboard-card.dark h4,.dashboard-card.dark p{color:#fff}.dashboard-card.dark .dashboard-card-icon{background:#ffffff26}:root{--text-color:#0f172a;--page-background:#eef2f7;--font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--border-color:#cbd5e1;--surface-background:#fff;--primary-color:#2563eb;--secondary-color:#64748b;--shadow-soft:#00000014;--radius-base:12px;--primary:#2563eb;--primary-dark:#1d4ed8;--success:#16a34a;--danger:#dc2626;--background:#f4f7fb;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--shadow:0 15px 35px #0f172a14;--radius:20px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text-color);font-family:var(--font-family);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#3b82f633,#0000 34rem),radial-gradient(circle at 100% 100%,#7c3aed29,#0000 30rem),linear-gradient(135deg,#f8fafc 0%,#eef2ff 44%,#f1f5f9 100%);margin:0}button{font:inherit}.primary-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;padding:12px 22px;font-weight:700}.secondary-btn{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:12px 22px;font-weight:700}.search-card{background:#fff;border-radius:18px;margin:20px 0;padding:18px;box-shadow:0 10px 30px #00000014}.search-input{border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:14px;font-size:15px}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.danger-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:10px;padding:10px 18px;font-weight:600;transition:all .2s}.danger-btn:hover{background:#b91c1c}.danger-btn:active{transform:scale(.98)}.app-layout{background:#f4f7fb;min-height:100vh;display:flex}.main-layout{flex-direction:column;flex:1;display:flex}.page-container{flex:1;padding:32px;overflow:auto}.sidebar{color:#fff;background:#0f172a;flex-direction:column;flex-shrink:0;width:260px;padding:28px 20px;display:flex}.sidebar-logo{margin-bottom:40px}.sidebar-logo h2{color:#fff;margin:0 0 6px;font-size:30px;font-weight:800}.sidebar-logo p{color:#94a3b8;margin:0;font-size:14px}.sidebar-menu{flex-direction:column;gap:10px;display:flex}.sidebar-item{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:14px 18px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.sidebar-item:hover{color:#fff;background:#1e293b}.sidebar-item.active{color:#fff;background:#2563eb}.topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:80px;padding:0 30px;display:flex}.search-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;width:500px;height:46px;padding:0 16px;display:flex}.search-box input{background:0 0;border:none;outline:none;flex:1;font-size:15px}.topbar-actions{align-items:center;gap:18px;display:flex}.icon-btn{cursor:pointer;background:#f8fafc;border:none;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.profile{align-items:center;gap:12px;display:flex}.avatar{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:flex}.dashboard-shell{width:min(1450px,100% - 40px);margin:0 auto;padding:32px 0}.hero-card,.summary-panel,.metric-card,.error-banner{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #94a3b842;box-shadow:0 20px 60px #0f172a14}.hero-card{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1e3a8a 100%);border-radius:30px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:42px;display:flex;box-shadow:0 20px 45px #2563eb40}.hero-left{max-width:700px}.hero-badge{letter-spacing:1px;background:#ffffff2e;border-radius:999px;margin-bottom:18px;padding:8px 18px;font-size:12px;font-weight:700;display:inline-block}.hero-left h1{color:#fff;margin-bottom:16px;font-size:52px;font-weight:800;line-height:1.1}.hero-left p{color:#ffffffe6;margin:0;font-size:18px;line-height:1.8}.hero-right{flex-direction:column;align-items:flex-end;gap:18px;display:flex}.update-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff26;border-radius:16px;padding:16px 22px}.update-card small{opacity:.8;margin-bottom:5px;font-size:12px;display:block}.update-card strong{color:#fff;font-size:15px}.refresh-button{color:#2563eb;cursor:pointer;background:#fff;border:none;border-radius:14px;align-items:center;gap:10px;padding:14px 24px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 10px 25px #00000026}.refresh-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 16px 30px #0000002e}.refresh-button:disabled{opacity:.6;cursor:wait}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{color:#be123c;background:#fff1f2e6;border-color:#e11d4838;border-radius:22px;align-items:flex-start;gap:12px;margin-top:18px;padding:16px;display:flex}.error-banner div{gap:4px;display:grid}.error-banner span{color:#9f1239}.summary-panel,.metric-card{border-radius:24px;padding:22px}.summary-panel{margin-top:18px}.summary-panel span,.metric-card h2{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:.86rem;font-weight:800}.summary-panel strong{margin:10px 0 8px;font-size:2.5rem;line-height:1;display:block}.summary-panel p,.metric-card p{color:#64748b;margin-bottom:0;line-height:1.55}.summary-panel.primary{color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a8a)}.summary-panel.primary span,.summary-panel.primary p{color:#dbeafe}.summary-top{align-items:center;gap:22px;display:flex}.summary-icon{background:#ffffff2e;border-radius:18px;justify-content:center;align-items:center;width:75px;height:75px;font-size:34px;display:flex}.summary-title{letter-spacing:.08em;text-transform:uppercase;color:#dbeafe;margin-bottom:8px;font-size:15px;display:block}.summary-number{margin-bottom:10px;font-size:56px;font-weight:800;line-height:1;display:block}.summary-footer{color:#dbeafe;border-top:1px solid #ffffff26;align-items:center;gap:10px;margin-top:26px;padding-top:18px;font-size:14px;display:flex}.live-dot{background:#22c55e;border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px #22c55e}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.metric-card{gap:18px;min-height:190px;display:flex}.metric-icon{width:58px;height:58px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);border-radius:20px;flex:0 0 58px;place-items:center;display:grid}.metric-value{letter-spacing:-.06em;margin-bottom:8px;font-size:clamp(2.4rem,7vw,4rem);font-weight:900;display:block}.metric-card h2{color:#0f172a;margin-bottom:8px}.metric-card{min-height:190px;padding:0;display:block;overflow:hidden}.metric-toggle{width:100%;min-height:190px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:18px;padding:22px;display:flex}.metric-toggle:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, white);outline-offset:-3px}.metric-content{min-width:0}.job-details{border-top:1px solid #94a3b83d;padding:0 22px 22px}.job-message{color:#64748b;margin:18px 0 0;line-height:1.5}.error-text{color:#be123c}.job-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.job-row{background:#f8fafc;border-radius:14px;gap:4px;padding:14px;display:grid}.job-row strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-row span{color:#64748b;font-size:.9rem}.job-table-wrapper{border:1px solid #94a3b840;border-radius:12px;margin-top:18px;overflow-x:auto}.job-table{border-collapse:collapse;background:#fff;width:100%}.job-table th{color:#0f172a;text-align:left;background:#f8fafc;border:1px solid #94a3b840;padding:14px;font-weight:700}.job-table td{color:#475569;border:1px solid #94a3b840;padding:14px}.job-table tbody tr:nth-child(2n){background:#f8fafc}@media (width<=760px){.dashboard-shell{width:min(100% - 20px,1040px);padding:10px 0 24px}.hero-card{border-radius:24px;flex-direction:column;align-items:stretch}.hero-actions{align-items:stretch;min-width:0}.metric-grid{grid-template-columns:1fr}.metric-card,.metric-toggle{min-height:auto}.job-table{min-width:600px}}.job-progress-flow{justify-content:space-between;align-items:flex-start;gap:0;margin:24px 0;display:flex;overflow-x:auto}.progress-step{flex:1;align-items:center;display:flex;position:relative}.progress-circle{color:#64748b;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;transition:all .25s;display:flex}.progress-label{color:#64748b;white-space:nowrap;margin-left:12px;margin-right:16px;font-size:13px;font-weight:600}.progress-line{background:#e2e8f0;border-radius:100px;flex:1;height:3px;margin-right:16px}.progress-step.active .progress-circle{color:#fff;background:#2563eb}.progress-step.active .progress-label{color:#2563eb}.progress-step.completed .progress-circle{color:#fff;background:#22c55e}.progress-step.completed .progress-line{background:#22c55e}.progress-step.scrapped .progress-circle{color:#fff;background:#dc2626}.progress-step.scrapped .progress-label{color:#dc2626;font-weight:700}.jobs-layout{flex-direction:column;gap:28px;width:100%;display:flex}.jobs-page{flex-direction:column;gap:24px;display:flex}.jobs-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.jobs-header h1{color:#0f172a;margin:0 0 8px;font-size:42px;font-weight:800}.jobs-header p{color:#64748b;margin:0;font-size:16px;line-height:1.6}.jobs-actions{gap:12px;display:flex}.jobs-toolbar{flex-direction:column;gap:14px;width:100%;margin-bottom:20px;display:flex}.jobs-toolbar-top-row{align-items:flex-end;gap:14px;width:100%;display:flex}.toolbar-search{flex:0 0 270px;width:270px}.toolbar-search input{box-sizing:border-box;color:#17233f;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;height:42px;padding:0 14px;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s}.toolbar-search input::placeholder{color:#8a96a8}.toolbar-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.date-filter-group{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.date-filter-title{color:#334155;font-size:14px;font-weight:700;line-height:1}.date-filter-inputs{align-items:center;gap:6px;display:flex}.date-filter-inputs input{box-sizing:border-box;color:#17233f;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:130px;height:42px;padding:0 9px;font-size:13px;font-weight:500;transition:border-color .2s,box-shadow .2s}.date-filter-inputs input:hover{border-color:#94a3b8}.date-filter-inputs input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.date-range-arrow{color:#64748b;font-size:17px;font-weight:700;line-height:1}.jobs-status-row{align-items:center;width:100%;min-height:48px;display:flex}.status-filter-row{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:4px;width:100%;margin:0;padding:0;display:flex;overflow-x:auto}.status-filter-row::-webkit-scrollbar{display:none}.status-filter-option{color:#475569;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-shrink:0;align-items:center;gap:9px;min-height:44px;padding:0 12px;font-size:18px;font-weight:650;line-height:1;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.status-filter-option:hover{color:#17233f;background:#f1f5f9}.status-filter-option.selected{color:#1d4ed8;background:#eef4ff;border-color:#c9dafe}.status-filter-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.sort-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;flex-shrink:0;height:42px;padding:0 18px;font-size:14px;font-weight:700}.jobs-table-card{background:#fff;border-radius:20px;width:100%;height:calc(100vh - 300px);min-height:420px;overflow:hidden;box-shadow:0 15px 35px #0f172a14}.jobs-table-scroll{width:100%;height:100%;overflow:auto}.job-table{border-collapse:collapse;width:100%;min-width:1100px}.job-table thead th{z-index:10;background:#f8fafc;position:sticky;top:0}.job-table th{text-align:left;color:#0f172a;white-space:nowrap;padding:18px;font-weight:700}.job-table td{color:#334155;border-top:1px solid #e2e8f0;padding:18px}.job-table tbody tr:hover{background:#f8fafc}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.status-badge.ready{color:#15803d;background:#dcfce7}.status-badge.waiting{color:#2563eb;background:#dbeafe}.status-badge.imposition{color:#92400e;background:#fef3c7}.status-badge.quality{color:#6d28d9;background:#ede9fe}.status-badge.delivery{color:#1d4ed8;background:#dbeafe}.status-badge.delivered{color:#166534;background:#dcfce7}.status-badge.scrap{color:#b91c1c;background:#fee2e2}.action-buttons{align-items:center;gap:10px;display:flex}.view-btn,.edit-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:8px 14px;font-weight:600;transition:all .2s}.view-btn{color:#0f172a;background:#f1f5f9}.view-btn:hover{background:#e2e8f0}.edit-btn{color:#fff;background:#2563eb}.edit-btn:hover{background:#1d4ed8}.details-panel{box-sizing:border-box;background:#fff;border-radius:20px;width:100%;margin-top:12px;padding:28px;box-shadow:0 15px 35px #0f172a14}.detail-row{margin-bottom:22px}.detail-row strong{color:#64748b;margin-bottom:6px;display:block}.detail-row p{color:#0f172a;margin:0;line-height:1.6}.job-details-section{width:100%;animation:.25s fadeSlide}@keyframes fadeSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.job-details-row>td{background:#f8fafc;border-top:0!important;padding:0!important}.job-details-inline{box-sizing:border-box;width:100%;padding:18px 20px 20px;overflow-x:hidden}.job-details-inline .job-details-section{width:100%;margin:0}.job-details-inline .job-details-card{box-sizing:border-box;width:100%;margin:0}.job-row-expanded td{background:#fff;border-bottom:0}.empty-table{text-align:center;color:#64748b;font-size:15px;font-weight:600;padding:40px!important}@media (width<=1100px){.jobs-toolbar-top-row{flex-wrap:wrap}.toolbar-search{flex:0 0 270px}.jobs-status-row{overflow:hidden}}@media (width<=800px){.jobs-toolbar-top-row{flex-direction:column;align-items:stretch}.toolbar-search{flex:auto;width:100%}.date-filter-group,.date-filter-inputs{width:100%}.date-filter-inputs input{flex:1;width:auto}.jobs-status-row{width:100%}.status-filter-row{overflow-x:auto}.status-filter-option{font-size:18px}}.modal-overlay{z-index:9999;background:#0f172a8c;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.edit-modal,.create-modal{background:#fff;border-radius:20px;width:100%;max-width:650px;padding:32px;animation:.25s modalIn;box-shadow:0 25px 60px #0f172a40}.edit-modal h2,.create-modal h2{color:#0f172a;margin:0 0 24px;font-size:28px;font-weight:800}.form-group{flex-direction:column;margin-bottom:22px;display:flex}.form-group label{color:#334155;margin-bottom:8px;font-size:14px;font-weight:700}.form-group input,.form-group textarea,.form-group select{border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:14px 16px;font-size:15px;transition:all .2s}.form-group textarea{resize:vertical;min-height:120px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.modal-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.success-toast{color:#fff;z-index:10000;background:#16a34a;border-radius:12px;padding:14px 24px;font-weight:700;animation:.25s fadeIn;position:fixed;bottom:30px;right:30px;box-shadow:0 12px 30px #16a34a40}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:none}}
