:root{--primary:#1481b8;--primary-dark:#0f618a;--bg-main:#f6f7f9;--bg-surface:#fff;--sidebar-bg:#141d2e;--sidebar-text:#e2e8f0;--sidebar-text-hover:#fff;--text-main:#334155;--text-muted:#64748b;--border-color:#e2e8f0;--border-radius:8px;--border-radius-sm:4px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--status-draft:#94a3b8;--status-pending:#fbbf24;--status-success:#22c55e;--status-danger:#ef4444;--status-info:#3b82f6}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}body{background-color:var(--bg-main);color:var(--text-main);min-height:100vh;display:flex}.sidebar{background-color:var(--sidebar-bg);width:264px;height:100vh;color:var(--sidebar-text);z-index:100;flex-direction:column;flex-shrink:0;transition:transform .3s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{background:#fff;border-radius:10px;flex-shrink:0;margin:1rem;padding:.75rem 1rem}.sidebar-logo-img{width:100%;max-width:150px;height:auto;margin:0 auto;display:block}.sidebar-nav{flex:1;padding:.5rem 0 1.5rem}.nav-section-label{letter-spacing:.1em;text-transform:uppercase;color:#e2e8f059;padding:1rem 1.5rem .3rem;font-size:.65rem;font-weight:700}.nav-link{color:var(--sidebar-text);border-left:3px solid #0000;align-items:center;gap:.65rem;padding:.65rem calc(1.5rem - 3px);font-size:.875rem;font-weight:400;text-decoration:none;transition:all .15s;display:flex}.nav-link svg{opacity:.7;flex-shrink:0;width:17px;height:17px;transition:opacity .15s}.nav-link:hover,.nav-link.active{color:var(--sidebar-text-hover);border-left-color:var(--primary);background-color:#ffffff14;font-weight:500}.nav-link:hover svg,.nav-link.active svg{opacity:1}.nav-group-btn{width:100%;color:var(--sidebar-text);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:.65rem calc(1.5rem - 3px);font-family:inherit;font-size:.875rem;font-weight:400;transition:all .15s;display:flex}.nav-group-btn:hover,.nav-group-btn.active-group{color:var(--sidebar-text-hover);border-left-color:var(--primary);background-color:#ffffff14;font-weight:500}.nav-group-label{align-items:center;gap:.65rem;display:flex}.nav-group-label svg{opacity:.7;flex-shrink:0;width:17px;height:17px}.nav-group-btn:hover .nav-group-label svg,.nav-group-btn.active-group .nav-group-label svg{opacity:1}.nav-chevron{opacity:.5;flex-shrink:0;transition:transform .2s;width:13px!important;height:13px!important}.chevron-open{transform:rotate(180deg)}.nav-sub-link{color:#e2e8f0a6;border-left:3px solid #0000;align-items:center;gap:.55rem;padding:.55rem 1.5rem .55rem 3rem;font-size:.825rem;text-decoration:none;transition:all .15s;display:flex}.nav-sub-link svg{opacity:.6;flex-shrink:0;width:15px;height:15px;transition:opacity .15s}.nav-sub-link:hover,.nav-sub-link.active{color:#fff;border-left-color:var(--primary);background-color:#ffffff0f}.nav-sub-link:hover svg,.nav-sub-link.active svg{opacity:1}.main-content{flex-direction:column;flex:1;margin-left:264px;transition:margin-left .3s;display:flex;overflow:hidden}.topbar{z-index:50;background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);height:60px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.page-container{flex:1;height:calc(100vh - 60px);padding:2rem;overflow-y:auto}.card{background-color:var(--bg-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.btn{border-radius:var(--border-radius-sm);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.form-group{margin-bottom:1rem}.form-label{color:var(--text-main);margin-bottom:.5rem;font-weight:500;display:block}.form-control{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);width:100%;padding:.5rem .75rem;font-size:1rem}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0284c733}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border-color);padding:.75rem}th{color:var(--text-muted);background-color:#f8fafc;font-weight:600}.badge{border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.badge-draft{color:#475569;background-color:#f1f5f9}.badge-saved,.badge-success{color:#166534;background-color:#dcfce7}.badge-pending{color:#92400e;background-color:#fef3c7}.badge-danger{color:#991b1b;background-color:#fee2e2}.badge-info{color:#0369a1;background-color:#e0f2fe}.badge-teal{color:#0f766e;background-color:#ccfbf1}.dashboard{max-width:1400px;margin:0 auto}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.dash-title{color:var(--text-main);margin:0;font-size:1.5rem;font-weight:700}.dash-subtitle{color:var(--text-muted);letter-spacing:.01em;margin:.25rem 0 0;font-size:.8rem}.dash-actions{gap:.75rem;display:flex}.btn-outline{border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:#0284c70a}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.kpi-card{background:var(--bg-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);align-items:center;gap:1rem;padding:1.25rem;transition:box-shadow .2s,transform .15s;display:flex}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-icon svg{width:22px;height:22px}.kpi-icon--production{color:#059669;background:#ecfdf5}.kpi-icon--month{color:#2563eb;background:#eff6ff}.kpi-icon--qc{color:#16a34a;background:#f0fdf4}.kpi-icon--indent{color:#d97706;background:#fef3c7}.kpi-icon--grn{color:#7c3aed;background:#ede9fe}.kpi-icon--dispatch{color:#db2777;background:#fce7f3}.kpi-content{flex-direction:column;gap:.15rem;min-width:0;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.7rem;font-weight:600}.kpi-value{color:var(--text-main);font-size:1.5rem;font-weight:700;line-height:1.2}.kpi-value small{color:var(--text-muted);margin-left:2px;font-size:.7rem;font-weight:500}.dash-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=1200px){.dash-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dash-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}.dash-card{background:var(--bg-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden}.dash-card--wide{grid-column:span 2}@media (width<=768px){.dash-card--wide{grid-column:span 1}}.dash-card__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.dash-card__header h3{color:var(--text-main);margin:0;font-size:.875rem;font-weight:600}.dash-card__period{color:var(--text-muted);margin-left:.5rem;font-size:.7rem;font-weight:400}.dash-card__link{color:var(--primary);font-size:.75rem;font-weight:500;text-decoration:none}.dash-card__link:hover{text-decoration:underline}.dash-card__total{color:var(--text-main);font-size:.9rem;font-weight:700}.dash-card__body{padding:1.25rem}.dash-card__body--center{justify-content:center;align-items:center;display:flex}.dash-empty{color:var(--text-muted);text-align:center;padding:1rem 0;font-size:.85rem}.dash-empty--success{flex-direction:column;align-items:center;display:flex}.bar-chart{align-items:flex-end;gap:0;height:180px;padding-top:1rem;display:flex}.bar-chart__col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.bar-chart__bar-wrapper{flex:1;justify-content:center;align-items:flex-end;width:100%;padding:0 .35rem;display:flex}.bar-chart__bar{background:linear-gradient(180deg, var(--primary) 0%, #30abe8 100%);border-radius:4px 4px 0 0;width:100%;max-width:48px;min-height:4px;transition:height .5s;position:relative}.bar-chart__value{color:var(--text-main);white-space:nowrap;font-size:.65rem;font-weight:600;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.bar-chart__label{color:var(--text-main);margin-top:.5rem;font-size:.7rem;font-weight:600}.bar-chart__date{color:var(--text-muted);font-size:.6rem}.gauge{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.gauge__circle{background:conic-gradient(#059669 0deg, #059669 calc(var(--percentage) * 3.6deg), #e2e8f0 calc(var(--percentage) * 3.6deg), #e2e8f0 360deg);border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:relative}.gauge__circle:before{content:"";background:var(--bg-surface);border-radius:50%;width:100px;height:100px;position:absolute}.gauge__value{z-index:1;color:var(--text-main);font-size:1.5rem;font-weight:700;position:relative}.gauge__legend{color:var(--text-muted);gap:1.5rem;font-size:.75rem;display:flex}.gauge__item{align-items:center;gap:.4rem;display:flex}.gauge__dot{border-radius:50%;width:8px;height:8px}.gauge__dot--output{background:#059669}.gauge__dot--waste{background:#e2e8f0}.qc-stack{flex-direction:column;gap:1.25rem;display:flex}.qc-stack__bar{background:#f1f5f9;border-radius:6px;height:12px;display:flex;overflow:hidden}.qc-stack__segment{transition:width .5s}.qc-stack__segment--passed{background:#22c55e}.qc-stack__segment--pending{background:#fbbf24}.qc-stack__segment--rejected{background:#ef4444}.qc-stack__legend{flex-direction:column;gap:.6rem;display:flex}.qc-stack__item{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.qc-stack__item strong{color:var(--text-main);margin-left:auto;font-weight:600}.qc-stack__dot{border-radius:50%;width:8px;height:8px}.qc-stack__dot--passed{background:#22c55e}.qc-stack__dot--pending{background:#fbbf24}.qc-stack__dot--rejected{background:#ef4444}.stock-list{flex-direction:column;gap:.75rem;display:flex}.stock-list__item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.stock-list__item:last-child{border-bottom:none}.stock-list__info{flex-direction:column;gap:.1rem;display:flex}.stock-list__name{color:var(--text-main);font-size:.825rem;font-weight:500}.stock-list__count{color:var(--text-muted);font-size:.7rem}.stock-list__qty{color:var(--text-main);font-size:.9rem;font-weight:700}.top-items{flex-direction:column;gap:.9rem;display:flex}.top-items__row{flex-direction:column;gap:.35rem;display:flex}.top-items__info{justify-content:space-between;align-items:center;display:flex}.top-items__name{color:var(--text-main);font-size:.8rem;font-weight:500}.top-items__qty{color:var(--primary);font-size:.75rem;font-weight:600}.top-items__bar{background:#f1f5f9;border-radius:3px;height:6px;overflow:hidden}.top-items__fill{background:linear-gradient(90deg, var(--primary), #30abe8);border-radius:3px;height:100%;transition:width .5s}.actions-list{flex-direction:column;gap:.5rem;display:flex}.actions-list__item{border-radius:var(--border-radius-sm);color:var(--text-main);border:1px solid #0000;align-items:center;gap:.75rem;padding:.7rem .75rem;text-decoration:none;transition:background .15s;display:flex}.actions-list__item:hover{border-color:var(--border-color);background:#f8fafc}.actions-list__badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.actions-list__badge--warning{color:#92400e;background:#fef3c7}.actions-list__badge--info{color:#0369a1;background:#e0f2fe}.actions-list__badge--draft{color:#475569;background:#f1f5f9}.actions-list__badge--success{color:#166534;background:#dcfce7}.actions-list__label{flex:1;font-size:.825rem;font-weight:500}.actions-list__arrow{width:14px;height:14px;color:var(--text-muted)}.activity-feed{flex-direction:column;gap:0;display:flex}.activity-feed__item{border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.activity-feed__item:last-child{border-bottom:none}.activity-feed__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.activity-feed__dot--production{background:#059669}.activity-feed__dot--grn{background:#7c3aed}.activity-feed__dot--indent{background:#d97706}.activity-feed__content{flex:1;min-width:0}.activity-feed__title{color:var(--text-main);font-size:.8rem;font-weight:600;display:block}.activity-feed__detail{color:var(--text-muted);font-size:.7rem}.activity-feed__meta{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.activity-feed__time{color:var(--text-muted);font-size:.65rem}.expense-list{flex-direction:column;gap:.6rem;display:flex}.expense-list__item{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.expense-list__item:last-child{border-bottom:none}.expense-list__name{color:var(--text-muted);font-size:.8rem}.expense-list__amount{color:var(--text-main);font-size:.825rem;font-weight:600}.quick-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.quick-action{border-radius:var(--border-radius);border:1px solid var(--border-color);flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .75rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.quick-action svg{width:24px;height:24px}.quick-action--production{color:#059669;background:#f0fdf4;border-color:#bbf7d0}.quick-action--production:hover{background:#dcfce7}.quick-action--grn{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.quick-action--grn:hover{background:#ede9fe}.quick-action--indent{color:#d97706;background:#fffbeb;border-color:#fde68a}.quick-action--indent:hover{background:#fef3c7}.quick-action--dispatch{color:#db2777;background:#fdf2f8;border-color:#fbcfe8}.quick-action--dispatch:hover{background:#fce7f3}.auth-container{background-color:var(--bg-main);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.auth-card{background:var(--bg-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-md);width:100%;max-width:400px;padding:2.5rem}nav[role=navigation],.pagination{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}@media (width>=640px){nav[role=navigation],.pagination{flex-direction:row;justify-content:space-between}}nav[role=navigation] .flex.justify-between.flex-1.sm\:hidden,nav[role=navigation]>div:first-child:not(.hidden),.pagination .flex.justify-between.flex-1{display:none!important}nav[role=navigation] svg,.pagination svg,[aria-label=Pagination\ Navigation] svg,.flex.justify-between.flex-1 svg,.hidden.sm\:flex-1.sm\:flex.sm\:items-center.sm\:justify-between svg{vertical-align:middle;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;min-height:14px!important;max-height:14px!important;display:inline-block!important}nav[role=navigation] .relative.z-0.inline-flex a,nav[role=navigation] .relative.z-0.inline-flex span,.pagination .relative.z-0.inline-flex a,.pagination .relative.z-0.inline-flex span{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-main);background-color:var(--bg-surface);justify-content:center;align-items:center;padding:.375rem .75rem;font-size:.85rem;text-decoration:none;transition:all .15s ease-in-out;display:inline-flex}nav[role=navigation] .relative.z-0.inline-flex a:hover,.pagination .relative.z-0.inline-flex a:hover{background-color:var(--bg-main);color:var(--primary);border-color:#cbd5e1}nav[role=navigation] .relative.z-0.inline-flex span[aria-current=page] span,.pagination .relative.z-0.inline-flex span[aria-current=page] span{background-color:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.hidden.sm\:flex-1.sm\:flex.sm\:items-center.sm\:justify-between{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex!important}@media (width>=640px){.hidden.sm\:flex-1.sm\:flex.sm\:items-center.sm\:justify-between{flex-direction:row;justify-content:space-between}}.hidden.sm\:flex-1.sm\:flex.sm\:items-center.sm\:justify-between div{align-items:center;gap:.25rem;display:flex}nav[role=navigation] .relative.z-0.inline-flex,.pagination .relative.z-0.inline-flex{border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);display:inline-flex;overflow:hidden}nav[role=navigation] .relative.z-0.inline-flex a,nav[role=navigation] .relative.z-0.inline-flex span,.pagination .relative.z-0.inline-flex a,.pagination .relative.z-0.inline-flex span{border-right:none;border-radius:0;margin:0}nav[role=navigation] .relative.z-0.inline-flex a:last-child,nav[role=navigation] .relative.z-0.inline-flex span:last-child,.pagination .relative.z-0.inline-flex a:last-child,.pagination .relative.z-0.inline-flex span:last-child{border-right:1px solid var(--border-color)}
