.salary-container{width:100%;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.salary-container.salary-embedded{width:100%;min-height:100%;background:transparent;padding:0}.salary-container.salary-embedded .salary-content{background:transparent;box-shadow:none;padding:20px 0;max-width:100%;margin:0;border-radius:0}.salary-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:40px;max-width:1200px;margin:0 auto}.salary-mobile-header{display:none;align-items:center;gap:15px;margin-bottom:20px;background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.salary-menu-toggle{display:none;background:#667eea;color:#fff;border:none;padding:10px 15px;border-radius:6px;font-size:18px;cursor:pointer;transition:background .3s}.salary-menu-toggle:hover{background:#764ba2}.salary-mobile-title{font-size:18px;color:#333;margin:0;flex:1}.salary-menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.salary-header{margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.salary-header-info h1{margin:0 0 15px;color:#333;font-size:32px}.salary-employee-info{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 20px;border-radius:8px;display:inline-block}.salary-employee-info h3{margin:0 0 5px;font-size:18px}.salary-employee-info p{margin:0;font-size:14px}.salary-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}.salary-container.salary-embedded .salary-stats-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}@media(max-width:768px){.salary-container.salary-embedded .salary-stats-grid{grid-template-columns:1fr}}.salary-stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:12px;display:flex;align-items:center;gap:15px;transition:transform .3s,box-shadow .3s}.salary-container.salary-embedded .salary-stat-card{background:linear-gradient(135deg,#6a0dad,#8b5cf6);padding:20px}.salary-stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #667eea66}.salary-stat-icon{font-size:32px;flex-shrink:0}.salary-stat-content{flex:1}.salary-stat-content h4{margin:0 0 8px;font-size:14px;font-weight:500;opacity:.9}.salary-stat-value{margin:0;font-size:24px;font-weight:700}.salary-stat-value.paid{color:#4caf50}.salary-stat-value.pending{color:#ff9800}.salary-filter{margin-bottom:30px;display:flex;gap:10px;align-items:center}.salary-container.salary-embedded .salary-filter{margin-bottom:20px}.salary-filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:border-color .3s}.salary-container.salary-embedded .salary-filter-select{border:2px solid #6A0DAD}.salary-filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.salary-container.salary-embedded .salary-filter-select:focus{border-color:#6a0dad;box-shadow:0 0 0 3px #6a0dad1a}.salary-table-wrapper{overflow-x:auto;margin-bottom:40px}.salary-table{width:100%;border-collapse:collapse;background:#fff}.salary-table thead{background:#f8f8f8}.salary-table th{padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.salary-table td{padding:15px;border-bottom:1px solid #f0f0f0;color:#666}.salary-table tbody tr{transition:background .2s}.salary-table tbody tr:hover{background:#f8f8f8}.salary-amount{font-weight:600;color:#333}.salary-status{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.salary-status.paid{background:#e8f5e9;color:#2e7d32}.salary-status.pending{background:#fff3e0;color:#e65100}.salary-loading,.salary-no-data{text-align:center;padding:40px;color:#999;font-size:16px}.salary-breakdown{background:#f8f8f8;padding:25px;border-radius:12px}.salary-breakdown h3{margin:0 0 20px;color:#333;font-size:18px}.salary-breakdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.salary-breakdown-item{background:#fff;padding:15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #667eea}.salary-breakdown-item span{color:#666;font-size:14px}.salary-breakdown-item strong{font-size:18px;color:#333}.paid-text{color:#2e7d32!important}.pending-text{color:#e65100!important}@media(max-width:1024px){.salary-stats-grid,.salary-breakdown-grid{grid-template-columns:repeat(2,1fr)}.salary-content{padding:25px}.salary-header-info h1{font-size:24px}}@media(max-width:768px){.salary-container{padding:10px}.salary-mobile-header{display:flex}.salary-menu-toggle{display:inline-block}.salary-content{padding:20px;border-radius:8px;margin-top:60px}.salary-stats-grid{grid-template-columns:1fr;gap:15px}.salary-stat-card{padding:20px}.salary-header{margin-bottom:25px}.salary-header-info h1{font-size:20px}.salary-employee-info{padding:12px 15px}.salary-employee-info h3{font-size:16px}.salary-breakdown-grid{grid-template-columns:repeat(2,1fr);gap:12px}.salary-breakdown-item{padding:12px;font-size:13px}.salary-table th,.salary-table td{padding:12px 8px;font-size:14px}.salary-table-wrapper{overflow-x:auto;margin:-20px -20px 20px;padding:0 20px}}@media(max-width:480px){.salary-container{padding:5px;background:#f5f5f5}.salary-mobile-header{position:fixed;top:0;left:0;right:0;z-index:1000;gap:10px;padding:12px;border-radius:0}.salary-mobile-title{font-size:16px}.salary-content{padding:15px;margin-top:55px;border-radius:6px}.salary-stats-grid{gap:12px;margin-bottom:25px}.salary-stat-card{padding:15px;gap:10px}.salary-stat-icon{font-size:24px}.salary-stat-content h4{font-size:12px;margin-bottom:5px}.salary-stat-value{font-size:18px}.salary-header-info h1{font-size:18px;margin-bottom:10px}.salary-header{margin-bottom:20px;padding-bottom:15px}.salary-employee-info{padding:10px 12px;font-size:13px}.salary-employee-info h3{font-size:14px;margin-bottom:3px}.salary-filter{margin-bottom:20px}.salary-filter-select{width:100%;padding:10px;font-size:13px}.salary-table{font-size:12px}.salary-table th,.salary-table td{padding:8px 5px}.salary-status{padding:4px 8px;font-size:10px}.salary-breakdown{padding:15px}.salary-breakdown h3{font-size:16px;margin-bottom:15px}.salary-breakdown-grid{grid-template-columns:1fr;gap:10px}.salary-breakdown-item{padding:10px;border-left-width:3px;font-size:12px}.salary-breakdown-item strong{font-size:16px}.salary-loading,.salary-no-data{padding:30px 15px;font-size:14px}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.salary-stat-card,.salary-table tbody tr{animation:slideIn .3s ease-out}.salary-table-wrapper::-webkit-scrollbar{height:8px}.salary-table-wrapper::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.salary-table-wrapper::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.salary-table-wrapper::-webkit-scrollbar-thumb:hover{background:#764ba2}*{box-sizing:border-box}@keyframes spin{to{transform:rotate(360deg)}}.customer-bill-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef);padding-bottom:0;display:flex;flex-direction:column;overflow-x:hidden;width:100%;max-width:100vw}.bill-header{background:linear-gradient(135deg,#6a0dad,#8b5cf6);color:#fff;padding:max(20px,5vw) 20px;text-align:center;box-shadow:0 4px 15px #6a0dad33}@media(max-width:768px){.bill-header{padding:25px 15px}.bill-section{text-align:center;padding:20px 15px;margin-bottom:20px}.search-box{justify-content:center;align-items:center}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.bills-container{max-width:100%;margin:0 auto}.category-tabs{justify-content:center;gap:8px}.category-tab{padding:8px 16px;font-size:13px}.bill-container{padding:20px 15px}}.bill-header h1{font-size:clamp(24px,6vw,32px);font-weight:700;margin:8px 0 0}.bill-header-detail{font-size:clamp(12px,3vw,14px);opacity:.9;margin-bottom:4px}.hotel-logo{width:clamp(60px,12vw,100px);height:clamp(60px,12vw,100px);border-radius:16px;margin:0 auto 15px;object-fit:cover;background:#fff;padding:5px;display:block;box-shadow:0 4px 12px #0003}.bill-container{max-width:900px;margin:0 auto;padding:clamp(20px,4vw,30px);flex:1;width:100%;box-sizing:border-box}.bill-section{background:#fff;border-radius:16px;padding:clamp(20px,3vw,30px);margin-bottom:25px;box-shadow:0 4px 15px #0000001a;width:100%;box-sizing:border-box;overflow:hidden}.bill-section h2{margin-top:0;margin-bottom:20px;color:#6a0dad;font-size:clamp(18px,4vw,22px)}.search-box{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}@media(max-width:640px){.search-box{flex-direction:column;width:100%}.search-input,.btn-primary,.btn-secondary{width:100%;min-width:unset}.bill-section{text-align:center;padding:15px 10px;margin-bottom:15px}.bill-header{text-align:center;padding:20px 10px}.bill-footer{text-align:center;padding:30px 15px 20px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:0}.bills-container{padding:0}.category-tabs{justify-content:center;gap:6px;padding:0}.category-tab{padding:6px 12px;font-size:12px}.bill-container{padding:15px 10px}.bill-section h2{font-size:18px;margin-bottom:15px}.menu-card{padding:10px}.menu-card-name{font-size:13px}.menu-card-price{font-size:16px}}.search-input{flex:1;min-width:200px;padding:clamp(12px,3vw,16px);border:2px solid #ddd;border-radius:12px;font-size:clamp(14px,3vw,16px);transition:all .3s;outline:none}.search-input:focus{border-color:#6a0dad}.btn-primary{padding:clamp(12px,2vw,16px) clamp(24px,4vw,32px);background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:12px;font-size:clamp(14px,2.5vw,16px);font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #4caf504d;min-width:clamp(150px,80%,200px);white-space:nowrap}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{padding:clamp(12px,2vw,16px) clamp(24px,4vw,32px);background:#6a0dad;color:#fff;border:none;border-radius:12px;font-size:clamp(14px,2.5vw,16px);font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #6a0dad4d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6a0dad66}.category-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px;padding-bottom:10px;justify-content:flex-start}.category-tab{padding:clamp(8px,2vw,10px) clamp(16px,3vw,24px);background:#f0f0f0;border:2px solid transparent;border-radius:24px;cursor:pointer;font-weight:600;font-size:clamp(12px,2vw,14px);white-space:nowrap;transition:all .3s;flex-shrink:0}.category-tab:hover{background:#e0e0e0}.category-tab.active{background:#6a0dad;color:#fff;border-color:#6a0dad}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(150px,30vw,200px),1fr));gap:clamp(12px,2vw,15px);width:100%;box-sizing:border-box}.menu-card{background:#f9f9f9;border-radius:12px;padding:clamp(12px,2vw,15px);border:2px solid #e0e0e0;transition:all .3s;width:100%;box-sizing:border-box}.menu-card:hover{transform:translateY(-4px);border-color:#6a0dad;box-shadow:0 4px 12px #6a0dad26}.menu-card-name{font-weight:700;font-size:clamp(13px,2.5vw,15px);margin-bottom:8px;color:#333}.menu-card-price{font-size:clamp(16px,3vw,18px);font-weight:700;color:#6a0dad}.bills-container{display:grid;gap:15px}.bill-card{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;padding:clamp(15px,3vw,20px);transition:all .3s}.bill-card:hover{border-color:#6a0dad;box-shadow:0 4px 12px #0000001a}.bill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.bill-number{font-weight:700;font-size:clamp(14px,2.5vw,16px);color:#6a0dad}.bill-date{font-size:clamp(12px,2vw,14px);color:#666}.bill-amount{font-size:clamp(18px,3.5vw,20px);font-weight:700;color:#ffb400}.bill-details{font-size:clamp(12px,2vw,14px);color:#666;margin-bottom:10px}.btn-download{padding:clamp(8px,2vw,10px) clamp(16px,3vw,20px);background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:clamp(12px,2vw,14px);transition:all .3s;white-space:nowrap}.btn-download:hover{background:#45a049}.no-bills{text-align:center;padding:40px 20px;color:#999}.no-bills-icon{font-size:48px;margin-bottom:15px}.bill-footer{background:linear-gradient(135deg,#6a0dad,#8b5cf6);color:#fff;padding:clamp(40px,5vw,50px) 20px clamp(20px,3vw,30px) 20px;text-align:center;margin-top:80px;border-top:5px solid #FFB400}.footer-content{max-width:900px;margin:0 auto}.footer-logo{width:clamp(50px,10vw,70px);height:clamp(50px,10vw,70px);border-radius:12px;margin:0 auto 20px;background:#fff;padding:8px;object-fit:cover;display:block;box-shadow:0 4px 12px #0003}.footer-tagline{font-size:clamp(18px,4vw,24px);font-weight:700;margin-bottom:8px;color:#ffb400;letter-spacing:2px}.footer-text{font-size:clamp(12px,2.5vw,14px);opacity:.95;margin-bottom:6px;font-weight:500}.eco-message{font-size:clamp(14px,2.5vw,16px);font-weight:700;color:#ffb400;margin-top:25px;padding:clamp(14px,2vw,18px) 20px;background:#ffb40026;border-radius:12px;border:2px solid rgba(255,180,0,.3)}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-content{background:#fff;padding:clamp(30px,5vw,50px) clamp(30px,5vw,40px);border-radius:16px;text-align:center;box-shadow:0 10px 50px #0000004d;max-width:400px;width:90vw}.loading-content h3{margin:0 0 10px;color:#333;font-size:18px}.loading-content p{margin:0;color:#666;font-size:14px}.loading-spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top:4px solid #6A0DAD;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}.text-center{text-align:center}.mb-0{margin-bottom:0}.mt-0{margin-top:0}@media(max-width:480px){.customer-bill-page{padding:0}.bill-header{padding:15px 10px}.bill-header h1{font-size:20px}.bill-container{padding:10px 8px}.bill-section{padding:12px 8px;border-radius:12px}.category-tabs{gap:5px;margin-bottom:15px}.category-tab{padding:5px 10px;font-size:11px}.menu-grid{grid-template-columns:repeat(2,1fr);gap:8px}.menu-card{padding:8px}.search-input{padding:10px;font-size:14px}.btn-primary,.btn-secondary{padding:10px 16px;font-size:14px;width:100%;min-width:unset}}@media(max-width:480px)and (min-height:700px){.bill-header{padding:25px 15px 30px}.hotel-logo{width:90px;height:90px;margin-bottom:18px}.bill-header h1{font-size:26px;margin-bottom:10px}.bill-header-detail{font-size:14px;margin-bottom:6px}.bill-container{padding:20px 15px}.bill-section{padding:22px 18px;margin-bottom:25px;border-radius:16px}.bill-section h2{font-size:22px;margin-bottom:20px}.search-input{padding:16px;font-size:16px;border-radius:14px}.btn-primary,.btn-secondary{padding:16px 24px;font-size:16px;border-radius:14px}.category-tabs{gap:10px;margin-bottom:22px;padding-bottom:12px}.category-tab{padding:10px 18px;font-size:14px;border-radius:24px}.menu-grid{gap:14px}.menu-card{padding:14px;border-radius:14px}.menu-card-name{font-size:15px;margin-bottom:10px}.menu-card-price{font-size:18px}.bill-footer{padding:50px 20px 35px;margin-top:60px}.footer-logo{width:70px;height:70px;margin-bottom:20px}.footer-tagline{font-size:22px;margin-bottom:12px}.footer-text{font-size:14px;margin-bottom:8px}.eco-message{font-size:15px;padding:16px 20px;margin-top:25px}}@media(max-width:480px)and (min-height:850px){.bill-header{padding:35px 20px 40px}.hotel-logo{width:100px;height:100px;margin-bottom:22px}.bill-header h1{font-size:28px;margin-bottom:14px}.bill-header-detail{font-size:15px;margin-bottom:8px}.bill-container{padding:25px 18px}.bill-section{padding:28px 22px;margin-bottom:30px}.bill-section h2{font-size:24px;margin-bottom:24px}.search-input{padding:18px;font-size:17px}.btn-primary,.btn-secondary{padding:18px 28px;font-size:17px}.category-tabs{gap:12px;margin-bottom:28px}.category-tab{padding:12px 22px;font-size:15px}.menu-grid{gap:18px}.menu-card{padding:16px}.menu-card-name{font-size:16px;margin-bottom:12px}.menu-card-price{font-size:20px}.bills-container{gap:18px}.bill-card{padding:20px}.bill-number{font-size:17px}.bill-amount{font-size:22px}.btn-download{padding:14px 24px;font-size:15px}.bill-footer{padding:60px 25px 40px;margin-top:80px}.footer-logo{width:80px;height:80px}.footer-tagline{font-size:26px}.footer-text{font-size:15px}.eco-message{font-size:16px;padding:18px 24px}}@media(max-width:480px)and (min-height:920px){.bill-header{padding:45px 25px 50px}.hotel-logo{width:110px;height:110px;margin-bottom:25px}.bill-header h1{font-size:32px;margin-bottom:16px}.bill-header-detail{font-size:16px;margin-bottom:10px}.bill-container{padding:30px 20px}.bill-section{padding:32px 25px;margin-bottom:35px}.bill-section h2{font-size:26px;margin-bottom:28px}.search-input{padding:20px;font-size:18px}.btn-primary,.btn-secondary{padding:20px 32px;font-size:18px}.category-tab{padding:14px 26px;font-size:16px}.menu-grid{gap:20px}.menu-card{padding:18px}.menu-card-name{font-size:17px}.menu-card-price{font-size:22px}}@media(max-width:480px)and (min-aspect-ratio:9/19){.bill-header{padding-top:30px;padding-bottom:35px}.hotel-logo{width:95px;height:95px}.bill-section{padding:26px 20px}.menu-card{min-height:100px}.bill-footer{padding-top:55px;padding-bottom:45px}}@media(max-height:500px)and (orientation:landscape){.bill-header{padding:15px 20px}.hotel-logo{width:50px;height:50px;margin-bottom:10px}.bill-header h1{font-size:18px}.bill-section{padding:15px;margin-bottom:15px}.bill-footer{padding:25px 20px;margin-top:30px}}html,body,#root{height:100%;margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}body{background:#f6f8fa}input,select,textarea{font-size:16px!important}*{touch-action:manipulation;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
