@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');*{box-sizing:border-box}body{margin:0;background:#f3f6f7;color:#20313d;font-family:'IBM Plex Sans Arabic',Tahoma,Arial}a{color:#167b68;text-decoration:none}.logo{font-size:30px;font-weight:700;color:#142f40;direction:ltr}.logo span{color:#27a98b}.center{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#e9f3f1,#f7f8fa)}.card{width:min(100%,520px);background:#fff;padding:32px;border:1px solid #e2e9e9;border-radius:18px;box-shadow:0 15px 50px #173b4a12}.card h1{font-size:24px}.card p,.card small,.muted{color:#7b8a91;line-height:1.8}.card label,.grid label{display:block;margin:12px 0;font-size:13px;font-weight:600}.card input,.grid input,.grid select,.search input{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #dce5e6;border-radius:9px;font:inherit;background:white}.card button,.grid button,.search button,.small-btn{border:0;background:#167b68;color:white;padding:12px 18px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}.card button{width:100%;margin-top:12px}.error{background:#fff0ed;color:#a43e30;padding:12px;border-radius:8px;margin:12px 0}.notice{background:#e7f4ee;color:#176b4b;padding:12px;border-radius:8px;margin:15px 0}header{background:white;border-bottom:1px solid #e3e9e9;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;gap:12px}.wrap{max-width:1180px;margin:30px auto;padding:0 20px}.hero{background:linear-gradient(120deg,#142f40,#176e63);color:white;border-radius:16px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center}.hero h1{margin:8px 0}.hero p{color:#d2e5e1}.hero small{letter-spacing:2px;color:#a8dfd2}.hero b{font-size:90px;color:#ffffff20}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.stats div,.panel{background:white;border:1px solid #e4ebeb;border-radius:14px;padding:20px}.stats small{display:block;color:#7b8a91}.stats strong{font-size:28px;overflow-wrap:anywhere}.panel{margin:18px 0}.panel h2{font-size:19px;margin:0 0 18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:end}.grid small{display:block;color:#7b8a91;font-weight:400;margin-top:4px}.grid button{height:46px}.table{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{text-align:right;padding:13px;border-bottom:1px solid #edf0f0;font-size:13px}th{color:#7b8a91}.nav{display:flex;gap:8px;margin:16px 0}.nav a{background:#fff;border:1px solid #e2e9e9;padding:10px 18px;border-radius:9px}.nav a.selected{background:#167b68;color:white;border-color:#167b68}.button{display:inline-block;background:#167b68;color:#fff;padding:10px 16px;border-radius:8px}.search{display:flex;gap:8px;align-items:center;margin-bottom:16px}.search input{max-width:360px;margin:0}.small-btn{font-size:12px;padding:7px 11px}.inline{display:inline}code{direction:ltr;display:inline-block;background:#eff5f3;padding:5px;border-radius:5px}footer{text-align:center;color:#9aa6aa;padding:25px;font-size:12px}@media(max-width:650px){header{display:block}header>div+div{margin-top:8px}.stats{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.hero b{display:none}.wrap{padding:0 12px}.panel-title{align-items:flex-start;flex-direction:column}.search{flex-wrap:wrap}.search input{max-width:none;flex:1}}

/* Academio premium academy workspace */
body.academy-app{background:#f1f5f2;color:#1e302a;min-height:100vh}
.academy-app header.topbar{height:76px;padding:12px 34px;background:#fff;border:0;border-bottom:1px solid #e4ebe7;margin-right:286px;display:flex;align-items:center;justify-content:space-between}
.sidebar{position:fixed;z-index:5;right:0;top:0;bottom:0;width:286px;background:linear-gradient(180deg,#0d352d,#092c25);color:#d8eee5;padding:24px 18px;display:flex;flex-direction:column;overflow-y:auto}
.side-brand{display:flex;align-items:center;gap:13px;padding:6px 4px 24px;border-bottom:1px solid #ffffff20;direction:ltr}
.brand-mark{width:52px;height:52px;border:1px solid #b88d4b;border-radius:15px;display:grid;place-items:center;color:#e9c68d;font-size:27px;font-weight:700;background:#ffffff0c}
.side-brand strong{display:block;color:#fff;letter-spacing:1.5px;font-size:16px}.side-brand small{display:block;font-size:9px;letter-spacing:1.2px;color:#a9c8bd;margin-top:4px}
.side-academy{padding:18px 8px 8px;color:#fff;font-weight:700;text-align:right}
.side-label{font-size:11px;color:#8eafa3;margin:22px 10px 9px}
.side-link{min-height:48px;padding:10px 12px;border-radius:12px;display:flex;align-items:center;gap:12px;color:#d2e9df;font-size:13px;margin:3px 0;position:relative}
.side-link>span{width:29px;height:29px;border-radius:9px;background:#ffffff12;display:grid;place-items:center;color:#d3e8dd;font-size:16px}
.side-link.active{background:#ffffff20;color:white;box-shadow:inset -3px 0 #d5a45c;border:1px solid #ffffff20}
.side-link.active>span{background:#e3c18c;color:#173a30}
.muted-link{opacity:.55;cursor:default}.muted-link small{margin-right:auto;font-size:9px;color:#a8c5ba}
.side-bottom{margin-top:auto;border-top:1px solid #ffffff20;padding:18px 8px 4px;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.side-bottom small{display:block;color:#9db9ad;font-size:10px}.side-bottom a{color:#e4c18b;font-size:11px;white-space:nowrap}
.main-area{margin-right:286px;min-height:100vh}.content{max-width:1500px;margin:0 auto;padding:32px 34px}
.crumb{font-size:13px;color:#81918a}.crumb span{padding:0 12px;color:#bdc8c2}
.top-user{display:flex;align-items:center;gap:10px;font-size:12px}.top-user small{display:block;color:#94a29b;font-size:10px}.avatar{width:38px;height:38px;border-radius:50%;background:#e5f0ea;color:#286d58;display:grid;place-items:center;font-weight:700}
.welcome-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 25px}.welcome-row h1{font-size:25px;margin:0 0 5px;font-weight:700}.welcome-row h1 span{color:#d6a45e}.welcome-row p{margin:0;color:#87968e;font-size:12px}
.academy-app .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 18px}
.academy-app .stat-card{background:#fff;border:1px solid #e4ebe7;border-radius:15px;padding:21px 22px;min-height:126px;position:relative;overflow:hidden}
.academy-app .stat-card small{display:block;color:#8a9b92;font-size:12px}.academy-app .stat-card strong{display:block;font-size:30px;line-height:1.5;color:#1e302a}.academy-app .stat-card em{font-style:normal;color:#36866e;font-size:10px}.stat-icon{position:absolute;left:18px;top:20px;width:39px;height:39px;border-radius:12px;background:#e8f2ec;color:#28765e;display:grid;place-items:center;font-size:17px}
.academy-app .panel{background:#fff;border:1px solid #e4ebe7;border-radius:15px;padding:22px;margin:17px 0;box-shadow:0 4px 18px #173b4a05}
.academy-app .panel h2{font-size:16px;color:#1e302a}.academy-app .panel-title{margin-bottom:8px}.academy-app .button,.academy-app .grid button,.academy-app .search button{background:#216b56}
.academy-app .grid{gap:10px 18px}.academy-app .grid input,.academy-app .grid select,.academy-app .search input{border-color:#e0e8e3;background:#fbfcfb}
.academy-app .nav{display:none}.academy-app .error,.academy-app .notice{margin:12px 0}
.academy-app table th{background:#f8faf8}.academy-app td,.academy-app th{padding:14px 12px}
.academy-app footer{color:#9aa79f;padding:20px}
@media(max-width:1000px){.sidebar{width:235px}.main-area{margin-right:235px}.academy-app header.topbar{margin-right:235px}.academy-app .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:25px 20px}}
@media(max-width:680px){.sidebar{position:relative;width:100%;height:auto;max-height:none;padding:14px}.side-brand{padding-bottom:12px}.side-label,.side-bottom,.side-academy{display:none}.sidebar .side-link{display:inline-flex;width:calc(50% - 5px);vertical-align:top;min-height:42px}.main-area{margin:0}.academy-app header.topbar{margin:0;height:auto;padding:12px 16px}.content{padding:20px 12px}.academy-app .stats{grid-template-columns:1fr 1fr}.welcome-row h1{font-size:20px}.academy-app .stat-card{padding:16px;min-height:112px}.stat-icon{display:none}}

/* Google-Calendar-like booking planner */
.calendar-panel{overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.calendar-toolbar h2{margin:0 0 4px!important;font-size:20px!important}.calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-nav,.cal-today,.cal-view-switch a{height:38px;min-width:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e0e8e3;border-radius:9px;background:#fff;color:#36574b;font-weight:600;padding:0 12px}.cal-nav{font-size:23px}.cal-view-switch{display:flex;border:1px solid #dfe8e2;border-radius:10px;overflow:hidden;margin-right:8px}.cal-view-switch a{border:0;border-radius:0}.cal-view-switch a.active{background:#216b56;color:#fff}.calendar-filters{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:10px 0 18px;flex-wrap:wrap}.calendar-filters label{font-size:12px;color:#73867d;display:flex;align-items:center;gap:10px}.calendar-filters select{min-width:190px;padding:10px 12px;border:1px solid #dfe8e2;border-radius:9px;background:#fbfcfb;font:inherit;color:#263b32}.calendar-filters .button{border:0;cursor:pointer;font:inherit;font-weight:700}
.week-calendar{display:grid;grid-template-columns:65px repeat(var(--day-count),minmax(110px,1fr));direction:rtl;border:1px solid #e6ece8;border-radius:12px;overflow:auto;max-height:720px;background:#fff}.time-gutter,.calendar-day-column{min-width:0}.time-head,.calendar-day-head{height:58px;position:sticky;top:0;z-index:3;background:#f8faf8;border-bottom:1px solid #e5ece7}.time-head{display:grid;place-items:center;color:#84948c;font-size:10px}.calendar-day-head{display:flex;align-items:center;justify-content:center;gap:7px;flex-direction:column;border-right:1px solid #e8eeea}.calendar-day-head strong{font-size:17px;color:#203b30}.calendar-day-head span{font-size:11px;color:#819188}.time-label{height:64px;text-align:center;padding-top:5px;color:#87968e;font-size:10px;border-top:1px solid #edf1ee;direction:ltr}.calendar-day-body{height:1152px;position:relative;border-right:1px solid #e8eeea;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,#e9efeb 63px,#e9efeb 64px)}.calendar-slot{position:absolute;right:0;left:0;width:100%;height:64px;border:0;background:transparent;cursor:pointer;z-index:1}.calendar-slot:hover{background:#eaf5ef88}.calendar-event{position:absolute;z-index:2;right:3px;width:calc(100% - 6px);border:0;border-right:3px solid #23775e;border-radius:6px;background:#e4f2e9;color:#1d5945;text-align:right;padding:5px 7px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:2px;font:inherit;font-size:11px;line-height:1.35}.calendar-event span,.calendar-event small{font-size:10px;opacity:.85}.calendar-event.status-pending{background:#fff1d8;border-right-color:#d79b38;color:#805a1d}.calendar-event.status-cancelled{background:#fce9e7;border-right-color:#c85a4d;color:#8d3931}.calendar-event.status-completed{background:#e9edf5;border-right-color:#7285a3;color:#42546e}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:#75877e}.legend-confirmed{color:#23775e}.legend-pending{color:#c18a2f}.legend-cancelled{color:#c85a4d}.calendar-empty{text-align:center;padding:18px;background:#f8faf8;border-radius:9px;margin-top:14px}
.month-calendar{border:1px solid #e5ece7;border-radius:12px;overflow:auto}.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));min-width:735px}.month-weekdays>div{text-align:center;padding:12px 5px;background:#f8faf8;color:#7d8e85;font-size:11px;border-bottom:1px solid #e5ece7}.month-day{min-height:118px;border-left:1px solid #edf1ee;border-bottom:1px solid #edf1ee;padding:7px;position:relative;display:flex;align-items:stretch;flex-direction:column;gap:4px}.month-day.outside{background:#fafbfa;color:#aeb8b2}.month-day>strong{font-size:12px;margin-bottom:3px}.month-event{border:0;border-right:3px solid #23775e;background:#e4f2e9;color:#205b47;border-radius:5px;padding:4px 5px;text-align:right;font:inherit;font-size:10px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-event.status-pending{background:#fff1d8;border-right-color:#d79b38;color:#805a1d}.month-event.status-cancelled{background:#fce9e7;border-right-color:#c85a4d;color:#8d3931}.month-add{border:0;background:transparent;color:#218067;text-align:right;cursor:pointer;font-size:12px;margin-top:auto;opacity:.65}.month-add:hover{opacity:1}
.calendar-modal{display:none;position:fixed;inset:0;background:#102b2488;z-index:30;padding:20px;align-items:center;justify-content:center}.calendar-modal.open{display:flex}.calendar-modal-card{background:#fff;border-radius:16px;padding:26px;width:min(720px,100%);max-height:90vh;overflow:auto;position:relative;box-shadow:0 20px 60px #0002}.calendar-modal-card h2{margin:0 0 18px;font-size:19px}.calendar-modal-card .grid{gap:10px 16px}.calendar-modal-card input,.calendar-modal-card select{min-width:0}.modal-close{position:absolute;left:14px;top:10px;border:0;background:#f1f5f2;border-radius:8px;width:32px;height:32px;font-size:22px;cursor:pointer;color:#405b4f}
@media(max-width:760px){.calendar-toolbar{align-items:flex-start}.calendar-actions{width:100%}.week-calendar{grid-template-columns:52px repeat(var(--day-count),minmax(100px,1fr));max-height:68vh}.calendar-day-head{height:54px}.calendar-filters{align-items:stretch}.calendar-filters label{width:100%;justify-content:space-between}.calendar-filters select{flex:1;min-width:0}.calendar-modal-card{padding:22px 16px}.calendar-modal-card .grid{grid-template-columns:1fr}}

/* Refined date navigation and 12-hour booking time controls */
.calendar-date-jump{display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #e1e9e3;border-radius:11px;background:#f9fbf9;color:#71847a;font-size:11px}
.calendar-date-jump input{border:1px solid #dce7df;border-radius:8px;background:#fff;color:#203b30;padding:8px 10px;font:inherit;font-size:12px;min-height:36px;cursor:pointer;direction:ltr}
.calendar-date-jump input:focus,.booking-date-time input:focus,.time-parts select:focus{outline:3px solid #d9eee4;border-color:#39856d}
.booking-date-time{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1;padding:13px;background:#f7faf8;border:1px solid #e7eee9;border-radius:12px}
.booking-date-time label{display:block;font-size:12px;font-weight:600;color:#52685d}
.booking-date-time input{display:block;width:100%;margin-top:7px;min-height:44px;padding:9px 12px;border:1px solid #dce7df;border-radius:9px;background:#fff;color:#203b30;font:inherit;direction:ltr}
.time-parts{display:flex;align-items:center;gap:6px;margin-top:7px;direction:ltr}
.time-parts select{flex:1;min-width:0;height:44px;padding:7px 8px;border:1px solid #dce7df;border-radius:9px;background:#fff;color:#203b30;font:inherit;text-align:center}
.time-parts span{font-weight:700;color:#708278}
.calendar-date-jump span{white-space:nowrap}
@media(max-width:760px){.calendar-date-jump{width:100%;justify-content:space-between}.calendar-date-jump input{flex:1}.booking-date-time{grid-template-columns:1fr}.booking-date-time{gap:10px}}


/* Academio date picker and date-range polish */
.calendar-date-jump{
  gap:10px;
  padding:7px 10px;
  border:1px solid #dce8e1;
  border-radius:14px;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8f5 100%);
  box-shadow:0 3px 12px #183d2c0a;
  color:#526b5e;
}
.calendar-date-jump span{
  font-size:12px;
  font-weight:600;
  color:#668073;
}
.calendar-date-jump input{
  min-width:154px;
  min-height:42px;
  padding:9px 12px;
  border:1px solid #d8e5dc;
  border-radius:10px;
  background:#fff;
  color:#1e4939;
  font-size:13px;
  font-weight:600;
  box-shadow:inset 0 1px 2px #163b2b08;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.calendar-date-jump input:hover{
  border-color:#9bbdad;
  background:#fcfffd;
}
.calendar-date-jump input:focus{
  outline:0;
  border-color:#328267;
  box-shadow:0 0 0 3px #32826720;
}
.calendar-date-jump input::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.75;
  padding:3px;
  border-radius:5px;
}
.calendar-date-jump input::-webkit-calendar-picker-indicator:hover{
  background:#e8f2ec;
}
/* Optional wrapper/class for the displayed calendar period */
.calendar-range-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid #e1eae4;
  border-radius:12px;
  background:#f7faf8;
  color:#315b49;
  font-size:15px;
  font-weight:600;
  letter-spacing:.1px;
  direction:rtl;
}
.calendar-range-label small{
  color:#81958a;
  font-size:11px;
  font-weight:500;
}
@media(max-width:760px){
  .calendar-date-jump{
    padding:8px;
    gap:7px;
    border-radius:12px;
  }
  .calendar-date-jump span{font-size:11px}
  .calendar-date-jump input{
    min-width:0;
    width:100%;
    min-height:42px;
    font-size:12px;
  }
}
