@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=Montserrat:wght@300;400&display=swap";body{font-family:Inter,sans-serif;background:#000;margin:0;padding:0}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-card{display:flex;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;overflow:hidden;width:90%;max-width:900px;transition:transform .3s ease;position:relative;z-index:5}.login-left{flex:1;display:none}.login-left img{width:100%;height:100%;object-fit:cover}.login-right{flex:1;padding:50px;display:flex;flex-direction:column;justify-content:center;background:#fff;z-index:5}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:25px}.login-logo{width:68px;height:68px;border-radius:10px;object-fit:contain;border:1px solid rgba(212,160,23,.5);background-color:#fff}.login-brand-text{display:flex;flex-direction:column}.login-brand-title{font-family:Playfair Display,serif;font-size:36px;letter-spacing:2px;color:#fff}.login-brand-title .host{color:#d4a017}.login-brand-title .pro{color:#c00000}.login-brand-title .hospitality{color:#2b2b2b}.login-brand-subtitle{font-family:Montserrat,sans-serif;font-size:14px;color:#6e6e6e;margin-top:6px;letter-spacing:1px}h1{font-size:32px;margin-bottom:30px;font-weight:700;color:#f5f5f5}form{display:flex;flex-direction:column;gap:18px}label{display:flex;flex-direction:column;font-weight:500;color:#333}input,select{padding:12px 14px;border-radius:10px;border:1px solid #ccc;margin-top:6px;font-size:16px;transition:all .2s}input:focus,select:focus{outline:none;border-color:#80a1ba;box-shadow:0 0 5px #80a1ba4d}.password-wrap{display:flex;align-items:center;gap:8px;margin-top:6px}.password-wrap input{flex:1;margin-top:0}.show-pass-btn{padding:10px 14px!important;background:#e0e0e0!important;color:#333!important;font-size:14px!important;flex-shrink:0}.show-pass-btn:hover{background:#d0d0d0!important;transform:none}button{padding:14px;border:none;border-radius:10px;background:linear-gradient(135deg,#b77700,#d39a2c)!important;color:#fff;font-size:16px;cursor:pointer;font-weight:600;box-shadow:0 4px 10px #0000001a;transition:background .3s,transform .2s;position:relative;z-index:10}button:hover{background-color:#3e6c7c!important;transform:translateY(-2px);box-shadow:0 6px 14px #00000026}.forgot-link{text-align:center;display:block;margin-top:15px;font-size:14px;color:#666;text-decoration:none}.forgot-link:hover{text-decoration:underline}@media(min-width:900px){.login-left{display:block}}body{background:#f5f5f5;font-family:Inter,sans-serif;color:#2b2b2b;margin:0;padding:0;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.boy-container{min-height:100vh;display:flex;flex-direction:column}.boy-header{display:flex;justify-content:space-between;align-items:center;background:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #E0E0E0;padding:1rem 2rem;position:sticky;top:0;z-index:100}.boy-logo{display:flex;align-items:center;gap:10px;color:#b77700}.boy-logo h2{font-family:Poppins,sans-serif;font-weight:600;margin:0}.boy-nav{display:flex;align-items:center;gap:1.5rem}.boy-nav a{text-decoration:none;color:#2b2b2b;font-weight:500;transition:color .3s ease}.boy-nav a:hover{color:#b77700}.boy-nav a.active{color:#a10000}.logout-btn{background:#b77700;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:background .3s ease}.logout-btn:hover{background:#d39a2c}.boy-main{flex:1;padding:2rem;max-width:1200px;margin:auto}.boy-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 3px 8px #0000000d}.profile-img{width:90px;height:90px;border-radius:50%;background-size:cover;background-position:center}.profile-details h3{margin:0;font-weight:600}.profile-wage{border-top:1px solid rgba(255,255,255,.4);margin-top:1rem;padding-top:1rem;font-size:.95rem}.boy-profile-card{background:#fff;border-radius:16px;box-shadow:0 4px 10px #0000000f;padding:1.5rem}.boy-profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}.boy-profile-avatar{width:72px;height:72px;border-radius:50%;background-color:#e2e8f0;background-size:cover;background-position:center}.boy-profile-header-text h2{margin:0;font-size:1.2rem}.boy-profile-role{margin:2px 0;font-size:.9rem;color:#64748b}.boy-profile-id{font-size:.8rem;color:#94a3b8}.boy-profile-qr-row{display:flex;justify-content:center;margin:1rem 0}.boy-profile-qr{padding:.75rem;border-radius:12px;background:#f1f5f9}.boy-profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:.5rem}.boy-profile-stat{font-size:.85rem}.boy-profile-stat .label{display:block;color:#64748b}.boy-profile-stat .value{font-weight:600;color:#0f172a}.boy-profile-actions{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.boy-profile-actions input[type=text],.boy-profile-actions input[type=date]{padding:.4rem .6rem;border-radius:8px;border:1px solid #d1d5db;font-size:.85rem}.boy-profile-history{margin-top:1rem}.boy-profile-history h3{margin-bottom:.4rem}.boy-profile-history ul{list-style:none;padding-left:0;font-size:.85rem}.boy-profile-history li{padding:2px 0}.booking{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eee;padding:10px 0}.booking:last-child{border-bottom:none}.booking-icon{background:#b777001f;color:#b77700;border-radius:50%;width:45px;height:45px;display:flex;justify-content:center;align-items:center}.stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-box{flex:1 1 150px;background:#fff;border:1px solid #ddd;border-radius:12px;padding:1rem;text-align:center;box-shadow:0 2px 6px #0000000d}.job-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #ddd;padding:1rem;border-radius:10px;margin-bottom:1rem;transition:transform .2s ease}.job-card:hover{transform:translateY(-3px)}.job-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.job-date{text-align:center;background:#f5f5f5;padding:.5rem .75rem;border-radius:8px;font-size:.9rem}.accept-btn,.booked-btn{border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background .3s ease}.accept-btn{background:#b77700;color:#fff}.accept-btn:hover{background:#d39a2c}.booked-btn{background:#fff;color:#b77700;border:1px solid #B77700}.work-history table{width:100%;border-collapse:collapse}.work-history th,.work-history td{padding:.75rem;border-bottom:1px solid #eee;text-align:left;font-size:.95rem}.status{padding:5px 10px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block;text-align:center}.status.completed{background:#b4debd;color:#045d10}.status.upcoming{background:#91c4c3;color:#064747}@media(max-width:992px){.boy-main{padding:1.5rem}.boy-grid{grid-template-columns:1fr}.boy-header{flex-wrap:wrap;padding:1rem}.boy-nav{gap:1rem;margin-top:.5rem;flex-wrap:wrap;justify-content:center}.profile-info{flex-direction:column;align-items:center}}@media(max-width:576px){.boy-header{flex-direction:column;text-align:center}.boy-main{padding:1rem}.job-card{flex-direction:column;gap:1rem;align-items:flex-start}.stats{flex-direction:column}.logout-btn{width:100%}}.boy-tab-content{max-width:800px}.boy-tab-content h2{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.15rem}.boy-tab-content h2:first-child{margin-top:0}.job-cards-grid{display:flex;flex-direction:column;gap:1rem}.job-card .report-time{color:#80a1ba;font-weight:500}.site-list{list-style:none;padding:0;margin:0 0 1rem}.site-list li{padding:.5rem 0;border-bottom:1px solid #eee}.site-list .report-time{color:#666;font-size:.9rem}.captain-info{color:#1d3c6a;font-size:.9rem;font-weight:500}.job-card .captain-info{margin:.25rem 0 0}.site-list .small-cancel{margin-left:8px;font-size:.8rem;padding:2px 8px}.map-link-wrap{margin-left:.35rem}.map-link{display:inline-flex;align-items:center;gap:.35rem;color:#1d3c6a;font-weight:600;text-decoration:none;font-size:.9rem;padding:.28rem .6rem;border-radius:8px;border:1px solid transparent;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease}.map-link:hover{color:#0f2744;background:#80a1ba33;border-color:#80a1ba80;text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #1d3c6a1f}.map-link:active{transform:translateY(0);box-shadow:none}.payment-summary{margin-top:1rem}.payment-summary h2{margin-bottom:1rem}.payment-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:1.05rem}.payment-row .value{font-weight:600}.boy-tab-content .muted{color:#666;font-size:.9rem;margin-top:.5rem}.boy-profile-tab .boy-profile-card{max-width:480px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Open Sans,sans-serif;background-color:#f5f5f5;color:#2b2b2b}.admin-container{position:relative;min-height:100vh;overflow-x:hidden}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:98;cursor:pointer}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;max-width:85vw;background-color:#2b2b2b;color:#fff;padding:0 24px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:2px 0 10px #00000014;z-index:100;transition:transform .25s ease;overflow-y:auto;overflow-x:hidden}@media(max-width:768px){.admin-container:not(.sidebar-open) .sidebar{transform:translate(-100%)}.admin-container:not(.sidebar-open) .main-content{margin-left:0}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.18)}.sidebar-brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.sidebar-logo{width:48px;height:48px;border-radius:10px;object-fit:contain;border:1px solid rgba(183,119,0,.6);background-color:#fff}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-title{font-family:Playfair Display,serif;font-size:22px;letter-spacing:2px;color:#fff}.sidebar-brand-subtitle{font-family:Montserrat,sans-serif;font-size:12px;color:#6b6b6b;margin-top:2px;letter-spacing:1px}.sidebar-header h2{margin:0;font-size:20px;font-weight:700;letter-spacing:.5px}.sidebar-close{display:none;width:36px;height:36px;padding:0;border:none;background:#fff3;color:#fff;font-size:24px;line-height:1;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;transition:background .2s ease}.sidebar-close:hover{background:#ffffff4d}.sidebar ul{list-style:none;flex-grow:1;display:flex;flex-direction:column;gap:8px;min-height:0}.sidebar ul li{padding:12px 14px;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:10px;background:transparent;transition:background .25s ease,transform .2s ease;flex-shrink:0}.sidebar ul li:hover{background:#b777002e;transform:translate(4px)}.sidebar ul li.active{background:#b77700;color:#fff;font-weight:700}.sidebar-footer{margin-top:auto;flex-shrink:0}.logout-btn{background-color:#a10000;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:700;cursor:pointer;transition:background .25s ease;width:100%}.logout-btn:hover{background-color:#d63c3c}.main-content{min-width:0;min-height:100vh;margin-left:260px;padding:0;background-color:#f5f5f5;overflow-x:auto;overflow-y:auto;transition:margin-left .25s ease}.admin-main-header{display:flex;align-items:center;gap:12px;padding:14px 24px;background:#fff;border-bottom:1px solid #E0E0E0;box-shadow:0 1px 3px #0000000a;flex-shrink:0}.admin-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#1d3c6a;cursor:pointer;transition:background .2s ease,border-color .2s ease}@media(max-width:768px){.admin-menu-toggle{display:flex}}.admin-menu-toggle:hover{background:#f3f4f6;border-color:#80a1ba}.admin-menu-toggle-bar{display:block;width:20px;height:2px;background:currentColor;border-radius:1px}.admin-main-title{font-size:18px;font-weight:700;color:#1d3c6a}.admin-content-inner{padding:20px 24px 28px;min-width:0;overflow-x:auto}.dashboard-section{width:100%;max-width:100%}.cards{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;justify-content:center}.card{background:#fff;padding:20px 22px;border-radius:14px;box-shadow:0 6px 18px #1018280f;min-width:200px;flex:1;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #10182814}.card h3{font-size:13px;color:#6b6b6b;text-transform:uppercase}.card h1{font-size:30px;color:#2b2b2b;margin-top:6px;font-weight:700}.event-completed-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px}.event-container{display:flex;flex-wrap:wrap;gap:18px;width:100%}.event-table{flex:2;background:#fff;border-radius:12px;padding:18px;box-shadow:0 6px 18px #1018280f;overflow-x:auto}.event-table h2{color:#2b2b2b;margin-bottom:12px}.event-table table{width:100%;border-collapse:collapse;font-size:14px;min-width:600px}.event-table th,.event-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #eef2f6;white-space:nowrap}.event-table th{background-color:#f5f5f5;font-weight:700;color:#2b2b2b}.add-event{flex:1;background:#fff;border-radius:12px;padding:16px;box-shadow:0 6px 18px #1018280f;min-width:260px}.add-event h2{color:#2b2b2b;margin-bottom:10px}.add-event input,.add-event select{padding:8px;border:1px solid #e6eef2;border-radius:8px;width:100%;margin-bottom:10px}.add-event button{width:100%;padding:10px;border:none;border-radius:8px;background:linear-gradient(135deg,#b77700,#d39a2c);color:#fff;font-weight:700;cursor:pointer;transition:background .2s ease}.add-event button:hover{background:#d39a2c}.inline-inputs{display:flex;gap:8px;flex-wrap:wrap}.inline-inputs>div{flex:1;min-width:120px}.manage-section{background:#fff;padding:16px;border-radius:12px;box-shadow:0 6px 18px #1018280f;margin-top:18px}.manage-section h2{color:#2b2b2b;margin-bottom:12px}.manage-section-table-wrap{min-width:0;margin-top:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.manage-section table{width:100%;border-collapse:collapse;margin-top:0}.admin-attendance-table-wrap{overflow-x:auto;margin-top:10px}.admin-attendance-table th,.admin-attendance-table td{padding:8px 6px;font-size:13px;white-space:nowrap}.manage-section th,.manage-section td{border-bottom:1px solid #eef2f6;text-align:left;padding:10px 8px;font-size:14px}.manage-section th{background-color:#f5f5f5;color:#2b2b2b;font-weight:700}.manage-section-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.manage-search-input{padding:8px 12px;border:1px solid #DADADA;border-radius:8px;font-size:14px;min-width:200px;max-width:320px}.manage-search-input:focus{outline:none;border-color:#b77700;box-shadow:0 0 0 2px #b7770033}.manage-search-count{font-size:13px;color:#6b6b6b}.manage-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #eef2f6}.manage-pagination .pagination-btn{padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;border:1px solid #B77700;background:#fff;color:#b77700}.manage-pagination .pagination-btn:hover:not(:disabled){background:#b77700;color:#fff;border-color:#b77700}.manage-pagination .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.manage-pagination .pagination-info{font-size:14px;color:#6b6b6b}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#02061773;z-index:9999}.modal-content{background:#fff;padding:20px;border-radius:12px;width:min(860px,96%);max-height:90vh;overflow:auto;box-shadow:0 10px 30px #02061733}.assign-attendance-btn{font-size:12px;padding:4px 8px;background:#334155;color:#fff;border:none;border-radius:6px;cursor:pointer}.assign-attendance-btn:hover{background:#475569}.modal .password-wrap{display:flex;align-items:center;gap:8px;margin-top:6px}.modal .password-wrap input{flex:1}.modal .show-pass-btn{padding:8px 12px;background:#e2e8f0;color:#334155;font-size:13px;flex-shrink:0;border-radius:6px;border:1px solid #cbd5e1;cursor:pointer}.modal .show-pass-btn:hover{background:#cbd5e1}.muted{color:#64748b;font-size:13px}.profile-img{width:44px;height:44px;border-radius:50%;object-fit:cover}button{background-color:#1d3c6a;border:none;padding:8px 10px;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;transition:background .2s ease}button:hover{background-color:#153059}@media(min-width:769px){.admin-menu-toggle,.sidebar-close{display:none!important}.sidebar{transform:none!important}.main-content{margin-left:260px!important}}@media(max-width:1024px){.event-container{flex-direction:column}.event-table{min-width:0}.dashboard-section{width:100%}.event-completed-row{flex-direction:column;align-items:stretch}.add-event{min-width:0;width:100%}}@media(max-width:768px){.sidebar{width:280px;max-width:calc(100vw - 48px)}.admin-container.sidebar-open .sidebar-overlay{display:block}.sidebar-close{display:flex;align-items:center;justify-content:center}.main-content{margin-left:0!important}.admin-main-header{padding:12px 16px}.admin-content-inner{padding:16px}.cards{flex-direction:column;align-items:stretch;gap:12px}.card{min-width:0;flex:none}.event-completed-row,.event-container{min-width:0;overflow-x:hidden}.event-table{width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.event-table table{font-size:13px;min-width:580px}.add-event input,.add-event select{font-size:14px}.sidebar-header h2{font-size:18px}.manage-section-table-wrap{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.manage-section table{min-width:600px}.attendance-controls{flex-direction:column;align-items:flex-start}.inline-inputs{flex-direction:column}.inline-inputs>div{min-width:0;width:100%}}.profile-img{width:40px;height:40px;object-fit:cover;border-radius:50%}.qr-section canvas{margin:10px 0}@media(max-width:480px){.admin-main-title{font-size:16px}.card h1{font-size:22px}.add-form input{min-width:100px}.profile-img{width:36px;height:36px}.event-table th,.event-table td{padding:8px 6px}.event-table table{min-width:520px}}.manage-section{padding:40px 20px;font-family:Inter,sans-serif;background:#f9fafb;min-height:100vh;box-sizing:border-box}.manage-section h2{font-size:28px;margin-bottom:30px;color:#222;text-align:center;letter-spacing:.5px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;justify-content:center;margin-bottom:40px}.summary-card{background:#fff;padding:24px 30px;border-radius:16px;box-shadow:0 6px 16px #00000014;text-align:center;transition:all .25s ease;cursor:default}.summary-card:hover{transform:translateY(-6px);box-shadow:0 10px 24px #0000001f}.summary-card h3{font-size:15px;color:#666;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.summary-card p{font-size:24px;font-weight:700;color:#222;margin:0}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;margin-bottom:50px}.analytics-card{background:#fff;padding:24px 28px;border-radius:18px;box-shadow:0 6px 20px #00000014;transition:transform .2s ease,box-shadow .2s ease}.analytics-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #0000001a}.analytics-card h3{margin-bottom:14px;color:#333;font-size:18px;font-weight:600;text-align:center}.table-container{background:#fff;border-radius:16px;box-shadow:0 6px 20px #00000014;overflow-x:auto;padding:20px}table{width:100%;border-collapse:collapse;min-width:600px}th,td{padding:12px 14px;border-bottom:1px solid #e0e0e0;text-align:left;font-size:14px;white-space:nowrap}th{background:#f3f6f9;color:#555;font-weight:600;text-transform:uppercase}td{color:#333}.analytics-action{padding:7px 14px;border:none;border-radius:6px;background:#80a1ba;color:#fff;cursor:pointer;transition:background .2s ease;font-size:13px}.analytics-action:hover{background:#678ca6}.analytics-action.delete{background:#e74c3c}.analytics-action.delete:hover{background:#c0392b}@media(max-width:1024px){.manage-section{padding:30px 15px}.summary-card p{font-size:22px}.analytics-card{padding:20px}}@media(max-width:768px){.summary-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.charts-grid{grid-template-columns:1fr}table{font-size:13px}}@media(max-width:480px){.manage-section h2{font-size:22px}.summary-card p{font-size:20px}.analytics-card h3{font-size:16px}th,td{padding:8px 10px}.analytics-action{padding:6px 10px}}.attendance-page{background:#fff7dd;font-family:Inter,sans-serif;color:#333;min-height:100vh;display:flex;justify-content:center;padding:2rem}.attendance-container{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:2rem}.scan-success{background:#28a745;color:#fff;padding:15px;margin:20px auto;width:fit-content;border-radius:10px;font-weight:700;animation:pop .4s ease-in-out}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.attendance-header{display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:1rem}.icon{font-size:40px;color:#80a1ba}.attendance-header h1{font-family:Poppins,sans-serif;font-weight:600;font-size:1.8rem}.attendance-header h1,.attendance-header h2,.attendance-header .MuiTypography-root{color:#1d3c6a}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-box{background:#fff;border:1px solid #ddd;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.summary-box p{font-weight:500}.summary-box h2{color:#80a1ba;font-size:2rem;font-weight:700}.search-box{display:flex;align-items:center;background:#fff;border-radius:.75rem;padding:.75rem 1rem;border:1px solid #ddd}.search-box span{color:gray;margin-right:8px}.search-box input{border:none;outline:none;flex:1;font-size:1rem;color:#333}.table-container{background:#fff;border-radius:1rem;border:1px solid #ddd;overflow-x:auto}.attendance-table{width:100%;border-collapse:collapse}.attendance-table th,.attendance-table td{padding:1rem;text-align:left;font-size:.95rem}.attendance-table tbody tr:hover{background:#f9f9f9}.muted{color:#777;font-weight:400}.status{display:inline-block;padding:.3rem .8rem;border-radius:999px;font-size:.75rem;font-weight:600}.status.present{background:#b4debd66;color:#256c35}.status.pending{background:#e5e7eb;color:#555}.btn-penalty,.btn-confirm{border:none;background:none;display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;cursor:pointer}.btn-penalty{color:#d73a3a}.btn-confirm{color:#007c73}.btn-penalty:hover{color:#a32222}.btn-confirm:hover{color:#005f5a}.small{font-size:18px}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:#fff;border-radius:1.25rem;padding:2rem;max-width:400px;width:100%;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 12px #00000026}.modal h2{font-family:Poppins,sans-serif;margin-bottom:.5rem}.modal label{font-size:.9rem;font-weight:500;color:#444}.modal input,.modal textarea,.modal select{width:100%;padding:.6rem;border-radius:.5rem;border:1px solid #ccc;font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-cancel,.btn-confirm-modal{padding:.6rem 1.2rem;border-radius:.5rem;font-size:.9rem;cursor:pointer;font-weight:500}.btn-cancel{background:#fff;border:1px solid #ccc;color:#444}.btn-confirm-modal{background:#80a1ba;color:#fff;border:none}.btn-confirm-modal:hover{opacity:.9}.penalty-section{margin-top:10px}.penalty-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.penalty-item{background:#eef3f7;padding:6px 10px;border-radius:6px}.logout-btn{background:#ff6b6b;border:none;padding:8px 14px;color:#fff;border-radius:8px;cursor:pointer}.logout-btn:hover{opacity:.8}.stars{display:flex;gap:6px;font-size:1.8rem;cursor:pointer;color:#f5b301}.star.filled{color:#f5b301}.star.small{font-size:1.2rem;color:#f5b301}.star.small.filled{color:#f5b301}:root{--primary: #81a2bb;--primary-light: #e8f0f7;--secondary: #91c4c3;--success: #b4debd;--success-dark: #2e7d32;--warning: #ffb74d;--danger: #f44336;--background-light: #fff7dd;--background-dark: #16191c;--accent-blue: #80a1ba;--text-primary: #0f172a;--text-secondary: #475569;--text-light: #94a3b8;--white: #ffffff;--border-color: rgba(129, 162, 187, .1);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1)}*{box-sizing:border-box}body{font-family:Poppins,sans-serif;background-color:var(--background-light);color:var(--text-primary);line-height:1.5;min-height:100vh}.dashboard-container{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background-color:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;padding:1rem 2rem;border-bottom:1px solid var(--border-color)}.header-content{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.header-content{flex-direction:row;align-items:center;justify-content:space-between}}.header-title h2{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.header-subtitle{font-size:.875rem;color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:1rem}.search-wrapper{position:relative;width:100%}@media(min-width:768px){.search-wrapper{width:20rem}}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:1.25rem}.search-input{width:100%;padding:.5rem 1rem .5rem 2.5rem;background-color:#f1f5f9;border:none;border-radius:.75rem;font-size:.875rem;font-family:Poppins,sans-serif}.search-input:focus{outline:none;box-shadow:0 0 0 2px var(--primary)}.download-btn{background-color:var(--primary);color:var(--white);border:none;padding:.5rem 1rem;border-radius:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.download-btn:hover{background-color:#6b8ca8}.content-wrapper{padding:2rem;max-width:1440px;margin:0 auto;width:100%}.stats-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background-color:var(--white);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);box-shadow:var(--shadow)}.stat-card.active-card{background-color:#91c4c333;border:1px solid rgba(145,196,195,.3)}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.stat-icon{padding:.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.stat-icon.present{background-color:#81a2bb1a;color:var(--primary)}.stat-icon.absent{background-color:#fee2e2;color:var(--danger)}.stat-icon.late{background-color:#fff3e0;color:var(--warning)}.stat-icon.active{background-color:var(--secondary);color:var(--white)}.stat-badge{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.stat-badge.success{color:var(--success-dark)}.stat-badge.warning{color:var(--danger)}.stat-badge.danger{color:var(--warning)}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.stat-value{font-size:1.875rem;font-weight:700;color:var(--text-primary)}.live-indicator{display:flex;align-items:center;gap:.375rem}.live-dot{width:.5rem;height:.5rem;background-color:var(--success-dark);border-radius:50%}.live-text{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--text-secondary)}.main-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1280px){.main-grid{grid-template-columns:1fr 2fr}}.qr-scanner-card{background-color:var(--white);border-radius:.75rem;border:1px solid var(--border-color);overflow:hidden;height:100%;display:flex;flex-direction:column}.card-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1.125rem;font-weight:700}.camera-badge{padding:.25rem .5rem;background-color:#b4debd33;color:var(--success-dark);font-size:.625rem;font-weight:700;border-radius:.375rem;text-transform:uppercase}.scanner-content{flex:1;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.scanner-frame{position:relative;width:16rem;height:16rem;background-color:#f1f5f9;border-radius:.75rem;overflow:hidden;border:4px solid var(--primary);display:flex;align-items:center;justify-content:center}.scanner-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(128,161,186,.1) 2px,transparent 2px),linear-gradient(90deg,rgba(128,161,186,.1) 2px,transparent 2px);background-size:20px 20px}.corner{position:absolute;width:2rem;height:2rem;border-style:solid;border-color:var(--primary);border-width:0}.corner.top-left{top:0;left:0;border-top-width:4px;border-left-width:4px}.corner.top-right{top:0;right:0;border-top-width:4px;border-right-width:4px}.corner.bottom-left{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px}.corner.bottom-right{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px}.scanner-center{z-index:10;background-color:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;border-radius:.75rem}.scanner-icon{color:var(--primary);font-size:3.75rem}.scanning-line{position:absolute;width:100%;height:.25rem;background-color:#81a2bb80;top:0;left:0;box-shadow:0 0 15px #80a1bacc;opacity:.5;animation:scan 2s linear infinite}@keyframes scan{0%{top:0}50%{top:100%}to{top:0}}.instruction-text{font-size:.875rem;color:var(--text-secondary);text-align:center}.scanner-controls{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.control-btn{background-color:#f1f5f9;border:none;padding:.5rem;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.control-btn:hover{background-color:#e2e8f0}.last-scanned{padding:1rem;background-color:#f8fafc;display:flex;align-items:center;gap:.75rem}.scanned-icon{width:2.5rem;height:2.5rem;border-radius:50%;background-color:#b4debd66;display:flex;align-items:center;justify-content:center;color:#166534}.scanned-info{flex:1}.scanned-label{font-size:.75rem;font-weight:700;color:var(--text-light);text-transform:uppercase}.scanned-name{font-size:.875rem;font-weight:600}.scanned-time{font-size:.75rem;color:var(--text-light)}.table-card{background-color:var(--white);border-radius:.75rem;border:1px solid var(--border-color);overflow:hidden}.card-subtitle{font-size:.75rem;color:var(--text-light);margin-top:.25rem}.view-all-btn{color:var(--primary);background:none;border:none;font-size:.875rem;font-weight:700;display:flex;align-items:center;gap:.25rem;cursor:pointer}.view-all-btn:hover{text-decoration:underline}.table-wrapper{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse;text-align:left}.staff-table thead{background-color:#f8fafc;color:var(--text-light);font-size:.75rem;font-weight:700;text-transform:uppercase}.staff-table th{padding:1rem 1.5rem}.staff-table td{padding:1rem 1.5rem;border-bottom:1px solid rgba(129,162,187,.05)}.staff-table tr:hover{background-color:#f8fafc80}.text-center{text-align:center}.staff-info{display:flex;align-items:center;gap:.75rem}.avatar{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.avatar.blue{background-color:#80a1ba33;color:var(--accent-blue)}.avatar.teal{background-color:#91c4c333;color:var(--secondary)}.avatar.primary{background-color:#81a2bb33;color:var(--primary)}.avatar.grey{background-color:#e2e8f0;color:var(--text-secondary)}.staff-name{font-size:.875rem;font-weight:600}.staff-id{font-size:.625rem;color:var(--text-light);letter-spacing:-.01em}.role-badge{padding:.25rem .625rem;font-size:.625rem;font-weight:700;border-radius:.5rem;display:inline-block}.role-badge.blue-badge{background-color:#dbeafe;color:#2563eb}.role-badge.teal-badge{background-color:#ccfbf1;color:#0f766e}.role-badge.amber-badge{background-color:#fed7aa;color:#b45309}.role-badge.grey-badge{background-color:#f1f5f9;color:var(--text-secondary)}.location{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.location-icon{font-size:.75rem;color:var(--text-light)}.status{display:flex;align-items:center;gap:.375rem}.status-dot{width:.375rem;height:.375rem;border-radius:50%}.status-dot.active{background-color:var(--success-dark)}.status-text{font-size:.75rem;color:var(--text-secondary)}@media(max-width:768px){.dashboard-header{padding:.75rem 1rem}.content-wrapper{padding:1.25rem 1rem 2rem}.header-actions{flex-direction:column;align-items:stretch}.download-btn{width:100%;justify-content:center}.scanner-frame{width:100%;max-width:14rem;height:14rem}.card-header{padding:1rem 1.25rem}.staff-table th,.staff-table td{padding:.75rem 1rem;font-size:.8rem}.staff-name{font-size:.8rem}.staff-id{font-size:.6rem}}@media(max-width:480px){.header-title h2{font-size:1.25rem}.stat-card{padding:1.1rem}.stat-value{font-size:1.5rem}.card-title{font-size:1rem}.status-text{font-size:.7rem}}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.attendance-table{width:100%;border-collapse:collapse;min-width:800px}.attendance-table th,.attendance-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb;font-size:14px}.attendance-table th{background-color:#f9fafb;font-weight:600}.attendance-table button{padding:6px 10px;margin-right:6px;border:none;border-radius:6px;cursor:pointer;font-size:12px}.attendance-table button:first-child{background-color:#facc15}.attendance-table button:last-child{background-color:#ef4444;color:#fff}@media(max-width:768px){.attendance-table thead{display:none}.attendance-table,.attendance-table tbody,.attendance-table tr,.attendance-table td{display:block;width:100%}.attendance-table tr{margin-bottom:15px;background:#fff;padding:15px;border-radius:10px;box-shadow:0 4px 10px #0000000d}.attendance-table td{text-align:right;padding-left:50%;position:relative;font-size:13px}.attendance-table td:before{content:attr(data-label);position:absolute;left:15px;width:45%;padding-right:10px;font-weight:600;text-align:left;color:#374151}.attendance-table td:last-child{text-align:center;padding-left:0}.attendance-table td:last-child:before{display:none}}.attendance-tabs{display:flex;gap:.5rem}.attendance-tabs button{padding:.5rem 1rem;border:1px solid #80a1ba;background:#fff;border-radius:8px;cursor:pointer;font-weight:500}.attendance-tabs button.active{background:#80a1ba;color:#fff;border-color:#80a1ba}.payment-details-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 3px 10px #0000000f}.payment-details-section h2{margin-top:0;font-size:1.25rem}.muted{color:#666;font-size:.9rem;margin-bottom:1rem}.add-payment-btn{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;margin-bottom:1rem}.add-payment-btn:hover{background:#218838}.worker-accounts-table-wrap{overflow-x:auto}.attendance-table .negative{color:#c00;font-weight:600}.small-btn{font-size:.85rem;padding:.25rem .5rem;background:#80a1ba;color:#fff;border:none;border-radius:6px;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;padding:1.5rem;border-radius:12px;min-width:320px;box-shadow:0 10px 30px #0003}.modal-box h3{margin-top:0}.modal-box label{display:block;margin-top:.75rem;font-weight:500}.modal-box input{width:100%;padding:.5rem;margin-top:.25rem;border:1px solid #ddd;border-radius:6px;box-sizing:border-box}.modal-actions{display:flex;gap:.5rem;margin-top:1.25rem}.modal-actions button{padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer}.modal-actions button:first-child{background:#80a1ba;color:#fff}.fine-option{display:flex;align-items:center;gap:4px;margin:.5rem 0;cursor:pointer}.fine-option input[type=checkbox]{width:auto;margin:0}.fine-option span:first-of-type{min-width:70px}.manual-entry-btn{margin-bottom:1rem}.manual-entry-modal{max-width:520px;max-height:90vh;overflow-y:auto}.manual-entry-modal h2{margin-top:0;margin-bottom:1rem}.attendance-form-inline label,.attendance-form-inline h4{display:block;margin-top:.75rem;margin-bottom:.25rem;font-weight:500}.attendance-form-inline input[type=text],.attendance-form-inline input[type=number],.attendance-form-inline input[type=date],.attendance-form-inline input[type=time],.attendance-form-inline select{width:100%;padding:.5rem;margin-bottom:.25rem;border:1px solid #ddd;border-radius:6px;box-sizing:border-box}.attendance-form-inline .modal-actions{margin-top:1.25rem;display:flex;gap:.5rem}.attendance-form-inline .modal-actions button:first-child{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.attendance-form-inline .modal-actions button[type=button]{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.attendance-form-inline .total-amount-display{font-size:1.25rem;font-weight:700;color:#1d3c6a;margin:.25rem 0 0}.site-attendance-section{margin-bottom:1.5rem}.site-attendance-section h2{margin-bottom:.75rem;font-size:1.25rem}.site-attendance-section label{display:block;margin-bottom:.35rem;font-weight:500}.site-select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;min-width:280px;margin-bottom:1rem}.site-info.card{background:#fff;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000f}.site-info.card p{margin:.25rem 0}.site-booked-workers-details.card{background:#fff;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000f}.site-booked-workers-details h3{margin:0 0 .75rem;font-size:1.1rem;color:#1d3c6a}.site-booked-workers-details .muted{margin-bottom:1rem}.site-workers-role-group{margin-bottom:1.25rem}.site-workers-role-group:last-child{margin-bottom:0}.site-workers-role-title{margin:0 0 .5rem;font-size:1rem;color:#334155;font-weight:700}.site-attendance-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.site-attendance-actions-right{display:flex;align-items:center;gap:.5rem}.site-search-input{padding:6px 10px;border-radius:6px;border:1px solid #d1d5db;font-size:.9rem}.site-search-input:focus{outline:none;border-color:#80a1ba;box-shadow:0 0 0 2px #80a1ba40}.site-booked-list-table-wrap{overflow-x:auto;margin-top:.5rem}.site-booked-list-table{width:100%;border-collapse:collapse;font-size:.95rem}.site-booked-list-table th,.site-booked-list-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #e2e8f0}.site-booked-list-table th{background:#f1f5f9;font-weight:700;color:#334155}.site-booked-list-table tbody tr:hover{background:#f8fafc}.site-workers-details-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.site-worker-detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem}.site-worker-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.site-worker-detail-header strong{font-size:1rem;color:#0f172a}.site-worker-role{font-size:.8rem;color:#64748b;background:#e2e8f0;padding:2px 8px;border-radius:6px;font-weight:600}.site-worker-detail-body{font-size:.9rem;color:#475569}.site-worker-detail-body p{margin:.25rem 0}.site-worker-detail-body .label{display:inline-block;min-width:5rem;font-weight:600;color:#334155}.site-attendance-table-wrap{overflow-x:auto;margin-bottom:1rem}.site-mark-table .site-input{width:64px;padding:4px 6px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px}.site-mark-table .site-fine{width:52px}.site-mark-table th,.site-mark-table td{padding:8px 6px;white-space:nowrap}.site-mark-table .net-cell{font-weight:600;color:#1d3c6a}.save-attendance-btn{background:#28a745;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer}.save-attendance-btn:hover{background:#218838}.report-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.download-report-btn{background:#1d3c6a;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer}.download-report-btn:hover{background:#153059}.site-mark-table .wage-cell{font-weight:600;color:#334155}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block}}.site-attendance-cards{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.worker-card{background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 4px 10px #0f172a0d;padding:.75rem .9rem}.worker-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer}.worker-card-main{display:flex;align-items:center;gap:.6rem}.worker-card-main input[type=checkbox]{width:18px;height:18px}.worker-card-text{display:flex;flex-direction:column;gap:2px}.worker-card-name{font-size:.95rem;font-weight:600;color:#0f172a}.worker-card-role{font-size:.8rem;color:#64748b}.worker-card-amounts{font-size:.8rem;color:#334155}.worker-card-toggle{border:none;background:transparent;font-size:.9rem;cursor:pointer;padding:2px 4px;color:#64748b}.worker-card-details{margin-top:.6rem}.worker-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem}.worker-card-field label{display:block;font-size:.75rem;font-weight:500;color:#6b7280;margin-bottom:2px}.worker-card-field input{width:100%;padding:4px 6px;font-size:.8rem;border-radius:4px;border:1px solid #e2e8f0}.worker-card-net{font-weight:600;color:#1d3c6a;margin-top:.2rem}.site-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin:.75rem 0}.site-pagination-info{font-size:.8rem;color:#64748b}.mobile-save-bar{position:sticky;bottom:0;left:0;right:0;padding:.5rem 0;background:linear-gradient(to top,#fff7ddfa,#fff7dde6);display:flex;justify-content:center;z-index:5}
