.layout{display:flex;min-height:100vh}.sidebar{width:250px;background-color:var(--color-sidebar-bg);color:#fff;padding:20px;position:fixed;height:100vh;overflow:hidden;display:flex;flex-direction:column}.sidebar-header{margin-bottom:16px}.sidebar-logo{max-width:140px;height:auto;margin-bottom:10px;background-color:#fff;padding:8px 12px;border-radius:6px}.role-badge-container{margin-top:10px}.role-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.nav-search{position:relative;margin-bottom:16px}.nav-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.nav-search-input{width:100%;padding:8px 10px 8px 32px;border:1px solid var(--color-sidebar-hover);border-radius:var(--radius-sm);background-color:#ffffff0f;color:#fff;font-size:13px}.nav-search-input::placeholder{color:#94a3b8}.nav-search-input:focus{outline:none;border-color:var(--color-primary);background-color:#ffffff1a}.nav-scroll{flex:1;overflow-y:auto;margin:0 -6px;padding:0 6px}.nav-section{margin-bottom:14px}.nav-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;padding:0 16px;margin-bottom:6px}.nav-empty{color:#94a3b8;font-size:13px;padding:8px 16px}.nav-list{list-style:none}.nav-list li{margin-bottom:2px}.nav-list a{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:var(--color-sidebar-text);text-decoration:none;border-radius:4px;transition:background-color .2s}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background-color:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1;flex-shrink:0}.nav-list a:hover{background-color:var(--color-sidebar-hover)}.nav-list a.active{background-color:var(--color-primary);color:#fff}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--color-sidebar-hover)}.user-menu{position:relative}.user-menu-button{width:100%;padding:10px;background-color:var(--color-sidebar-hover);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.user-menu-button:hover{background-color:#475569}.user-email{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.user-menu-arrow{font-size:10px;margin-left:8px;transition:transform .2s}.user-menu-button:hover .user-menu-arrow{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;background-color:#fff;border-radius:4px;box-shadow:0 4px 6px #0000001a;overflow:hidden;z-index:1000}.user-menu-item{display:block;width:100%;padding:12px 16px;text-align:left;background:none;border:none;color:#333;cursor:pointer;font-size:14px;transition:background-color .2s}.user-menu-item:hover{background-color:#f5f5f5}.user-menu-item strong{display:block;margin-bottom:4px;color:#333}.user-menu-role{font-size:12px;color:#6b7280}.user-menu-divider{height:1px;background-color:#e5e7eb;margin:4px 0}.content{margin-left:250px;flex:1;padding:30px;max-width:1400px}.sidebar-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;background-color:var(--color-sidebar-bg);color:#fff;border:none;border-radius:6px;width:40px;height:40px;font-size:20px;cursor:pointer;align-items:center;justify-content:center}.sidebar-toggle:hover{background-color:var(--color-sidebar-hover)}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar-toggle{display:flex}.sidebar{transform:translate(-100%);z-index:1000;transition:transform .3s ease;width:250px}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;z-index:999}.content{margin-left:0;padding:60px 15px 20px}}.legal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px}.legal-footer-links a{text-decoration:none;font-size:14px}.legal-footer-links--dark a{color:#ffffffd9}.legal-footer-links--dark a:hover{text-decoration:underline}.legal-footer-links--light a{color:#666}.legal-footer-links--light a:hover{color:var(--color-primary);text-decoration:underline}@media (max-width: 768px){.legal-footer-links{flex-direction:column;gap:10px}}.public-footer{padding:40px 60px;background:#1a1a2e;text-align:center;color:#ffffffb3}.public-footer-logo{height:32px;margin-bottom:12px;mix-blend-mode:screen}.public-footer-tagline{margin:0 0 20px}@media (max-width: 768px){.public-footer{padding:32px 24px}}.landing{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;color:#333;line-height:1.6}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;box-shadow:0 2px 10px #0000000d;position:sticky;top:0;z-index:100}.nav-logo{height:40px}.nav-links{display:flex;align-items:center;gap:20px}.nav-link{color:var(--color-primary);text-decoration:none;font-weight:500}.nav-link:hover{text-decoration:underline}.nav-cta{background:var(--gradient-brand);color:#fff;padding:10px 24px;border-radius:6px;text-decoration:none;font-weight:600}.nav-cta:hover{opacity:.9}.btn{display:inline-block;padding:14px 32px;border-radius:6px;text-decoration:none;font-weight:600;font-size:16px;cursor:pointer;transition:all .2s;text-align:center}.btn-primary{background:var(--gradient-brand);color:#fff;border:none}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:#f8f9fa;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:#fff}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-large{padding:18px 48px;font-size:18px}.trust-line{color:#666;font-size:14px;margin-top:16px}.hero{display:flex;align-items:center;gap:60px;padding:80px 60px;background:linear-gradient(135deg,#f8f9ff,#f0f4ff);min-height:70vh}.hero-content{flex:1;max-width:600px}.hero h1{font-size:48px;line-height:1.2;margin:0 0 24px;color:#1a1a2e}.hero-subtitle{font-size:20px;color:#555;margin-bottom:32px}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}.hero-image{flex:1;max-width:600px}.hero-image img{width:100%;border-radius:12px;box-shadow:0 20px 60px #00000026}.social-proof{padding:80px 60px;background:#fff;text-align:center}.social-proof h2{font-size:32px;margin-bottom:48px;color:#1a1a2e}.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:48px}.testimonial{background:#f8f9ff;padding:32px;border-radius:12px;font-style:italic;color:#444;border-left:4px solid var(--color-primary)}.trust-badges{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.badge{background:#e8f5e9;color:#2e7d32;padding:10px 20px;border-radius:20px;font-size:14px;font-weight:500}.problems{padding:80px 60px;background:#fef5f5;text-align:center}.problems h2{font-size:32px;margin-bottom:48px;color:#1a1a2e}.problem-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:48px;max-width:1200px;margin-left:auto;margin-right:auto}.problem{background:#fff;padding:24px;border-radius:12px;display:flex;align-items:flex-start;gap:16px;text-align:left;box-shadow:0 4px 15px #0000000d}.problem-icon{background:#ffcdd2;color:#c62828;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;flex-shrink:0}.problem p{margin:0;color:#555}.features{padding:80px 60px;background:#fff}.features h2{font-size:32px;text-align:center;margin-bottom:60px;color:#1a1a2e}.feature{display:flex;align-items:center;gap:60px;margin-bottom:80px;max-width:1200px;margin-left:auto;margin-right:auto}.feature-reverse{flex-direction:row-reverse}.feature-content{flex:1}.feature-content h3{font-size:28px;margin-bottom:16px;color:#1a1a2e}.feature-content p{color:#555;font-size:18px;margin-bottom:16px}.feature-result{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;font-size:18px}.feature-note{font-size:14px!important;color:#888!important;font-style:italic}.feature-image{flex:1;max-width:550px}.feature-image img{width:100%;border-radius:12px;box-shadow:0 10px 40px #0000001a}.features-cta{text-align:center;margin-top:60px}.how-it-works{padding:80px 60px;background:var(--gradient-brand);color:#fff;text-align:center}.how-it-works h2{font-size:32px;margin-bottom:60px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;max-width:1000px;margin:0 auto 40px}.step{background:#ffffff1a;padding:40px 30px;border-radius:12px}.step-number{background:#fff;color:var(--color-primary);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto 20px}.step h3{font-size:24px;margin-bottom:8px}.step-time{font-size:14px;opacity:.8;margin-bottom:16px}.step p:last-child{opacity:.9}.steps-testimonial{font-style:italic;opacity:.9;max-width:600px;margin:0 auto}.pricing{padding:80px 60px;background:#f8f9ff;text-align:center}.pricing h2{font-size:32px;margin-bottom:48px;color:#1a1a2e}.pricing-card{background:#fff;border-radius:16px;padding:48px;max-width:600px;margin:0 auto;box-shadow:0 10px 40px #0000001a}.pricing-card h3{font-size:24px;margin-bottom:16px;color:#1a1a2e}.price{font-size:64px;font-weight:700;color:var(--color-primary);margin-bottom:32px}.price span{font-size:20px;color:#666;font-weight:400}.pricing-features{text-align:left;margin-bottom:32px}.pricing-features h4{font-size:16px;color:#1a1a2e;margin:24px 0 12px}.pricing-features ul{list-style:none;padding:0;margin:0}.pricing-features li{color:#555;position:relative;padding:8px 0 8px 28px}.pricing-features li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700}.roi-calculator{background:#f8f9ff;border-radius:12px;padding:24px;margin-bottom:32px;text-align:left}.roi-calculator h4{font-size:18px;margin:0 0 12px;color:#1a1a2e}.roi-intro{font-style:italic;color:#666;margin-bottom:16px}.roi-items{display:flex;flex-direction:column;gap:8px}.roi-item{display:flex;justify-content:space-between;color:#555}.roi-amount{font-weight:600;color:#4caf50}.roi-total{border-top:2px solid #ddd;margin-top:12px;padding-top:12px}.roi-benefit{font-size:18px}.roi-benefit .roi-amount{color:var(--color-primary);font-size:20px}.consulting-note{font-size:14px;color:#666;margin-bottom:24px;text-align:center}.consulting-note a{color:var(--color-primary);text-decoration:none;font-weight:500}.consulting-note a:hover{text-decoration:underline}.faq{padding:80px 60px;background:#fff}.faq h2{font-size:32px;text-align:center;margin-bottom:48px;color:#1a1a2e}.faq-list{max-width:800px;margin:0 auto}.faq-item{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #eee}.faq-item:last-child{border-bottom:none}.faq-item h3{font-size:20px;color:#1a1a2e;margin-bottom:12px}.faq-item p{color:#555;margin:0}.faq-item ul{color:#555;margin:12px 0;padding-left:24px}.faq-item li{margin-bottom:8px}.integrations{padding:80px 60px;background:#f8f9ff;text-align:center}.integrations h2{font-size:32px;margin-bottom:32px;color:#1a1a2e}.integration-list{max-width:600px;margin:0 auto 24px}.integration-list p{color:#555;margin-bottom:12px}.integration-note{font-style:italic;color:#666}.final-cta{padding:100px 60px;background:linear-gradient(135deg,#1a1a2e,#2d2d44);color:#fff;text-align:center}.final-cta h2{font-size:36px;margin-bottom:16px}.final-subtitle{font-size:20px;opacity:.9;margin-bottom:48px}.benefits-recap{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:48px}.benefit-item{background:#ffffff1a;padding:12px 24px;border-radius:30px;font-size:14px}.benefit-item:before{content:"✓";color:#4caf50}.final-ctas{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.final-cta .trust-line{color:#ffffffb3}.landing-footer{padding:40px 60px;background:#1a1a2e;text-align:center;color:#ffffffb3}.footer-logo{height:32px;margin-bottom:12px;mix-blend-mode:screen}.landing-footer p{margin:0}@media (max-width: 968px){.hero{flex-direction:column;padding:60px 30px;text-align:center}.hero h1{font-size:36px}.hero-ctas{justify-content:center}.feature{flex-direction:column!important;text-align:center}.feature-content{order:1}.feature-image{order:2;max-width:100%}.landing-nav{padding:16px 20px}section{padding:60px 20px}.pricing-card{padding:32px 24px}.price{font-size:48px}}@media (max-width: 600px){.hero h1{font-size:28px}.hero-subtitle{font-size:16px}.btn-large{padding:14px 32px;font-size:16px}.social-proof h2,.problems h2,.features h2,.how-it-works h2,.pricing h2,.faq h2,.integrations h2,.final-cta h2{font-size:24px}.feature-content h3{font-size:22px}.nav-links{gap:12px}.nav-cta{padding:8px 16px;font-size:14px}}.pricing-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#333;background:#fff;min-height:100vh}.pp-nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.pp-nav-logo{height:36px;display:block}.pp-nav-links{display:flex;align-items:center;gap:1.5rem}.pp-nav-link{color:var(--color-primary);text-decoration:none;font-weight:500}.pp-nav-link:hover{text-decoration:underline}.pp-nav-cta{background:var(--gradient-brand);color:#fff;text-decoration:none;padding:.6rem 1.25rem;border-radius:8px;font-weight:600}.pp-nav-cta:hover{opacity:.92}.pp-btn{display:inline-block;padding:.85rem 1.75rem;border-radius:8px;text-decoration:none;font-weight:600;cursor:pointer;border:none;transition:opacity .15s ease,background .15s ease}.pp-btn-primary{background:var(--gradient-brand);color:#fff}.pp-btn-primary:hover{opacity:.92}.pp-btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.pp-btn-outline:hover{background:var(--color-primary);color:#fff}.pp-btn-large{padding:1rem 2.25rem;font-size:1.05rem}.pp-hero{text-align:center;padding:3.5rem 1.5rem 2rem;background:linear-gradient(135deg,#f8f9ff,#f0f4ff)}.pp-hero h1{font-size:2.5rem;color:#1a1a2e;margin:0 0 1rem}.pp-subtitle{font-size:1.15rem;color:#555;max-width:640px;margin:0 auto;line-height:1.6}.pp-plans{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:flex-start;max-width:1040px;margin:-1rem auto 0;padding:2rem 1.5rem}.pp-card{background:#fff;border-radius:16px;box-shadow:0 8px 30px #00000014;padding:2rem}.pp-card-main{flex:1 1 380px;max-width:460px;border:2px solid var(--color-primary);position:relative;text-align:center}.pp-badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:var(--gradient-brand);color:#fff;font-size:.8rem;font-weight:600;padding:.35rem 1rem;border-radius:999px}.pp-card-main h3{color:#1a1a2e;font-size:1.4rem;margin:.5rem 0 .75rem}.pp-price{font-size:3.2rem;font-weight:800;color:var(--color-primary);line-height:1}.pp-price span{font-size:1.1rem;font-weight:500;color:#666}.pp-price-sm{font-size:2.2rem}.pp-price-sub{color:#666;margin:.5rem 0 .75rem}.pp-annual{color:#444;margin-bottom:1.5rem}.pp-save{display:inline-block;background:#e8f5e9;color:#2e7d32;font-size:.8rem;font-weight:600;padding:.15rem .6rem;border-radius:999px;margin-left:.35rem}.pp-trust{color:#888;font-size:.9rem;margin:.75rem 0 0}.pp-features{text-align:left;margin-top:2rem;border-top:1px solid #eee;padding-top:1.5rem}.pp-features h4{color:#1a1a2e;margin:0 0 .75rem}.pp-features ul{list-style:none;padding:0;margin:0}.pp-features li{color:#555;padding:.4rem 0 .4rem 1.75rem;position:relative}.pp-features li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700}.pp-addons{flex:1 1 320px;max-width:380px;display:flex;flex-direction:column;gap:1.5rem}.pp-card-addon{text-align:left}.pp-addon-tag{display:inline-block;background:#f0f4ff;color:var(--color-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .7rem;border-radius:999px;margin-bottom:.75rem}.pp-card-addon h3{color:#1a1a2e;font-size:1.2rem;margin:0 0 .5rem}.pp-addon-desc{color:#555;line-height:1.55;margin:.75rem 0 0}.pp-value{background:#f8f9ff;text-align:center;padding:3rem 1.5rem}.pp-value h2{color:#1a1a2e;font-size:1.8rem;margin:0 0 1rem}.pp-value p{color:#555;max-width:680px;margin:0 auto;line-height:1.7;font-size:1.05rem}.pp-faq{max-width:760px;margin:0 auto;padding:3rem 1.5rem}.pp-faq h2{text-align:center;color:#1a1a2e;font-size:1.8rem;margin:0 0 2rem}.pp-faq-item{border-bottom:1px solid #eee;padding:1.25rem 0}.pp-faq-item h3{color:#1a1a2e;font-size:1.1rem;margin:0 0 .5rem}.pp-faq-item p{color:#555;line-height:1.6;margin:0}.pp-final-cta{background:var(--gradient-brand);color:#fff;text-align:center;padding:3.5rem 1.5rem}.pp-final-cta h2{font-size:1.9rem;margin:0 0 .75rem}.pp-final-cta p{opacity:.92;margin:0 0 1.75rem}.pp-final-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.pp-final-cta .pp-btn-primary{background:#fff;color:var(--color-primary)}.pp-final-cta .pp-btn-outline{color:#fff;border-color:#fff}.pp-final-cta .pp-btn-outline:hover{background:#fff;color:var(--color-primary)}.pp-footer{text-align:center;padding:2.5rem 1.5rem;background:#1a1a2e;color:#ccc}.pp-footer-logo{height:32px;margin-bottom:.75rem;mix-blend-mode:screen}.pp-footer p{margin:0;color:#aaa}@media (max-width: 768px){.pp-hero h1{font-size:2rem}.pp-nav{padding:1rem}.pp-nav-links{gap:1rem}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.small{width:400px}.modal-content.medium{width:600px}.modal-content.large{width:1200px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:20px;overflow-y:auto}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:80px}.form-group .error{color:#e74c3c;font-size:12px;margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.form-checkbox{display:flex;align-items:center;gap:8px}.form-checkbox input{width:auto}.help-content{max-height:70vh;overflow-y:auto;padding:0 4px}.help-section{margin-bottom:24px}.help-section:last-child{margin-bottom:0}.help-section h3{color:#2c5282;font-size:1.1rem;font-weight:600;margin-top:0;margin-bottom:12px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.help-section p{margin:8px 0;line-height:1.6;color:#2d3748}.help-section p:first-of-type{margin-top:0}.help-section strong{color:#1a202c;font-weight:600}.help-section a{color:#3182ce;text-decoration:none}.help-section a:hover{text-decoration:underline}.help-section br{display:block;content:"";margin:8px 0}.help-section p:has(>span:first-child:contains("•")){padding-left:20px}.help-button{background:none;border:none;cursor:pointer;padding:6px;display:inline-flex;align-items:center;justify-content:center;color:#4a5568;transition:color .2s ease,transform .2s ease;border-radius:4px}.help-button:hover{color:#2d3748;background-color:#edf2f7;transform:scale(1.1)}.help-button:active{transform:scale(.95)}.help-button svg{display:block}.dashboard{padding:20px}.dashboard .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard .page-header h1{margin:0;font-size:28px;color:var(--color-text)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.kpi-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius-md);padding:18px 20px;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-value{font-size:34px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--color-text)}.kpi-label{margin-top:8px;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.kpi-hint{margin-top:2px;font-size:12px;color:var(--color-text-muted)}.kpi-card.tone-warning{border-left-color:var(--color-warning)}.kpi-card.tone-danger{border-left-color:var(--color-danger)}.kpi-card.tone-ok{border-left-color:var(--color-success)}.kpi-card.tone-neutral{border-left-color:var(--color-primary)}.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.quick-action{display:inline-block;padding:10px 16px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);font-weight:500;text-decoration:none;transition:background .15s ease,border-color .15s ease}.quick-action:hover{background:#eef1f4;border-color:#cbd5e1}.dashboard-section{margin-bottom:28px}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.section-head h2{margin:0;font-size:18px;color:var(--color-text)}.section-link{font-size:14px;font-weight:500;color:var(--color-primary);text-decoration:none}.section-link:hover{text-decoration:underline}.dashboard .data-table{width:100%;border-collapse:collapse;background:var(--color-surface);box-shadow:var(--shadow-md);border-radius:var(--radius-md);overflow:hidden}.dashboard .data-table th,.dashboard .data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border)}.dashboard .data-table th{font-weight:600;color:var(--color-text-secondary)}.dashboard .data-table tbody tr:hover{background:var(--color-surface-muted)}.dashboard .empty-state{text-align:center;padding:40px 20px;background:var(--color-surface-muted);border-radius:var(--radius-md);color:var(--color-text-muted)}.dashboard .muted{color:var(--color-text-muted)}@media (max-width: 768px){.kpi-value{font-size:28px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gradient-brand);padding:20px}.login-card{background:#fff;border-radius:8px;padding:40px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-logo{display:block;max-width:180px;height:auto;margin:0 auto 10px}.login-card h2{margin:0 0 30px;color:#666;font-size:20px;font-weight:400;text-align:center}.success-message{background-color:#edf8ed;color:#2e7d32;padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid #b9e0bb}.forgot-password-link{margin-top:-8px;margin-bottom:8px;text-align:right}.forgot-password-link a{color:var(--color-primary);text-decoration:none;font-size:14px}.forgot-password-link a:hover{text-decoration:underline}.signup-link{margin-top:20px;margin-bottom:20px;text-align:center;color:#666}.signup-link a{color:var(--color-primary);text-decoration:none;font-weight:500}.signup-link a:hover{text-decoration:underline}.signup-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gradient-brand);padding:20px}.signup-card{background:#fff;border-radius:8px;padding:40px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.signup-logo{display:block;max-width:180px;height:auto;margin:0 auto 10px}.signup-card h2{margin:0 0 30px;color:#666;font-size:20px;font-weight:400;text-align:center}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.submit-button{width:100%;padding:12px;background:var(--gradient-brand);color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;margin-top:10px}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid #fcc}.login-link{margin-top:20px;margin-bottom:20px;text-align:center;color:#666}.login-link a{color:var(--color-primary);text-decoration:none;font-weight:500}.login-link a:hover{text-decoration:underline}.csv-upload{margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.csv-upload-actions{display:flex;gap:10px;align-items:center}.upload-status{margin-top:10px;padding:8px 12px;border-radius:4px;font-size:14px}.upload-status.uploading{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.upload-status.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.upload-status.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.confirm-new-entities,.confirm-upload{display:flex;flex-direction:column;gap:20px}.confirm-upload p{margin:0;font-size:14px;color:#333}.info-message{padding:12px;background-color:#e8f4f8;border-left:4px solid #0066cc;border-radius:4px;margin:0;font-size:14px;line-height:1.5}.warning-message{padding:12px;background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;font-size:13px;line-height:1.5}.entity-section{display:flex;flex-direction:column;gap:10px}.entity-section h3{margin:0;font-size:16px;font-weight:600;color:#333}.section-description{margin:0;font-size:13px;color:#666}.entity-list{display:flex;flex-direction:column;gap:8px;padding:10px;background-color:#f8f9fa;border-radius:4px;max-height:200px;overflow-y:auto}.entity-checkbox{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;border-radius:4px;transition:background-color .2s}.entity-checkbox:hover{background-color:#e9ecef}.entity-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.entity-checkbox span{font-size:14px;color:#333}.reorder-level-calculation-modal{display:flex;flex-direction:column;gap:20px}.date-range-section{display:flex;gap:15px;align-items:flex-end;padding:15px;background:#f5f5f5;border-radius:4px}.date-range-section .form-group{display:flex;flex-direction:column;gap:5px}.date-range-section label{font-size:14px;font-weight:500;color:#333}.date-range-section input[type=date]{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.info-banner{padding:12px 15px;background:#e8f4f8;border-left:4px solid var(--color-primary);border-radius:4px;font-size:14px;color:#2c3e50}.results-header{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.results-header h3{margin:0;font-size:18px;color:#333}.selection-controls{display:flex;gap:10px;align-items:center}.selection-count{font-size:14px;color:#666}.results-table-container{max-height:500px;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.results-table{width:100%;border-collapse:collapse;font-size:14px}.results-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.results-table th{padding:12px 8px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.results-table td{padding:10px 8px;border-bottom:1px solid #eee;color:#555}.results-table tbody tr:hover{background:#f8f9fa}.results-table tbody tr:last-child td{border-bottom:none}.calculated-rol{font-weight:600;color:#27ae60}.source-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.source-item{background:#d4edda;color:#155724}.source-vendor{background:#d1ecf1;color:#0c5460}.source-global{background:#fff3cd;color:#856404}.source-none{background:#f8d7da;color:#721c24}.skipped-section{margin-top:20px;border-top:2px solid #ddd;padding-top:15px}.skipped-section .btn-link{font-size:14px;color:#666;background:none;border:none;cursor:pointer;padding:5px 0;text-align:left}.skipped-section .btn-link:hover{color:#333;text-decoration:underline}.skipped-items{margin-top:10px;padding:15px;background:#fff3cd;border-radius:4px}.skip-reason{color:#856404;font-style:italic}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid #ddd;margin-top:10px}.btn-primary{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#fff;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.btn-secondary:hover:not(:disabled){background:#f8f9fa}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;text-decoration:underline;padding:0}.btn-link:hover:not(:disabled){color:var(--color-primary-hover)}.btn-link:disabled{color:#bdc3c7;cursor:not-allowed;text-decoration:none}.add-by-barcode-modal{display:flex;flex-direction:column;gap:20px}.barcode-scan-section{display:flex;flex-direction:column;gap:15px}.barcode-input-row{display:flex;gap:10px;align-items:flex-end}.barcode-input-row .form-group{flex:1;display:flex;flex-direction:column;gap:5px}.barcode-input-row label{font-size:14px;font-weight:500;color:#333}.barcode-lookup-input{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:16px;font-family:Courier New,monospace;letter-spacing:1px;width:100%}.barcode-lookup-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3498db33}.barcode-format-hint{font-size:13px;color:#888;margin:0}.barcode-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:#666;font-size:14px}.barcode-loading .spinner{width:24px;height:24px;border:3px solid #eee;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.barcode-error{padding:12px 15px;background:#fdf0f0;border-left:4px solid #e74c3c;border-radius:4px;font-size:14px;color:#721c24}.barcode-no-results{padding:30px 20px;text-align:center;color:#666}.barcode-no-results p{margin:0 0 15px;font-size:15px}.barcode-results-section{display:flex;flex-direction:column;gap:15px}.barcode-results-section h3{margin:0;font-size:16px;color:#333}.barcode-gs1-info{padding:10px 15px;background:#f0f7ff;border-radius:4px;font-size:13px;color:#2c3e50;display:flex;gap:15px;flex-wrap:wrap}.barcode-gs1-info span{white-space:nowrap}.barcode-gs1-info strong{color:#333}.result-card{padding:20px;border:1px solid #ddd;border-radius:6px;background:#fafafa}.result-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-card-field{display:flex;flex-direction:column;gap:2px}.result-card-field.full-width{grid-column:1 / -1}.result-card-field label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.result-card-field span{font-size:14px;color:#333}.barcode-results-table-container{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.barcode-results-table{width:100%;border-collapse:collapse;font-size:14px}.barcode-results-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.barcode-results-table th{padding:10px 8px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.barcode-results-table td{padding:10px 8px;border-bottom:1px solid #eee;color:#555}.barcode-results-table tbody tr:hover{background:#f0f7ff;cursor:pointer}.barcode-results-table tbody tr:last-child td{border-bottom:none}.source-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.source-gudid{background:#d4edda;color:#155724}.source-openfda{background:#d1ecf1;color:#0c5460}.source-dailymed{background:#fff3cd;color:#856404}.barcode-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid #ddd}.btn-select{padding:6px 14px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.btn-select:hover{background:var(--color-primary-hover)}.data-table{width:100%;background:#fff;border-collapse:collapse;box-shadow:0 2px 4px #0000001a;border-radius:8px;overflow:hidden}.data-table thead{background-color:#34495e;color:#fff}.data-table th{padding:16px;text-align:left;font-weight:600}.data-table td{padding:16px;border-top:1px solid #eee}.status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status.active{background-color:#d4edda;color:#155724}.status.inactive{background-color:#f8d7da;color:#721c24}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline}.btn-link:hover{color:var(--color-primary-hover)}.vendor-items-list{padding:20px}.filters{display:flex;gap:20px;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px}.filter-group{display:flex;flex-direction:column;gap:6px;flex:1}.filter-group label{font-weight:500;color:#495057;font-size:14px}.filter-group select{padding:8px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}.badge-success{background-color:#d4edda;color:#155724}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:14px;padding:0}.btn-danger-small{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.btn-danger-small:hover{background-color:#c82333}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin:0}.pack-sizes-container{width:100%}.pack-sizes-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s ease;margin-bottom:-2px}.tab-button:hover{color:#333;background-color:#f5f5f5}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pack-sizes-content{width:100%}.invoice-upload-modal{display:flex;flex-direction:column;gap:1.5rem}.info-message{margin:0;padding:1rem;background-color:#e3f2fd;border-left:4px solid var(--color-primary);border-radius:4px;font-size:.9rem;line-height:1.5}.file-upload-section{display:flex;flex-direction:column;gap:.75rem}.file-upload-label{display:inline-block}.selected-file{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#f5f5f5;border-radius:4px;font-size:.9rem}.file-name{font-weight:500;color:#333}.file-size{color:#666;font-size:.85rem}.error-message{margin:0;padding:.75rem;background-color:#ffebee;border-left:4px solid #f44336;border-radius:4px;color:#c62828;font-size:.9rem}.invoice-review-modal{display:flex;flex-direction:column;gap:1.5rem;max-height:80vh;overflow-y:auto}.invoice-header-section{padding:1rem;background-color:#f8f9fa;border-radius:8px}.invoice-header-section h3{margin:0 0 1rem;font-size:1.1rem;color:#333}.invoice-header-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.header-field{display:flex;flex-direction:column;gap:.25rem}.header-field label{font-size:.85rem;color:#666;font-weight:500}.header-field span{font-size:1rem;color:#333}.total-amount{font-weight:600;color:var(--color-primary);font-size:1.1rem!important}.summary-flags{padding:1rem;background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px}.summary-flags h4{margin:0 0 .75rem;font-size:1rem;color:#856404}.summary-flags ul{margin:0;padding-left:1.5rem}.summary-flags li{color:#856404;line-height:1.6}.invoice-lines-section h3{margin:0 0 1rem;font-size:1.1rem;color:#333}.invoice-lines-table{width:100%;border-collapse:collapse;font-size:.9rem}.invoice-lines-table th{background-color:#f5f5f5;padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid #ddd}.invoice-lines-table td{padding:.75rem;border-bottom:1px solid #eee}.line-matched{background-color:#f1f8f4}.line-with-issues{background-color:#fff3cd}.line-unmatched{background-color:#f8d7da}.item-code{font-weight:500;color:#333}.unmatched-label{font-style:italic;color:var(--color-text-muted)}.qty-cell,.price-cell{text-align:right}.qty-input,.price-input{width:80px;padding:.375rem;border:1px solid #ddd;border-radius:4px;text-align:right;font-family:inherit}.qty-input:focus,.price-input:focus{outline:none;border-color:var(--color-primary)}.issues-cell{display:flex;flex-direction:column;gap:.25rem}.issue-badge{display:inline-block;padding:.25rem .5rem;background-color:#f44336;color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.status-ok{background-color:#4caf50;color:#fff}.status-warning{background-color:#ff9800;color:#fff}.warning-section{padding:1rem;background-color:#ffebee;border-left:4px solid #f44336;border-radius:4px;color:#c62828;font-size:.9rem;line-height:1.5}.warning-section strong{font-weight:600}.barcode-input-container{display:flex;flex-direction:column;gap:6px}.barcode-input-label{font-weight:600;font-size:14px;color:#333}.barcode-input-wrapper{position:relative;display:flex;align-items:center}.barcode-input{width:100%;padding:10px 36px 10px 12px;font-size:14px;border:2px solid #ddd;border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s}.barcode-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.barcode-input.scanning{border-color:#ffc107;background-color:#fffbeb}.barcode-input.success{border-color:#28a745}.barcode-input.error{border-color:#dc3545}.barcode-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.barcode-input-spinner{position:absolute;right:12px;width:16px;height:16px;border:2px solid #ddd;border-top-color:var(--color-primary);border-radius:50%;animation:barcode-spin .8s linear infinite}@keyframes barcode-spin{to{transform:rotate(360deg)}}.barcode-input-result{font-size:13px;padding:6px 10px;border-radius:4px;animation:barcode-fade-in .2s ease-in}.barcode-input-result.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.barcode-input-result.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}@keyframes barcode-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.receive-po{max-width:1200px}.page-header .header-actions{display:flex;gap:10px}.po-info{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;box-shadow:0 2px 4px #0000001a}.receive-line{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #eee}.line-header h3{margin:0;font-size:18px}.line-info{color:#666;font-size:14px}.batch-entry{background:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:10px;position:relative;border-left:3px solid transparent;transition:border-color .2s}.batch-entry.batch-complete{border-left-color:#28a745}.batch-entry .form-row{display:grid;grid-template-columns:1.2fr 1fr .9fr .7fr .75fr 1fr .9fr .9fr;gap:10px;align-items:end}.batch-remove-btn{position:absolute;top:8px;right:8px;width:22px;height:22px;border:none;background:#dee2e6;color:#6c757d;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}.batch-remove-btn:hover{background:#dc3545;color:#fff}.field-tooltip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#adb5bd;color:#fff;font-size:9px;font-style:normal;font-weight:700;cursor:help;margin-left:4px;position:relative;vertical-align:middle;flex-shrink:0}.field-tooltip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:5px 8px;border-radius:4px;font-size:11px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100;width:max-content;max-width:180px;white-space:normal;text-align:center;font-weight:400}.field-tooltip:hover:after{opacity:1}.read-only-value{padding:8px 4px;font-weight:600;color:#495057;font-size:14px;min-height:38px;display:flex;align-items:center}.read-only-badge{font-size:9px;color:#adb5bd;font-weight:500;margin-left:4px;text-transform:uppercase;letter-spacing:.4px;vertical-align:middle}.advanced-toggle{background:none;border:none;color:#6c757d;font-size:12px;cursor:pointer;padding:4px 0;margin-top:8px;display:flex;align-items:center;gap:6px}.advanced-toggle:hover{color:#343a40}.advanced-toggle.has-values{color:#856404}.advanced-dot{width:6px;height:6px;border-radius:50%;background:#ffc107;flex-shrink:0}.advanced-row{display:grid;grid-template-columns:1.5fr 1.5fr;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed #dee2e6}.btn-small{padding:8px 12px;font-size:13px}@media (max-width: 1100px){.batch-entry .form-row{grid-template-columns:repeat(4,1fr)}.advanced-row{grid-template-columns:1fr}}.stock-location{max-width:1200px}.location-selector{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.location-select{width:100%;max-width:400px}.par-ok{background-color:#d4edda;color:#155724}.par-low{background-color:#fff3cd;color:#856404}.par-critical{background-color:#f8d7da;color:#721c24}.batch-label{font-family:monospace;font-size:13px;color:#333}.new-batch-row td{background-color:#f3f9ff}.add-batch-row td{padding:6px 8px;border-bottom:1px solid #eee}.btn-link{background:none;border:none;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;padding:2px 0}.btn-link:hover{text-decoration:underline}.btn-link-danger{background:none;border:none;color:#b91c1c;font-size:13px;cursor:pointer;padding:2px 0}.btn-link-danger:hover{text-decoration:underline}.stock-count-by-item{max-width:1200px}.item-selector{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.autocomplete-wrapper{position:relative;width:100%;max-width:600px}.search-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f31a}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:400px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;z-index:1000;margin-top:-1px}.autocomplete-item{padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item .item-code{font-weight:600;color:var(--color-primary);min-width:100px;font-size:13px}.autocomplete-item .item-name{color:#333;font-size:14px;flex:1}.autocomplete-info{padding:10px 12px;font-size:12px;color:#666;background-color:#f9f9f9;border-top:1px solid #e0e0e0;text-align:center}.autocomplete-empty{padding:10px 12px;text-align:center;color:var(--color-text-muted);font-size:14px}.item-select{width:100%;max-width:600px}.counts-section,.comment-section{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.variance{padding:4px 8px;border-radius:4px;font-weight:600;font-size:14px}.variance-positive{background-color:#d4edda;color:#155724}.variance-negative{background-color:#f8d7da;color:#721c24}.variance-neutral{background-color:#e8e8e8;color:#555}.count-history{max-width:1400px;margin:0 auto;padding:20px}.count-history .page-header{margin-bottom:20px}.count-history .filters{margin-bottom:20px;padding:15px;background-color:#f5f5f5;border-radius:4px}.count-history .form-group{margin-bottom:0}.count-history .location-select{min-width:250px}.count-history .empty-state{text-align:center;padding:40px;background-color:#f5f5f5;border-radius:4px;color:#666}.count-history .sessions-list{background-color:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.count-history .data-table{width:100%;border-collapse:collapse}.count-history .data-table th{background-color:#f5f5f5;padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #ddd}.count-history .data-table td{padding:12px;border-bottom:1px solid #eee}.count-history .data-table tbody tr:hover{background-color:#f9f9f9}.count-history .btn-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.count-history .btn-link:hover{color:var(--color-primary-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 12px #00000026}.modal-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:24px}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:var(--color-text-muted);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{color:#333}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.session-info{margin-bottom:20px;padding:15px;background-color:#f5f5f5;border-radius:4px}.info-row{margin-bottom:10px}.info-row:last-child{margin-bottom:0}.variance-details{margin-top:20px}.variance-details h3{margin-bottom:15px;font-size:18px}.session-notes{margin-top:20px;padding:15px;background-color:#fffbeb;border-left:4px solid #fbbf24;border-radius:4px}.session-notes p{margin:5px 0 0}.variance{font-weight:600;padding:2px 6px;border-radius:3px;display:inline-block}.variance-positive{color:#16a34a;background-color:#dcfce7}.variance-negative{color:#dc2626;background-color:#fee2e2}.variance-neutral{color:#666;background-color:#f5f5f5}.stock-count-wrapper{max-width:1400px;margin:0 auto}.stock-count-wrapper .page-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.stock-count-wrapper .page-header h1{margin:0}.csv-upload-section{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.csv-upload-toolbar{display:flex;gap:10px;align-items:center}.download-note{font-size:.85rem;color:#666;font-style:italic}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s}.tab:hover{color:#333;background-color:#f5f5f5}.tab-content .page-header{display:none}.column-note{font-size:.75em;font-weight:400;color:#666}.manage-room{max-width:1200px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.mode-selector{display:flex;gap:10px}.mode-selector button{padding:8px 16px;border-radius:4px;border:1px solid #ddd;cursor:pointer;font-size:14px}.mode-selector button.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.mode-selector button.btn-secondary{background:#fff;color:#333}.mode-selector button.btn-secondary:hover{background:#f5f5f5}.setup-form{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-section{margin-bottom:30px}.form-section h2{margin-top:0;margin-bottom:10px;font-size:20px;color:#333}.section-description{color:#666;font-size:14px;margin-bottom:20px}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.search-results{margin-top:10px;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;background:#fff}.search-result-item{padding:10px;cursor:pointer;border-bottom:1px solid #eee}.search-result-item:hover{background:#f5f5f5}.search-result-item:last-child{border-bottom:none}.search-result-item.out-of-stock{opacity:.7}.stock-badge{display:inline-block;padding:2px 8px;background-color:#f8d7da;color:#721c24;border-radius:12px;font-size:11px;font-weight:600;margin-left:8px}.out-of-stock-row td{color:#856404}.empty-items{padding:40px;text-align:center;color:var(--color-text-muted);background:#f9f9f9;border-radius:4px}.items-table{width:100%;border-collapse:collapse;margin-top:20px}.items-table thead{background:#f5f5f5}.items-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.items-table td{padding:12px;border-bottom:1px solid #eee}.items-table tr:hover{background:#f9f9f9}.qty-input:focus{outline:none;border-color:var(--color-primary)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-primary:hover:not(:disabled){background:var(--color-primary-active)}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary:hover:not(:disabled){background:#f5f5f5}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.empty-state p{color:#27ae60;font-size:18px;font-weight:500}.status-out{background-color:#e74c3c;color:#fff}.status-critical{background-color:#e67e22;color:#fff}.status-low{background-color:#f39c12;color:#fff}.status-ok{background-color:#27ae60;color:#fff}.create-po-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.po-lines-section{border:1px solid #ddd;border-radius:8px;padding:1rem;background-color:#f8f9fa}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;font-size:1.1rem;color:#333}.empty-message{text-align:center;color:#666;padding:2rem;font-style:italic}.po-lines-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:4px;overflow:hidden}.po-lines-table th{background-color:#f5f5f5;padding:.75rem;text-align:left;font-weight:600;font-size:.9rem;border-bottom:2px solid #ddd}.po-lines-table td{padding:.75rem;border-bottom:1px solid #eee}.po-lines-table tbody tr:hover{background-color:#f9f9f9}.item-select{width:100%;padding:.375rem;border:1px solid #ddd;border-radius:4px;font-family:inherit}.qty-input,.price-input,.pack-desc-input{width:80px;padding:.375rem;border:1px solid #ddd;border-radius:4px;font-family:inherit}.qty-input,.price-input{text-align:right}.pack-desc-input{width:150px;text-align:left;resize:vertical;min-height:40px}.qty-input:focus,.price-input:focus,.pack-desc-input:focus,.item-select:focus{outline:none;border-color:var(--color-primary)}.total-cell{text-align:right;font-weight:500}.po-lines-table tfoot{background-color:#f5f5f5}.po-lines-table tfoot td{border-bottom:none;padding:1rem .75rem}.total-label{text-align:right}.btn-small{padding:.375rem .75rem;font-size:.85rem}.low-stock-section{border:2px solid #ff9800;border-radius:8px;padding:1rem;background-color:#fff3e0;margin-bottom:1.5rem}.low-stock-section h3{margin:0 0 .5rem;font-size:1.1rem;color:#e65100}.section-description{margin:0 0 1rem;color:#666;font-size:.9rem}.low-stock-items{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.low-stock-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#fff;border:1px solid #ffb74d;border-radius:4px;transition:background-color .2s}.low-stock-item:hover{background-color:#fff8e1}.item-info{display:flex;gap:1rem;align-items:center;flex:1}.item-code{font-weight:600;color:var(--color-primary-hover);min-width:80px}.item-name{flex:1;color:#333}.stock-info{font-size:.85rem;color:#e65100;font-weight:500;margin-right:8px}.btn-add-small{width:32px;height:32px;border-radius:50%;background-color:#4caf50;color:#fff;border:none;font-size:1.2rem;font-weight:700;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.btn-add-small:hover:not(:disabled){background-color:#45a049}.btn-add-small:disabled{opacity:.5;cursor:not-allowed}.add-item-search{margin-bottom:1rem}.search-input-wrapper{position:relative}.search-input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.search-input:focus{outline:none;border-color:var(--color-primary)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background-color:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;z-index:1000}.autocomplete-item{display:flex;gap:1rem;align-items:center;padding:.75rem;cursor:pointer;transition:background-color .2s}.autocomplete-item:hover{background-color:#f5f5f5}.autocomplete-item .item-code{min-width:80px}.autocomplete-item .item-name{flex:1}.autocomplete-item .pack-size{font-size:.85rem;color:#666;font-style:italic}.autocomplete-empty{padding:1rem;text-align:center;color:var(--color-text-muted);font-style:italic}.status-draft{background-color:#e8e8e8;color:#555}.status-sent{background-color:#d1ecf1;color:#0c5460}.status-partial{background-color:#fff3cd;color:#856404}.status-closed{background-color:#d4edda;color:#155724}.status-cancelled{background-color:#f8d7da;color:#721c24}.session-settings{max-width:800px;padding:20px}.session-settings h1{margin-bottom:30px;color:#2c3e50}.settings-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.settings-section h2{margin-top:0;margin-bottom:20px;color:#34495e;font-size:20px;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:8px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3498db1a}.help-text{color:#666;font-size:14px;margin-bottom:20px;line-height:1.5}.help-text a{color:var(--color-primary);text-decoration:none}.help-text a:hover{text-decoration:underline}.checkbox-list{display:flex;flex-direction:column;gap:12px;margin-top:10px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:10px;background-color:#f8f9fa;border-radius:4px;cursor:pointer;transition:background-color .2s}.checkbox-item:hover{background-color:#e9ecef}.checkbox-item input[type=checkbox]{width:auto;margin:0;cursor:pointer}.checkbox-item span{font-size:14px;color:#495057}.connection-status{padding:15px;background-color:#e8f4f8;border-left:4px solid var(--color-primary);border-radius:4px;margin-top:20px;font-size:14px}.status-success{color:#27ae60;font-weight:600}.status-error{color:#e74c3c;font-weight:600}.form-actions{display:flex;gap:10px;margin-top:20px}.btn-primary,.btn-secondary,.btn-danger{border:none;padding:12px 24px;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .2s}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.ai-template-generator{max-width:1200px}.generator-section,.generated-section,.help-section{background:#fff;padding:25px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.generator-section h2,.generated-section h2,.help-section h3{margin:0 0 15px;font-size:18px;color:#333}.section-description{color:#666;margin-bottom:20px;line-height:1.6}.template-type-selector{display:flex;gap:20px}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-option input[type=radio]{width:auto;cursor:pointer}.radio-option span{font-weight:500}.template-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.generated-section h3{font-size:16px;margin:20px 0 15px;color:#555}.empty-items{text-align:center;padding:40px 20px;color:var(--color-text-muted);font-style:italic;background:#f8f9fa;border-radius:6px}.items-table{width:100%;border-collapse:collapse;margin-bottom:20px}.items-table thead{background-color:#f8f9fa}.items-table th,.items-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.items-table th{font-weight:600;color:#555}.qty-input{width:80px;padding:6px;border:1px solid #ddd;border-radius:4px;text-align:center}.help-section ul{margin:15px 0 0 20px;line-height:1.8}.help-section li{color:#666;margin-bottom:8px}.help-section li::marker{color:var(--color-primary)}.rooms-and-procedures-list{max-width:1200px}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #eee}.tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;color:#666;font-weight:500;transition:all .2s}.tab:hover{color:var(--color-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.data-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 4px #0000001a;border-radius:4px;overflow:hidden}.data-table thead{background:#f8f9fa}.data-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.data-table td{padding:12px;border-bottom:1px solid #eee}.data-table tr:hover{background:#f8f9fa}.status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary:hover{background:var(--color-primary-active)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;padding:0;font-size:14px}.btn-link:hover{color:var(--color-primary-active)}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-secondary{background:#fff;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px}.btn-secondary:hover{background:#f5f5f5}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.template-items-editor{padding:10px}.template-items-editor .form-group{margin-bottom:20px}.template-items-editor .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057}.template-items-editor .form-group input{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.template-items-editor .search-result-item{padding:10px;cursor:pointer;border-bottom:1px solid #eee}.template-items-editor .search-result-item:hover{background-color:#f8f9fa}.template-items-editor .search-result-item:last-child{border-bottom:none}.active-procedures{padding:20px}.status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status.open{background-color:#d4edda;color:#155724}.status.posted{background-color:#cce5ff;color:#004085}.status.adjusted{background-color:#fff3cd;color:#856404}.edit-procedure-form{padding:10px}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.form-group input:disabled{background-color:#e9ecef;color:#6c757d}.item-quantities label{display:flex;align-items:center;gap:5px;font-weight:400;margin:0}.item-quantities input[type=number]{width:60px;padding:5px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.stock-badge{display:inline-block;padding:2px 8px;background-color:#f8d7da;color:#721c24;border-radius:12px;font-size:11px;font-weight:600}.out-of-stock-row{background-color:#fff3cd}.out-of-stock-row .item-info{color:#856404}.finished-procedures{padding:20px}.page-header{margin-bottom:20px}.page-header h1{margin:0 0 5px;font-size:28px;color:#2c3e50}.subtitle{color:#6c757d;margin:0}.empty-state p{font-size:18px;color:#6c757d}.view-procedure-form{padding:10px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057}.form-group input[type=text],.form-group textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.form-group input:disabled,.form-group textarea:disabled{background-color:#e9ecef;color:#6c757d}.items-list{border:1px solid #dee2e6;border-radius:4px;padding:10px;max-height:300px;overflow-y:auto}.item-row{padding:10px;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.item-row:last-child{border-bottom:none}.item-info{flex:1}.item-quantities{display:flex;gap:15px;align-items:center}.items-on-hand{padding:20px}.page-header h1{margin:0;font-size:28px;color:#2c3e50}.empty-state{text-align:center;padding:60px 20px;background-color:#f8f9fa;border-radius:8px}.empty-state p{font-size:18px;color:#6c757d;margin-bottom:20px}.data-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 4px #0000001a;border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.data-table th{font-weight:600;color:#495057}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:#e9ecef!important}.search-bar{margin-bottom:20px}.search-input{width:100%;max-width:500px;padding:12px 16px;font-size:16px;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 1px 3px #0000001a;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.date-input{padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:150px}.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{transform:none}.btn-sm{padding:6px 12px;font-size:13px}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-active)}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover:not(:disabled){background-color:#218838}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.dispensing-history{padding:20px;max-width:1400px;margin:0 auto}.page-header h1{margin:0;font-size:24px}.filter-controls{display:flex;gap:10px;align-items:center}.date-filter-select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer}.date-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.tabs{display:flex;gap:2px;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.tab{padding:12px 24px;background-color:#f5f5f5;border:none;border-radius:4px 4px 0 0;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.tab:hover{background-color:#e8e8e8}.tab.active{background-color:var(--color-primary);color:#fff}.tab-content{min-height:400px}.loading{text-align:center;padding:40px;color:#666}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-state p{font-size:16px;margin:0}.data-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 1px 3px #0000001a;border-radius:4px;overflow:hidden}.data-table thead{background-color:#f8f9fa}.data-table th{padding:12px;text-align:left;font-weight:600;font-size:13px;color:#495057;border-bottom:2px solid #dee2e6}.data-table td{padding:12px;border-bottom:1px solid #e9ecef;font-size:14px}.data-table tbody tr:hover{background-color:#f8f9fa}.data-table tbody tr:last-child td{border-bottom:none}.btn-sm{padding:6px 12px;font-size:12px}.btn-secondary{background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:#5a6268}.procedure-details{padding:10px}.detail-row{display:flex;padding:10px 0;border-bottom:1px solid #eee}.detail-row strong{min-width:140px;color:#495057}.detail-row span{color:#212529}.procedure-details h3{margin-top:20px;margin-bottom:12px;font-size:16px;color:#212529}.detail-table{width:100%;border-collapse:collapse;margin-top:10px}.detail-table th{padding:8px;text-align:left;background-color:#f8f9fa;font-weight:600;font-size:13px;color:#495057;border-bottom:2px solid #dee2e6}.detail-table td{padding:8px;border-bottom:1px solid #e9ecef;font-size:13px}.detail-table tbody tr:last-child td{border-bottom:none}.expiry-tracking-page{padding:20px}.page-header h1{margin:0;font-size:24px;color:#333}.header-actions{display:flex;gap:12px;align-items:center}.tabs{display:flex;gap:12px;margin-bottom:20px}.tab{padding:10px 20px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s}.tab:hover{background-color:#e8e8e8;border-color:#ccc}.tab.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tab.active:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.table-container{overflow-x:auto;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a}.data-table{width:100%;border-collapse:collapse}.data-table th{background-color:#f5f5f5;padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;position:sticky;top:0}.data-table td{padding:12px;border-bottom:1px solid #e0e0e0;color:#555}.data-table tbody tr{transition:background-color .2s}.data-table tbody tr:hover{background-color:#f9f9f9}.data-table tbody tr.expired-row{background-color:#ffebee}.data-table tbody tr.expired-row:hover{background-color:#ffcdd2}.data-table tbody tr.urgent-row{background-color:#fff3e0}.data-table tbody tr.urgent-row:hover{background-color:#ffe0b2}.expired-text{color:#d32f2f;font-weight:600}.urgent-text{color:#f57c00;font-weight:600}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.error-message{background-color:#ffebee;color:#c62828;padding:12px 16px;border-radius:4px;margin-bottom:20px;border-left:4px solid #d32f2f}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted);font-size:16px}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:active{background-color:#0d47a1}.btn-danger{background-color:#d32f2f;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c62828}.btn-danger:active:not(:disabled){background-color:#b71c1c}.btn-danger:disabled{background-color:#e57373;cursor:not-allowed;opacity:.6}.tab-content{margin-top:20px}.reports-page{padding:20px;max-width:1400px;margin:0 auto}.reports-container{display:flex;gap:20px;margin-top:20px}.reports-sidebar{width:250px;background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;height:fit-content;position:sticky;top:20px}.reports-sidebar h3{margin-top:0;margin-bottom:15px;font-size:16px;color:#333}.category-list{list-style:none;padding:0;margin:0}.category-list li{padding:12px 15px;margin-bottom:5px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.category-list li:hover{background-color:#f5f5f5}.category-list li.active{background-color:var(--color-primary);color:#fff}.category-list .count{background-color:#0000001a;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.category-list li.active .count{background-color:#ffffff4d}.reports-content{flex:1}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.report-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:all .2s;display:flex;flex-direction:column}.report-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:10px}.report-header h3{margin:0;font-size:16px;color:#333;flex:1}.badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.badge-inventory{background-color:#e3f2fd;color:var(--color-primary-hover)}.badge-purchasing{background-color:#f3e5f5;color:#7b1fa2}.badge-consumption{background-color:#fff3e0;color:#ef6c00}.badge-analysis{background-color:#e8f5e9;color:#388e3c}.report-description{color:#666;font-size:14px;margin:0 0 10px;flex:1}.report-filter-info{font-size:12px;color:#888;margin:0 0 15px;font-style:italic}.report-as-at-date{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px}.report-as-at-date label{color:#555;white-space:nowrap;font-weight:500}.as-at-date-input{padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;flex:1;min-width:0}.as-at-hint{font-size:11px;color:var(--color-text-muted);font-style:italic;white-space:nowrap}.report-actions{display:flex;gap:10px;margin-top:auto}.report-actions button{flex:1}.error-message{background-color:#fee;color:#c33;padding:15px;border-radius:6px;margin-bottom:20px;border:1px solid #fcc}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner{background:#fff;padding:30px 50px;border-radius:8px;font-size:18px;font-weight:600;color:#333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.report-modal{background:#fff;border-radius:12px;max-width:90vw;max-height:85vh;width:100%;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;color:#333}.close-button{background:none;border:none;font-size:32px;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-button:hover{color:#333}.modal-body{padding:25px;overflow-y:auto;flex:1}.report-table-container{overflow-x:auto;margin-bottom:20px}.report-table{width:100%;border-collapse:collapse;font-size:14px}.report-table thead{background-color:#f5f5f5;position:sticky;top:0;z-index:1}.report-table th{padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.report-table td{padding:10px 15px;border-bottom:1px solid #eee;color:#555}.report-table tbody tr:hover{background-color:#f9f9f9}.report-summary{background-color:#f5f5f5;padding:20px;border-radius:8px;overflow-x:auto}.report-summary pre{margin:0;font-family:Courier New,monospace;font-size:13px;color:#333;white-space:pre-wrap;word-wrap:break-word}.report-summary-sections{display:flex;flex-direction:column;gap:25px}.summary-metric{padding:15px 20px;background-color:#e3f2fd;border-left:4px solid var(--color-primary-hover);border-radius:4px;font-size:16px}.summary-metric strong{color:var(--color-primary-hover);margin-right:8px}.summary-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.summary-section h3{margin:0 0 15px;font-size:18px;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:10px}.summary-section .report-table{margin-top:10px}.no-data{text-align:center;padding:40px;color:var(--color-text-muted);font-size:16px}.report-stats{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;font-size:14px;color:#666;font-weight:600}.modal-footer{padding:15px 25px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}@media (max-width: 768px){.reports-container{flex-direction:column}.reports-sidebar{width:100%;position:static}.reports-grid{grid-template-columns:1fr}.report-modal{max-width:95vw;max-height:90vh}.modal-header,.modal-body,.modal-footer{padding:15px}.report-table{font-size:12px}.report-table th,.report-table td{padding:8px 10px}}.user-management{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0}.users-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.users-table thead{background-color:#f5f5f5}.users-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.users-table td{padding:12px;border-bottom:1px solid #eee}.users-table tbody tr:hover{background-color:#f9f9f9}.users-table tbody tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.role-badge.office-manager{background-color:#3b82f6;color:#fff}.role-badge.inventory-manager{background-color:#10b981;color:#fff}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.inactive{background-color:#fee2e2;color:#991b1b}.action-buttons{display:flex;gap:8px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-sm{padding:4px 8px;font-size:12px}.alert{padding:12px;border-radius:4px;margin-bottom:20px}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.loading,.empty-state{text-align:center;padding:40px;color:#6b7280}.user-form{padding:20px}.user-form h2{margin-top:0;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#333}.form-group input[type=email],.form-group input[type=password]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input[type=email]:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group input[type=checkbox]{margin-right:8px}.form-hint{display:block;margin-top:4px;font-size:12px;color:#6b7280}.form-actions{display:flex;gap:8px;margin-top:24px;justify-content:flex-end}.error-message{padding:20px;background-color:#fee2e2;color:#991b1b;border-radius:4px;text-align:center}.legal-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#333;background:#fff;min-height:100vh;display:flex;flex-direction:column}.legal-nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.legal-nav-logo{height:36px;display:block}.legal-nav-links{display:flex;align-items:center;gap:1.5rem}.legal-nav-link{color:var(--color-primary);text-decoration:none;font-weight:500}.legal-nav-link:hover{text-decoration:underline}.legal-content{flex:1;max-width:760px;margin:0 auto;padding:48px 24px 64px;width:100%}.legal-header{margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid #eee}.legal-header h1{margin:0 0 8px;font-size:2rem;line-height:1.2;color:#1a1a2e}.legal-effective-date{margin:0;color:#666;font-size:.95rem}.legal-content section{margin-bottom:32px}.legal-content h2{margin:0 0 12px;font-size:1.2rem;color:#1a1a2e}.legal-content p,.legal-content li{line-height:1.7;color:#444}.legal-content p{margin:0 0 12px}.legal-content ul{margin:0 0 12px;padding-left:1.5rem}.legal-content li{margin-bottom:6px}.legal-content a{color:var(--color-primary)}@media (max-width: 768px){.legal-nav{padding:1rem}.legal-nav-links{gap:1rem}.legal-header h1{font-size:1.6rem}}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-ring: rgba(37, 99, 235, .35);--gradient-brand: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);--color-secondary: #95a5a6;--color-secondary-hover: #7f8c8d;--color-success: #059669;--color-success-hover: #047857;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-warning: #d97706;--color-background: #f5f5f5;--color-surface: #ffffff;--color-surface-muted: #f8f9fa;--color-border: #e2e8f0;--color-sidebar-bg: #1e293b;--color-sidebar-hover: #334155;--color-sidebar-border: #334155;--color-sidebar-text: #e2e8f0;--color-text: #1f2937;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-on-primary: #ffffff;--font-heading: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn-primary{background-color:var(--color-primary);color:var(--color-on-primary);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--color-secondary);color:var(--color-on-primary);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background-color:var(--color-danger);color:var(--color-on-primary);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background-color .2s}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-success{background-color:var(--color-success);color:var(--color-on-primary);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background-color .2s}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover)}.btn-success:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--color-surface-muted)}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th.sortable:hover{background:#eef1f4}.data-table th.sortable .th-inner{display:inline-flex;align-items:center;gap:4px}.data-table th.num.sortable .th-inner{flex-direction:row-reverse}.sort-ind{display:inline-flex;color:var(--color-primary);transition:transform .15s ease}.data-table th.sortable .th-hint{font-size:11px;font-style:italic;font-weight:400;color:var(--color-text-muted);margin-top:2px}
