@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap");:root{--norech-green:#04884F;--norech-green-light:#05A35E;--norech-green-dark:#036B3E;--norech-green-subtle:#E6F5EE;--norech-orange:#F6931E;--norech-orange-light:#FAAA42;--norech-orange-dark:#DE7E10;--norech-orange-subtle:#FEF4E8;--norech-charcoal:#211F20;--norech-navy:#0F172A;--norech-blue:#04884F;--norech-blue-light:#05A35E;--norech-blue-dark:#036B3E;--norech-cyan:#F6931E;--norech-teal:#04884F;--norech-red:#EF4444;--norech-white:#ffffff;--bg-color:#F8FAFC;--text-primary:#0F172A;--text-secondary:#64748B;--card-bg:#ffffff;--border-color:#E2E8F0;--success:#04884F;--warning:#F6931E;--danger:#EF4444;--radius:12px;--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.07),0 2px 4px -1px rgba(0,0,0,0.04);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -2px rgba(0,0,0,0.03)}*{box-sizing:border-box;padding:0;margin:0;-webkit-tap-highlight-color:transparent}body,html{width:100%;max-width:100vw;min-height:100vh;overflow-x:hidden;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em}button{cursor:pointer;border:none;font-family:inherit;min-height:44px}.card,button{transition:all .2s ease}.card{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border-color);padding:1.25rem;box-shadow:var(--shadow-md)}.card:hover{border-color:#CBD5E1;box-shadow:var(--shadow-lg)}.btn-primary{background:var(--norech-blue);color:white;padding:.75rem 1.25rem;border-radius:var(--radius);font-weight:600;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px}.btn-primary:hover{background:var(--norech-green-dark);transform:translateY(-1px);box-shadow:0 8px 16px -4px rgba(4,136,79,.35)}.btn-primary:active{transform:translateY(0)}.btn-danger{background:var(--norech-red);color:white;padding:.75rem 1.25rem;border-radius:var(--radius);font-weight:600;min-height:44px}.mobile-container{width:100%;max-width:500px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative;background:var(--bg-color)}.navbar{background:var(--norech-navy);color:white;padding:calc(.85rem + env(safe-area-inset-top)) 1rem .85rem;position:sticky;top:0;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.bottom-nav,.navbar{z-index:100;display:flex}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:500px;margin:0 auto;background:white;border-top:1px solid var(--border-color);justify-content:space-around;padding:.6rem .5rem calc(.6rem + env(safe-area-inset-bottom));box-shadow:0 -2px 10px rgba(0,0,0,.03)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-secondary);text-decoration:none;min-width:54px;min-height:44px;border-radius:8px;transition:color .2s ease}.nav-item.active{color:var(--norech-blue);font-weight:700}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.admin-layout-wrapper{display:flex;min-height:100vh;background:#F1F5F9;width:100%}.admin-sidebar{width:260px;background:var(--norech-navy);color:white;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:50;transition:transform .3s ease}.admin-main{flex:1 1;margin-left:260px;padding:1.5rem 2rem;min-width:0;width:calc(100% - 260px)}@media (max-width:768px){.admin-sidebar{transform:translateX(-100%);width:280px;box-shadow:2px 0 15px rgba(0,0,0,.2)}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0!important;padding:1rem!important;width:100%!important}.mobile-hide{display:none!important}.mobile-stack{flex-direction:column!important;align-items:stretch!important}}.glass{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}