/* School Tutor: assets/css/style.css — Responsive UI, branding และ Admin layout */
*{box-sizing:border-box}body{font-family:"IBM Plex Sans Thai",sans-serif;background:#f7f9fc;color:#152238}a{text-decoration:none}.navbar-brand{color:#173b75!important}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#173b75,#5e8ee8);color:#fff}.hero{background:radial-gradient(circle at top right,#dfeaff 0,transparent 35%),linear-gradient(135deg,#fff,#f3f7ff);border:1px solid #e5ebf5;border-radius:28px;padding:3.5rem 2rem}.soft-card{background:#fff;border:1px solid #e8edf5;border-radius:20px;box-shadow:0 8px 30px rgba(30,55,90,.05)}.card{border-color:#e8edf5;border-radius:18px}.btn,.form-control,.form-select{border-radius:12px}.btn-primary{background:#244f91;border-color:#244f91}.badge-soft{background:#eaf1ff;color:#244f91}.avatar{width:64px;height:64px;object-fit:cover;border-radius:18px;background:#e8edf5}.avatar-lg{width:120px;height:120px;object-fit:cover;border-radius:28px;background:#e8edf5}.stat-card{padding:1.25rem}.stat-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eef4ff;color:#244f91}.empty-state{padding:3rem;text-align:center;color:#718096}.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-body{background:#f3f6fb}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:260px;background:#152f58;padding:1.25rem;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:1040}.admin-brand{color:#fff;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:.65rem;margin-bottom:.35rem}.admin-sidebar .nav-link{color:#c9d5e8;padding:.7rem .8rem;border-radius:10px}.admin-sidebar .nav-link:hover{background:#244a80;color:#fff}.admin-main{margin-left:260px;width:calc(100% - 260px)}.admin-topbar{height:68px;background:#fff;border-bottom:1px solid #e6ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:1020}@media(max-width:992px){.admin-sidebar{transform:translateX(-100%);transition:.2s}.admin-sidebar.show{transform:none}.admin-main{margin-left:0;width:100%}.hero{padding:2rem 1rem}}


/* Privacy Policy modal */
.privacy-modal .modal-content{border:0;border-radius:24px;box-shadow:0 24px 70px rgba(25,48,82,.22);overflow:hidden}.privacy-modal .modal-header{background:linear-gradient(135deg,#f4f8ff,#fff);border-bottom:1px solid #e8edf5;padding:1.4rem 1.5rem}.privacy-shield{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#eaf1ff;color:#244f91;font-size:1.4rem;flex:0 0 auto}.privacy-list{display:grid;gap:.85rem}.privacy-item{display:flex;gap:.75rem;align-items:flex-start}.privacy-item i{color:#244f91;margin-top:.15rem}.privacy-note{background:#f7f9fc;border:1px solid #e8edf5;border-radius:14px;padding:.9rem 1rem}
/* Tutor availability date/time picker */
.schedule-picker{background:linear-gradient(135deg,#f7faff,#fff);border:1px solid #dfe8f6;border-radius:18px}.schedule-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eaf1ff;color:#244f91;font-size:1.15rem;flex:0 0 auto}.digital-clock-card{min-width:180px;background:#10284b;color:#fff;border-radius:16px;padding:.8rem 1rem;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 24px rgba(16,40,75,.16)}.digital-clock-label{font-size:.78rem;color:#c9d6ea}.digital-clock-value{font-size:1.45rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;line-height:1.2}.digital-clock-card small{color:#93a9c9}.digital-time-input{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.03em}
@media(max-width:576px){.digital-clock-card{width:100%}.privacy-modal .modal-footer{flex-direction:column-reverse}.privacy-modal .modal-footer .btn{width:100%;margin:0}}



/* Registration member type cards */
.member-type-card{display:block;cursor:pointer;height:100%}.member-type-card input{position:absolute;opacity:0;pointer-events:none}.member-type-card span{display:flex;gap:.75rem;align-items:center;border:1px solid #dbe3ef;border-radius:16px;padding:1rem;height:100%;transition:.2s;background:#fff}.member-type-card i{font-size:1.5rem;color:var(--bs-primary)}.member-type-card strong{display:block}.member-type-card small{display:block;color:#6c757d}.member-type-card input:checked+span{border-color:var(--bs-primary);box-shadow:0 0 0 3px rgba(13,110,253,.1);background:#f7fbff}
.teacher-fields{display:none}.thai-clock-picker .form-control{font-variant-numeric:tabular-nums}.privacy-locked{overflow:hidden}.privacy-modal .modal-content{border:0;border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.24)}


/* เวลาไทย 24 ชั่วโมง 00.00–23.59 */
.thai-time-select-group{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:.5rem;align-items:center}.thai-time-select-group .form-select{font-variant-numeric:tabular-nums;font-weight:600}.thai-time-dot{font-size:1.35rem;font-weight:700;color:#50647f}.thai-time-suffix{font-weight:600;color:#50647f;white-space:nowrap}.request-inline-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid #e7edf5;border-radius:14px;background:#fbfcfe}.notification-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc3545;color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.appointment-toast{border:0;border-radius:16px;box-shadow:0 18px 45px rgba(24,49,82,.22);overflow:hidden}.appointment-toast .toast-header{background:#f5f8ff}.appointment-toast .toast-body{background:#fff}
@media(max-width:576px){.request-inline-card{align-items:flex-start;flex-direction:column}.thai-time-select-group{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}}
