@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary:#0b2545;--color-primary-hover:#133c70;--color-primary-light:#e6edf5;--color-secondary:#0a3472;--color-bg:#f4f5f7;--color-surface:#fff;--color-text:#1e293b;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--font-family:"Inter", sans-serif;--font-heading:"Montserrat", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-md:.5rem;--radius-lg:1rem;--radius-full:9999px;--glass-bg:#ffffffd9;--glass-border:#fff3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:var(--font-heading);font-weight:600;line-height:1.2}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-primary)}.bg-surface{background-color:var(--color-surface)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);min-width:0;max-width:100%}.input-base{border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.input-base:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.btn{border-radius:var(--radius-md);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background-color:#0000}.btn-outline:hover{background-color:var(--color-primary-light)}.btn-ghost{color:var(--color-text-muted);background-color:#0000}.btn-ghost:hover{background-color:var(--color-border);color:var(--color-text)}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-subtle{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-scale-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards scaleUp}.animate-slide-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideInRight}.hover-scale{transition:transform .3s cubic-bezier(.16,1,.3,1)}.hover-scale:hover{transform:scale(1.05)}.glass-card{-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #ffffff4d;box-shadow:0 8px 32px #1f268712}.glass-dark{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#0f6e56d9;border:1px solid #ffffff1a}.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.clickable:active{transform:scale(.98)}.text-gradient{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.shadow-premium{box-shadow:0 10px 30px -5px #0000001a,0 4px 10px -5px #0000000d}.bg-mesh{background-color:#fff;background-image:radial-gradient(at 0 0,#24ae8d0d 0,#0000 50%),radial-gradient(at 50% 0,#24ae8d05 0,#0000 50%),radial-gradient(at 100% 0,#24ae8d0d 0,#0000 50%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:#fff;width:100%;max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);padding:1rem .75rem}.data-table th{color:var(--color-text-muted);background-color:var(--color-bg);font-size:.875rem;font-weight:600}.data-table tbody tr:hover{background-color:var(--color-bg)}.badge{border-radius:var(--radius-full);text-transform:uppercase;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#065f46;background-color:#d1fae5}.badge-warning{color:#92400e;background-color:#fef3c7}.badge-danger{color:#991b1b;background-color:#fee2e2}.badge-info{color:#075985;background-color:#e0f2fe}.compact-container{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}.recharts-wrapper:focus,.recharts-surface:focus,.recharts-wrapper :focus{outline:none!important}.public-layout{flex-direction:column;min-height:100vh;display:flex}.header{z-index:50;border-top:none;border-left:none;border-right:none;border-radius:0;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;height:6rem;display:flex}.logo{align-items:center;gap:.75rem;display:flex}.logo-text{color:var(--color-text);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.desktop-nav{align-items:center;gap:2rem;display:none}.nav-link{color:var(--color-text-muted);font-weight:500}.nav-link:hover{color:var(--color-primary)}.mobile-menu-btn{color:var(--color-text);background:0 0;border:none;display:block}.mobile-nav{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;gap:1rem;padding:1rem 1.5rem;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-nav .nav-link{border-bottom:1px solid var(--color-border);padding:.5rem 0}.main-content{flex:1}.footer{border-top:1px solid var(--color-border);margin-top:4rem;padding:3rem 0}.footer-content{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.footer-brand{align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;display:flex}.footer-links p{color:var(--color-text-muted);margin-top:.5rem;font-size:.875rem}@media (width>=768px){.desktop-nav{display:flex}.mobile-menu-btn{display:none}.footer-content{text-align:left;flex-direction:row;justify-content:space-between}}.producer-layout{background-color:var(--color-bg);min-height:100vh;display:flex}.mobile-topbar{z-index:40;border-top:none;border-left:none;border-right:none;border-radius:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.mobile-topbar .brand{align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.menu-btn{color:var(--color-text);background:0 0;border:none;padding:.25rem}.sidebar-overlay{z-index:45;background-color:#00000080;position:fixed;inset:0}.sidebar{background-color:var(--color-surface);z-index:50;border-top:none;border-bottom:none;border-left:none;border-radius:0;flex-direction:column;width:280px;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.sidebar-header .brand{align-items:center;gap:.5rem;display:flex}.close-btn{color:var(--color-text-muted);background:0 0;border:none}.user-profile{border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;padding:1.5rem;display:flex}.avatar{border-radius:var(--radius-full);background-color:var(--color-primary-light);width:48px;height:48px;color:var(--color-primary);justify-content:center;align-items:center;font-size:1.125rem;font-weight:600;display:flex}.user-name{color:var(--color-text);font-weight:600}.user-matricula{color:var(--color-text-muted);font-size:.875rem}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.sidebar-link{border-radius:var(--radius-md);color:var(--color-text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:1rem;width:100%;padding:.75rem 1rem;font-weight:500;transition:all .2s;display:flex}.sidebar-link:hover{background-color:var(--color-bg);color:var(--color-text)}.sidebar-link.active{background-color:var(--color-primary-light);color:var(--color-primary)}.text-danger{color:var(--color-danger)!important}.text-danger:hover{background-color:#fee2e2!important}.sidebar-footer{border-top:1px solid var(--color-border);padding:1.5rem 1rem}.producer-main{flex:1;width:100%;max-width:100vw;padding-top:6.5rem;overflow-x:hidden}.producer-container{width:100%;padding:1.5rem}@media (width>=1024px){.mobile-topbar,.sidebar-overlay{display:none}.sidebar{height:100vh;position:sticky;top:0;transform:translate(0)}.close-btn{display:none}.producer-main{padding-top:0}.producer-container{padding:2.5rem}}.admin-layout{background-color:#f1f5f9;min-height:100vh;display:flex}.admin-bg{background-color:var(--color-secondary)}.admin-sidebar{background-color:var(--color-secondary);color:#fff;z-index:50;flex-direction:column;width:280px;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar .sidebar-header,.admin-sidebar .user-profile{border-bottom:1px solid #ffffff1a}.admin-sidebar .sidebar-link{color:#ffffffb3}.admin-sidebar .sidebar-link:hover{color:#fff;background-color:#ffffff1a}.admin-sidebar .sidebar-link.active{background-color:var(--color-primary);color:#fff}.admin-main{flex:1;width:100%;max-width:100vw;padding-top:5rem;overflow-x:hidden}.admin-container{width:100%;padding:1.5rem}@media (width>=1024px){.admin-sidebar{height:100vh;position:sticky;top:0;transform:translate(0)}.admin-main{padding-top:0}.admin-container{padding:2.5rem}}
