@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Noto+Sans+Devanagari:wght@400;500;600;700&display=swap');

:root {
  --primary:#FF6B00; --primary-dark:#E05A00; --primary-light:#FF8C33; --primary-ul:#FFF3E8;
  --success:#22C55E; --success-l:#DCFCE7; --danger:#EF4444; --danger-l:#FEE2E2;
  --warning:#F59E0B; --warning-l:#FEF3C7; --info:#3B82F6; --info-l:#DBEAFE;
  --dark:#1A1A2E; --gray-900:#111827; --gray-700:#374151; --gray-500:#6B7280;
  --gray-300:#D1D5DB; --gray-100:#F3F4F6; --white:#FFFFFF; --bg:#F8F5F2;
  --shadow:0 4px 20px rgba(255,107,0,0.08);
  --shadow-h:0 8px 30px rgba(255,107,0,0.15);
  --r:16px; --rl:24px; --rs:10px;
  --nav:70px; --hdr:60px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{font-family:'Baloo 2','Noto Sans Devanagari',sans-serif;background:var(--bg);color:var(--gray-900);min-height:100vh;max-width:480px;margin:0 auto;overflow-x:hidden;}

/* SCROLLBAR */
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:2px;}

/* HEADER */
.app-header{position:sticky;top:0;z-index:100;background:white;border-bottom:1px solid rgba(255,107,0,0.1);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;height:var(--hdr);box-shadow:0 2px 12px rgba(255,107,0,0.08);}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;}
.logo-icon{width:34px;height:34px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;}
.logo-text{font-size:15px;font-weight:700;color:var(--primary);line-height:1.1;}
.logo-sub{font-size:10px;color:var(--gray-500);font-weight:400;}
.header-actions{display:flex;gap:7px;}
.icon-btn{width:34px;height:34px;border-radius:9px;background:var(--primary-ul);border:none;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:15px;cursor:pointer;transition:all 0.2s;text-decoration:none;}
.icon-btn:hover{background:var(--primary);color:white;}

/* PAGE */
.page-container{padding:14px;padding-bottom:calc(var(--nav) + 20px);min-height:calc(100vh - var(--hdr));}

/* BOTTOM NAV */
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:var(--nav);background:white;border-top:1px solid rgba(255,107,0,0.1);display:flex;align-items:center;justify-content:space-around;padding:0 6px;box-shadow:0 -4px 20px rgba(0,0,0,0.07);z-index:100;}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 10px;border-radius:9px;text-decoration:none;color:var(--gray-500);transition:all 0.2s;min-width:55px;position:relative;}
.nav-icon{font-size:21px;transition:transform 0.2s;}
.nav-label{font-size:9px;font-weight:600;white-space:nowrap;}
.nav-item.active{color:var(--primary);}
.nav-item.active .nav-icon{transform:translateY(-2px);}
.nav-item.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:3px;background:var(--primary);border-radius:0 0 3px 3px;}

/* CARDS */
.card{background:white;border-radius:var(--r);box-shadow:var(--shadow);border:1px solid rgba(255,107,0,0.06);overflow:hidden;margin-bottom:12px;transition:box-shadow 0.2s;}
.card:hover{box-shadow:var(--shadow-h);}
.card-header-custom{padding:12px 15px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;}
.card-title{font-size:14px;font-weight:700;color:var(--gray-900);display:flex;align-items:center;gap:7px;}
.card-body-custom{padding:13px 15px;}

/* STAT CARDS */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.stat-card{background:white;border-radius:var(--r);padding:14px;box-shadow:var(--shadow);border:1px solid rgba(255,107,0,0.06);transition:all 0.2s;}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-h);}
.stat-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:9px;}
.stat-value{font-size:22px;font-weight:800;color:var(--gray-900);line-height:1;}
.stat-label{font-size:10px;color:var(--gray-500);margin-top:3px;font-weight:500;}
.stat-card.orange{border-left:4px solid var(--primary);} .stat-card.orange .stat-icon{background:var(--primary-ul);}
.stat-card.green{border-left:4px solid var(--success);}   .stat-card.green .stat-icon{background:var(--success-l);}
.stat-card.red{border-left:4px solid var(--danger);}      .stat-card.red .stat-icon{background:var(--danger-l);}
.stat-card.yellow{border-left:4px solid var(--warning);}  .stat-card.yellow .stat-icon{background:var(--warning-l);}
.stat-card.blue{border-left:4px solid var(--info);}       .stat-card.blue .stat-icon{background:var(--info-l);}

/* STAFF CARD */
.staff-card{background:white;border-radius:var(--r);padding:14px;box-shadow:var(--shadow);border:1px solid rgba(255,107,0,0.06);margin-bottom:10px;display:flex;align-items:center;gap:12px;transition:all 0.2s;}
.staff-card:hover{box-shadow:var(--shadow-h);transform:translateY(-1px);}
.staff-avatar{width:50px;height:50px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:white;flex-shrink:0;text-transform:uppercase;}
.staff-info{flex:1;min-width:0;}
.staff-name{font-size:15px;font-weight:700;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.staff-role{font-size:11px;color:var(--gray-500);margin-top:2px;}
.staff-salary{font-size:12px;font-weight:700;color:var(--primary);margin-top:3px;}
.staff-actions{display:flex;gap:5px;flex-shrink:0;}

/* BADGES */
.badge-custom{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:3px;}
.badge-present{background:var(--success-l);color:var(--success);}
.badge-absent{background:var(--danger-l);color:var(--danger);}
.badge-halfday{background:var(--warning-l);color:var(--warning);}
.badge-active{background:var(--success-l);color:var(--success);}
.badge-inactive{background:var(--gray-100);color:var(--gray-500);}
.badge-paid{background:var(--success-l);color:var(--success);}
.badge-pending{background:var(--warning-l);color:var(--warning);}

/* ATTENDANCE BUTTONS */
.attendance-btn-group{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.att-btn{border:none;border-radius:var(--rs);padding:10px 4px;font-size:11px;font-weight:700;cursor:pointer;transition:all 0.2s;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:'Baloo 2','Noto Sans Devanagari',sans-serif;}
.btn-emoji{font-size:18px;}
.att-btn-present{background:var(--success-l);color:var(--success);border:2px solid transparent;}
.att-btn-absent{background:var(--danger-l);color:var(--danger);border:2px solid transparent;}
.att-btn-halfday{background:var(--warning-l);color:var(--warning);border:2px solid transparent;}
.att-btn-present.selected{background:var(--success);color:white;border-color:var(--success);}
.att-btn-absent.selected{background:var(--danger);color:white;border-color:var(--danger);}
.att-btn-halfday.selected{background:var(--warning);color:white;border-color:var(--warning);}
.att-btn:active{transform:scale(0.95);}
.att-row{background:white;border-radius:var(--r);padding:13px;margin-bottom:9px;box-shadow:var(--shadow);border:1px solid rgba(255,107,0,0.06);}

/* FORMS */
.form-section{background:white;border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin-bottom:14px;}
.form-label-custom{font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:6px;display:block;}
.form-control-custom{width:100%;padding:11px 15px;border:1.5px solid var(--gray-300);border-radius:var(--rs);font-size:14px;font-family:'Baloo 2','Noto Sans Devanagari',sans-serif;color:var(--gray-900);background:white;transition:border-color 0.2s,box-shadow 0.2s;outline:none;-webkit-appearance:none;}
.form-control-custom:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,107,0,0.1);}
.form-group-custom{margin-bottom:14px;}

/* BUTTONS */
.btn-primary-custom{width:100%;padding:13px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;border:none;border-radius:var(--rs);font-size:15px;font-weight:700;font-family:'Baloo 2','Noto Sans Devanagari',sans-serif;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 12px rgba(255,107,0,0.28);display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;}
.btn-primary-custom:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,107,0,0.35);color:white;}
.btn-primary-custom:active{transform:scale(0.97);}
.btn-secondary-custom{width:100%;padding:11px;background:var(--primary-ul);color:var(--primary);border:1.5px solid rgba(255,107,0,0.25);border-radius:var(--rs);font-size:13px;font-weight:700;font-family:'Baloo 2','Noto Sans Devanagari',sans-serif;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;}
.btn-sm-icon{width:32px;height:32px;border-radius:9px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;font-size:13px;}
.btn-edit{background:var(--info-l);color:var(--info);}
.btn-delete{background:var(--danger-l);color:var(--danger);}
.btn-view{background:var(--primary-ul);color:var(--primary);}
.btn-sm-icon:hover{transform:scale(1.1);}

/* FAB */
.fab{position:fixed;bottom:calc(var(--nav) + 14px);right:16px;width:54px;height:54px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;border:none;border-radius:50%;font-size:26px;cursor:pointer;box-shadow:0 6px 20px rgba(255,107,0,0.38);display:flex;align-items:center;justify-content:center;transition:all 0.2s;z-index:99;text-decoration:none;}
.fab:hover{transform:scale(1.1) rotate(90deg);color:white;}
.fab:active{transform:scale(0.95);}

/* PAGE TITLES */
.page-title{font-size:19px;font-weight:800;color:var(--gray-900);margin-bottom:3px;}
.page-subtitle{font-size:12px;color:var(--gray-500);margin-bottom:16px;}
.section-title{font-size:13px;font-weight:700;color:var(--gray-700);display:flex;align-items:center;gap:5px;margin-bottom:10px;}
.section-title::after{content:'';flex:1;height:1px;background:var(--gray-300);}

/* GREETING BANNER */
.greeting-banner{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--rl);padding:18px;color:white;margin-bottom:14px;position:relative;overflow:hidden;}
.greeting-banner::before{content:'🍬';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:56px;opacity:0.25;}
.greeting-title{font-size:18px;font-weight:800;}
.greeting-sub{font-size:12px;opacity:0.85;margin-top:3px;}
.greeting-date{font-size:11px;opacity:0.7;margin-top:5px;background:rgba(255,255,255,0.15);display:inline-block;padding:3px 10px;border-radius:20px;}

/* CALENDAR */
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-day-header{text-align:center;font-size:10px;font-weight:700;color:var(--gray-500);padding:3px 0;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:11px;font-weight:600;}
.cal-day.present{background:var(--success);color:white;}
.cal-day.absent{background:var(--danger-l);color:var(--danger);}
.cal-day.halfday{background:var(--warning);color:white;}
.cal-day.today{outline:2px solid var(--primary);outline-offset:1px;}
.cal-day.empty{background:transparent;}
.cal-day.future{background:var(--gray-100);color:var(--gray-300);}

/* TABLES */
.table-card{background:white;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:12px;}
.table-responsive-custom{overflow-x:auto;}
.custom-table{width:100%;border-collapse:collapse;}
.custom-table th{background:var(--primary-ul);color:var(--primary);font-size:11px;font-weight:700;padding:9px 11px;text-align:left;white-space:nowrap;}
.custom-table td{font-size:12px;padding:9px 11px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);}
.custom-table tr:last-child td{border-bottom:none;}
.custom-table tr:hover td{background:var(--primary-ul);}

/* ALERTS */
.alert-custom{padding:10px 14px;border-radius:var(--rs);font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px;margin-bottom:12px;}
.alert-success{background:var(--success-l);color:#16A34A;border:1px solid #86EFAC;}
.alert-error{background:var(--danger-l);color:#DC2626;border:1px solid #FCA5A5;}
.alert-warning{background:var(--warning-l);color:#D97706;border:1px solid #FCD34D;}
.alert-info{background:var(--info-l);color:#2563EB;border:1px solid #93C5FD;}

/* SALARY SUMMARY */
.salary-summary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--rl);padding:18px;color:white;margin-bottom:14px;}
.salary-summary .amount{font-size:30px;font-weight:800;margin:6px 0;}
.salary-summary .label{font-size:11px;opacity:0.8;}
.salary-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;}
.salary-detail-item{background:rgba(255,255,255,0.15);border-radius:9px;padding:9px;}
.salary-detail-item .d-label{font-size:10px;opacity:0.8;}
.salary-detail-item .d-value{font-size:15px;font-weight:700;margin-top:2px;}

/* LOGIN */
.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--primary-ul),white);padding:20px;}
.login-card{background:white;border-radius:var(--rl);padding:34px 26px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(255,107,0,0.14);}
.login-logo{text-align:center;margin-bottom:26px;}
.logo-big{width:76px;height:76px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 10px;box-shadow:0 8px 24px rgba(255,107,0,0.28);}
.login-logo h1{font-size:21px;font-weight:800;color:var(--primary);}
.login-logo p{font-size:12px;color:var(--gray-500);margin-top:3px;}

/* EMPTY STATE */
.empty-state{text-align:center;padding:40px 20px;}
.empty-icon{font-size:58px;margin-bottom:10px;}
.empty-title{font-size:17px;font-weight:700;color:var(--gray-700);}
.empty-text{font-size:12px;color:var(--gray-500);margin-top:5px;}

/* MISC */
.info-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--gray-100);font-size:13px;}
.info-row:last-child{border-bottom:none;}
.info-row .label{color:var(--gray-500);font-weight:500;}
.info-row .value{color:var(--gray-900);font-weight:700;}
.divider{height:1px;background:var(--gray-100);margin:10px 0;}
.text-orange{color:var(--primary);} .text-green{color:var(--success);} .text-red{color:var(--danger);}
.fw-800{font-weight:800;}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:16px;}
.modal-sheet{background:white;border-radius:var(--rl) var(--rl) 0 0;width:100%;max-width:480px;padding:22px 18px;}
.modal-handle{width:34px;height:4px;background:var(--gray-300);border-radius:2px;margin:0 auto 18px;}

/* TOAST */
.toast-container{position:fixed;top:68px;left:50%;transform:translateX(-50%);z-index:9999;width:calc(100% - 28px);max-width:440px;pointer-events:none;}
.toast-item{border-radius:var(--rs);padding:11px 15px;font-size:13px;font-weight:600;margin-bottom:7px;display:flex;align-items:center;gap:7px;animation:toastIn 0.3s ease;pointer-events:all;box-shadow:0 4px 20px rgba(0,0,0,0.13);}
@keyframes toastIn{from{transform:translateY(-16px);opacity:0;}to{transform:translateY(0);opacity:1;}}

@media(min-width:481px){body{box-shadow:0 0 60px rgba(0,0,0,0.08);}}
