@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary:#004578;--primary-hover:#003359;--bg-gradient-start:#f4f6f8;--bg-gradient-end:#eef2f6;--surface:#fff;--surface-hover:#fff;--border:#e2e8f0;--text-main:#1e293b;--text-muted:#64748b;--success:#10b981;--danger:#ef4444;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Outfit,sans-serif}.glass{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;transition:all .3s}.glass:hover{background:var(--surface-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}h1,h2,h3{color:var(--text-main);letter-spacing:-.02em;font-weight:700}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9999px;padding:.75rem 1.5rem;font-family:Outfit,sans-serif;font-weight:600;transition:all .2s;box-shadow:0 4px 14px #2563eb63}.btn-primary:hover{background:var(--primary-hover);transform:scale(1.02)}.btn-primary:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b8;transform:none}.app-layout{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);min-height:100vh;display:flex}.sidebar{color:#fff;z-index:100;background:#003359;flex-direction:column;width:260px;height:100vh;padding:1.5rem;transition:all .3s;display:flex;position:fixed;top:0;left:0;box-shadow:4px 0 20px #0000000d}.sidebar-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:2rem;display:flex}.sidebar-logo-icon{color:#004578;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:700;display:flex}.sidebar-header h2{color:#fff;margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.sidebar-header span{color:#fff9;font-size:.7rem;display:block}.sidebar-menu{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.sidebar-item{color:#ffffffb3;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.sidebar-item:hover{color:#fff;background:#ffffff14}.sidebar-item.active{color:#fff;background:#ffffff26;font-weight:600;box-shadow:inset 3px 0 #fff}.sidebar-footer{border-top:1px solid #ffffff1a;padding-top:1.5rem}.user-badge{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.user-avatar{color:#004578;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:flex}.user-details{flex-direction:column;display:flex;overflow:hidden}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.user-role{color:#ffffff80;font-size:.7rem}.btn-logout{color:#f87171;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.5rem;font-size:.85rem;font-weight:600;transition:background .2s;display:flex}.btn-logout:hover{background:#ef44441a}.main-content-wrapper{flex-grow:1;min-width:0;margin-left:260px;padding:2rem 3rem}.top-status-bar{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.top-status-bar h1{color:#0f172a;font-size:1.75rem}.connection-pill{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9999px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;display:flex}.connection-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}.form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1rem;display:grid}.form-group{flex-direction:column;gap:.4rem;width:100%;display:flex}.form-group.full-width{grid-column:span 2}.form-group label{color:#334155;font-size:.85rem;font-weight:650;display:block}.form-group select,.form-group textarea{color:#1e293b;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:.7rem .85rem;font-family:Outfit,sans-serif;font-size:.9rem;transition:all .2s;display:block}.form-group select:focus,.form-group textarea:focus{border-color:#004578;box-shadow:0 0 0 3px #0045781f}.form-group textarea{resize:vertical;min-height:70px}.catalog-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.section-header{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.section-header h2{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.search-bar{box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;align-items:center;width:100%;padding:.5rem .85rem;transition:all .2s;display:flex}.search-bar:focus-within{border-color:#004578;box-shadow:0 0 0 3px #0045781f}.search-icon{color:#64748b;align-items:center;margin-right:.5rem;font-size:1rem;display:flex}.search-bar input{color:#1e293b;background:0 0;border:none;outline:none;flex-grow:1;width:100%;font-family:Outfit,sans-serif;font-size:.9rem}.empty-state{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:3rem 1.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;display:grid}.material-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.75rem;padding:1.15rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000005}.material-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 16px #0000000d}.card-top{justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.badge{color:#4338ca;background:#e0e7ff;border-radius:6px;padding:.2rem .5rem;font-weight:600}.stock{color:#64748b;font-weight:550}.material-card h3{color:#1e293b;flex-grow:1;margin:.25rem 0;font-size:.95rem;font-weight:600;line-height:1.3}.cart-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;height:fit-content;padding:1.5rem;display:flex;position:sticky;top:2rem;box-shadow:0 4px 6px -1px #00000005}.cart-section h2{color:#0f172a;border-bottom:1px solid #e2e8f0;margin:0;padding-bottom:1rem;font-size:1.15rem;font-weight:700}.empty-cart{text-align:center;color:#64748b;padding:3rem 0}.empty-icon{opacity:.4;margin-bottom:.75rem;font-size:2.5rem}.cart-items{flex-direction:column;gap:.75rem;max-height:350px;margin:1rem 0;padding-right:.25rem;display:flex;overflow-y:auto}.cart-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem;display:flex}.item-info{flex-direction:column;max-width:60%;display:flex}.item-info strong{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.item-meta{color:#64748b;font-family:monospace;font-size:.75rem}.item-actions{align-items:center;gap:.5rem;display:flex}.qty-control{align-items:center;gap:.25rem;display:flex}.qty-btn{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;font-weight:700;transition:background .1s;display:flex}.qty-btn:hover{background:#f1f5f9}.qty-val{text-align:center;min-width:16px;padding:0 .2rem;font-size:.85rem;font-weight:700}.unit-label{color:#64748b;font-size:.75rem;font-weight:600}.btn-remove{color:#ef4444;cursor:pointer;background:#fee2e2;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.btn-remove:hover{color:#fff;background:#ef4444}.cart-footer{border-top:1px solid #e2e8f0;margin-top:auto;padding-top:1.25rem}.full-width{width:100%}.message-alert{border-radius:8px;margin:1rem 0;padding:.85rem;font-size:.85rem;font-weight:550;animation:.3s ease-out fadeIn}.message-alert.success{color:#065f46;background:#d1fae5;border:1px solid #10b981}.message-alert.error{color:#991b1b;background:#fee2e2;border:1px solid #ef4444}.dashboard-metrics{grid-template-columns:repeat(5,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:1.25rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000005}.metric-icon-wrapper{border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:.75rem;display:flex}.metric-card.today .metric-icon-wrapper{color:#0284c7;background:#e0f2fe}.metric-card.pending .metric-icon-wrapper{color:#d97706;background:#fef3c7}.metric-card.partial .metric-icon-wrapper{color:#00acc1;background:#e0f7fa}.metric-card.received .metric-icon-wrapper{color:#059669;background:#d1fae5}.metric-card.total .metric-icon-wrapper{color:#4f46e5;background:#e0e7ff}.metric-label{color:#64748b;margin-bottom:.25rem;font-size:.85rem;font-weight:500}.metric-value{color:#0f172a;font-size:1.85rem;font-weight:700;line-height:1.2}.metric-trend{align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;font-weight:600;display:flex}.trend-up{color:#10b981}.trend-neutral{color:#64748b}.trend-warning{color:#f59e0b}.dashboard-charts{grid-template-columns:1.5fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #00000005}.chart-card h2{color:#0f172a;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.chart-card p{color:#64748b;margin-bottom:1.5rem;font-size:.8rem}.chart-container{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.line-chart-svg{width:100%;height:250px;overflow:visible}.grid-line{stroke:#f1f5f9;stroke-width:1px}.chart-axis{stroke:#e2e8f0;stroke-width:1px}.axis-text{fill:#94a3b8;text-anchor:middle;font-size:10px;font-weight:500}.axis-text.y-axis{text-anchor:end}.chart-line-path{fill:none;stroke:#0284c7;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;animation:1.5s ease-in-out drawLine}.chart-area-path{fill:url(#chart-gradient);stroke:none;animation:1s ease-out fadeInArea}.chart-point{fill:#fff;stroke:#0284c7;stroke-width:3px;cursor:pointer;transition:all .2s}.chart-point:hover{fill:#0284c7;r:7}.donut-chart-svg{width:220px;height:220px}.donut-segment{fill:none;stroke-width:22px;cursor:pointer;transition:stroke-width .2s,filter .2s}.donut-segment:hover{stroke-width:26px;filter:drop-shadow(0 4px 8px #00000026)}.donut-center-text{text-anchor:middle;fill:#0f172a}.donut-center-val{font-size:28px;font-weight:700}.donut-center-lbl{fill:#64748b;font-size:11px;font-weight:500}.chart-legend{flex-direction:column;gap:.65rem;width:100%;margin-top:1rem;display:flex}.legend-item{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.legend-left{color:#1e293b;align-items:center;gap:.5rem;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-right{color:#0f172a;font-weight:600}.legend-percent{color:#64748b;margin-left:.5rem;font-size:.8rem;font-weight:400}.recent-requests-dashboard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #00000005}.section-title-wrapper{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.section-title-wrapper h2{color:#0f172a;font-size:1.15rem;font-weight:600}.btn-link{color:#004578;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600;transition:color .2s}.btn-link:hover{color:#00223d;text-decoration:underline}.requests-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #00000005}.requests-table{border-collapse:collapse;text-align:left;width:100%}.requests-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem 1.25rem;font-size:.8rem;font-weight:600}.table-row{border-bottom:1px solid #f1f5f9;transition:background .15s}.table-row:hover{background:#f8fafc}.table-row td{color:#334155;padding:1rem 1.25rem;font-size:.9rem}.req-id{color:#0f172a;font-family:monospace;font-weight:600}.badge-status{border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-status.pendente{color:#d97706;background:#fef3c7}.badge-status.parcialmente-recebido{color:#00838f;background:#e0f7fa}.badge-status.recebido{color:#065f46;background:#d1fae5}.badge-status.rejeitado{color:#b91c1c;background:#fee2e2}.btn-expand{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.btn-expand:hover{color:#0f172a;background:#f1f5f9}.btn-expand.expanded{color:#004578;transform:rotate(180deg)}.request-details-row{background:#fdfdfd}.request-details-cell{border-bottom:1px solid #e2e8f0;padding:0!important}.request-details-content{border-left:4px solid #004578;padding:1.5rem 2.5rem;animation:.2s ease-out slideDownDetails}.details-grid{grid-template-columns:1.5fr 1fr;gap:2rem;display:grid}.details-block h4{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.details-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.details-info-row{margin-bottom:.5rem;font-size:.85rem;display:flex}.details-info-row:last-child{margin-bottom:0}.details-info-label{color:#64748b;width:120px;font-weight:600}.details-info-value{color:#0f172a}.details-obs{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-top:1rem;padding:.75rem;font-size:.85rem;font-style:italic}.details-items-table{border-collapse:collapse;width:100%;font-size:.85rem}.details-items-table th{color:#475569!important;background:#f1f5f9!important;padding:.6rem .85rem!important;font-size:.75rem!important}.details-items-table td{color:#334155;border-bottom:1px solid #e2e8f0;padding:.6rem .85rem!important}.details-items-table tr:last-child td{border-bottom:none}.nova-requisicao-layout{grid-template-columns:1fr 340px;align-items:start;gap:2rem;display:grid}.category-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.category-filter-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.category-filter-btn:hover{color:#004578;border-color:#004578}.category-filter-btn.active{color:#fff;background:#004578;border-color:#004578}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b98180}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes drawLine{0%{stroke-dasharray:1000;stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes fadeInArea{0%{opacity:0}to{opacity:1}}@keyframes slideDownDetails{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-charts,.nova-requisicao-layout{grid-template-columns:1fr}}@media (width<=768px){.sidebar{align-items:center;width:70px;padding:1rem .5rem}.sidebar-header h2,.sidebar-header span,.sidebar-item span,.user-details,.btn-logout span{display:none}.sidebar-logo-icon{margin:0 auto}.main-content-wrapper{margin-left:70px;padding:1.5rem}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard-metrics{grid-template-columns:1fr}}
