.layout{display:flex;min-height:100vh}.sidebar{width:250px;background-color:#2c3e50;color:#fff;padding:20px;position:fixed;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{margin-bottom:30px}.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-list{flex:1}.nav-list{list-style:none}.nav-list li{margin-bottom:10px}.nav-list a{display:block;padding:12px 16px;color:#ecf0f1;text-decoration:none;border-radius:4px;transition:background-color .2s}.nav-list a:hover{background-color:#34495e}.nav-list a.active{background-color:#3498db;color:#fff}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid #34495e}.user-menu{position:relative}.user-menu-button{width:100%;padding:10px;background-color:#34495e;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:#3d566e}.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:#2c3e50;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:#34495e}.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}}.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:#667eea;text-decoration:none;font-weight:500}.nav-link:hover{text-decoration:underline}.nav-cta{background:linear-gradient(135deg,#667eea,#764ba2);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:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:#f8f9fa;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#667eea;color:#fff}.btn-outline{background:transparent;color:#667eea;border:2px solid #667eea}.btn-outline:hover{background:#667eea;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 #667eea}.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:linear-gradient(135deg,#667eea,#764ba2);-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:linear-gradient(135deg,#667eea,#764ba2);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:#667eea;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:#667eea;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:#667eea;font-size:20px}.consulting-note{font-size:14px;color:#666;margin-bottom:24px;text-align:center}.consulting-note a{color:#667eea;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;filter:brightness(0) invert(1)}.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}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);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}.signup-link{margin-top:20px;text-align:center;color:#666}.signup-link a{color:#667eea;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:linear-gradient(135deg,#667eea,#764ba2);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:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.submit-button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);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;text-align:center;color:#666}.login-link a{color:#667eea;text-decoration:none;font-weight:500}.login-link a:hover{text-decoration:underline}.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:#999;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:#3498db}.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}.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 #3498db;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:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.btn-primary:hover:not(:disabled){background:#2980b9}.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:#3498db;cursor:pointer;font-size:14px;text-decoration:underline;padding:0}.btn-link:hover:not(:disabled){color:#2980b9}.btn-link:disabled{color:#bdc3c7;cursor:not-allowed;text-decoration:none}.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}.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:#3498db;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#2980b9}.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:#007bff;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:#007bff;border-bottom-color:#007bff}.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 #2196f3;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:#2196f3;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:#999}.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:#2196f3}.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:#007bff;box-shadow:0 0 0 3px #007bff26}.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:#007bff;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}.batch-entry .form-row{display:grid;grid-template-columns:1.2fr 1fr .9fr 1.1fr .9fr .8fr 1.2fr .8fr 100px;gap:10px;align-items:end}@media (max-width: 1400px){.batch-entry .form-row{grid-template-columns:1fr 1fr .8fr 1fr .8fr 1fr .8fr 100px}.batch-entry .form-row .form-group:nth-child(3),.batch-entry .form-row .form-group:nth-child(4),.batch-entry .form-row .form-group:nth-child(5){grid-column:span 1}}.batch-actions{display:flex;align-items:flex-end;padding-bottom:0}.btn-small{padding:8px 12px;font-size:13px}.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}.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:#2196f3;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:#2196f3;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:#999;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:#2196f3;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.count-history .btn-link:hover{color:#1976d2}.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:#999;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.active{color:#2196f3;border-bottom-color:#2196f3}.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:#007bff;color:#fff;border-color:#007bff}.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:#007bff}.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:#999;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:#007bff}.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:#0056b3}.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:#2196f3}.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:#1976d2;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:#2196f3}.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:#999;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:#3498db;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:#3498db;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 #3498db;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-primary{background-color:#3498db;color:#fff}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-danger{background-color:#e74c3c;color:#fff}.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:#999;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:#3498db}.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:#007bff}.tab.active{color:#007bff;border-bottom-color:#007bff}.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:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary:hover{background:#0056b3}.btn-link{background:none;border:none;color:#007bff;cursor:pointer;text-decoration:underline;padding:0;font-size:14px}.btn-link:hover{color:#0056b3}.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:#007bff}.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:#007bff;box-shadow:0 0 0 3px #007bff1a}.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:#007bff;box-shadow:0 0 0 2px #007bff1a}.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{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.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:#007bff;box-shadow:0 0 0 2px #007bff1a}.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:#007bff;color:#fff}.tab-content{min-height:400px}.loading{text-align:center;padding:40px;color:#666}.empty-state{text-align:center;padding:60px 20px;color:#999}.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:#2196f3;color:#fff;border-color:#2196f3}.tab.active:hover{background-color:#1976d2;border-color:#1976d2}.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:#999;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:#2196f3;color:#fff}.btn-primary:hover{background-color:#1976d2}.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:#007bff;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:#1976d2}.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:#999;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:#999;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 #1976d2;border-radius:4px;font-size:16px}.summary-metric strong{color:#1976d2;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:#999;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}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.btn-primary{background-color:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background-color:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;transition:background-color .2s}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-success{background-color:#27ae60;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;transition:background-color .2s}.btn-success:hover:not(:disabled){background-color:#229954}.btn-success:disabled{opacity:.6;cursor:not-allowed}
