:root{--bg: #f6f1e7;--card: #ffffff;--ink: #221f1a;--muted: #6f6a60;--hint: #9a9488;--line: #ece4d6;--line-strong: #ddd2bd;--green: #1f9d57;--green-dark: #178048;--green-soft: #e6f6ec;--green-ink: #145c34;--amber: #e0891e;--amber-soft: #fcefd6;--amber-ink: #8a5510;--red: #d8453b;--red-dark: #b5342b;--red-soft: #fde7e4;--red-ink: #9e2820;--blue: #2f6fed;--blue-soft: #e8efff;--blue-ink: #1c4bb0;--shadow: 0 3px 14px rgba(60, 48, 25, .08);--shadow-lg: 0 8px 30px rgba(60, 48, 25, .14)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Arial,sans-serif;font-size:19px;line-height:1.6;background:var(--bg);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--muted)}.loading-msg{color:var(--hint);font-size:18px;padding:24px 0;text-align:center}.access-icon{font-size:52px;text-align:center;margin-bottom:12px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-card{background:var(--card);border-radius:24px;padding:48px 40px;width:100%;max-width:460px;box-shadow:var(--shadow-lg)}.brand-logo{display:block;width:100%;max-width:280px;height:auto;margin:0 auto 18px}.login-card h1{font-size:36px;font-weight:800;text-align:center;color:var(--ink);margin-bottom:10px;letter-spacing:-.5px}.subtitle{text-align:center;color:var(--muted);font-size:18px;margin-bottom:36px}label{display:block;font-weight:700;font-size:17px;color:#3c3930;margin-top:22px;margin-bottom:8px}input[type=text],input[type=password],input[type=email],input[type=tel],input[type=date],input[type=time]{width:100%;padding:16px 18px;font-size:19px;font-family:inherit;border:2px solid var(--line-strong);border-radius:14px;outline:none;transition:border-color .15s,box-shadow .15s;background:#fffdf9;color:var(--ink)}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=date]:focus,input[type=time]:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.btn-primary{display:block;width:100%;padding:18px;margin-top:30px;font-size:21px;font-weight:800;font-family:inherit;background:var(--green);color:#fff;border:none;border-radius:14px;cursor:pointer;box-shadow:var(--shadow);transition:background .15s,transform .1s}.btn-primary:hover{background:var(--green-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:#a7d9bb;cursor:not-allowed;box-shadow:none}.btn-link{display:block;width:100%;background:none;border:none;color:var(--muted);font-size:16px;font-weight:700;font-family:inherit;padding:14px;margin-top:8px;cursor:pointer;text-align:center;text-decoration:underline}.btn-link:hover{color:var(--green-dark)}.btn-logout{padding:11px 22px;background:#fffdf9;border:2px solid var(--line-strong);border-radius:12px;font-size:16px;font-weight:700;font-family:inherit;color:#545047;cursor:pointer;flex-shrink:0}.btn-logout:hover{background:#f3ede1}.btn-add{padding:16px 30px;font-size:19px;font-weight:800;font-family:inherit;background:var(--green);color:#fff;border:none;border-radius:14px;cursor:pointer;white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow);transition:background .15s}.btn-add:hover{background:var(--green-dark)}.btn-add:disabled{background:#a7d9bb;cursor:not-allowed;box-shadow:none}.btn-remove{padding:11px 18px;font-size:16px;font-weight:800;font-family:inherit;background:var(--red);border:none;border-radius:10px;color:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow);transition:background .15s}.btn-remove:hover{background:var(--red-dark)}.btn-remove:disabled{background:#ecb3ae;box-shadow:none;cursor:not-allowed}.btn-icon{width:24px;height:24px;flex-shrink:0}.btn-claim{width:100%;padding:20px;font-size:23px;font-weight:800;font-family:inherit;background:var(--green);color:#fff;border:none;border-radius:16px;cursor:pointer;box-shadow:var(--shadow);transition:background .15s,transform .1s;letter-spacing:.2px;display:flex;align-items:center;justify-content:center;gap:10px}.btn-claim:hover{background:var(--green-dark)}.btn-claim:active{transform:scale(.98)}.btn-claim:disabled{background:#a7d9bb;cursor:not-allowed;box-shadow:none}.btn-cancel{width:100%;padding:18px;font-size:20px;font-weight:800;font-family:inherit;background:var(--red);color:#fff;border:none;border-radius:14px;cursor:pointer;box-shadow:var(--shadow);transition:background .15s;margin-top:8px}.btn-cancel:hover{background:var(--red-dark)}.btn-cancel:disabled{background:#ecb3ae;cursor:not-allowed;box-shadow:none}.error-msg{color:var(--red-ink);font-size:17px;font-weight:700;margin-top:14px;text-align:center}.add-student-signin-hint{display:block;margin-top:6px;font-size:16px;font-weight:600;color:var(--green-ink, #2f6b46)}.students-load-failed{border:3px solid var(--red-ink);border-radius:14px;padding:16px;margin:14px 0;text-align:center}.students-load-failed .error-msg{margin-top:0;margin-bottom:14px}.dashboard{max-width:780px;margin:0 auto;padding:0 20px 80px}header{display:flex;flex-direction:column;gap:16px;background:linear-gradient(135deg,#1f9d57,#178048);color:#fff;padding:20px 22px 24px;margin:0 -20px 32px;border-radius:0 0 28px 28px;box-shadow:0 6px 22px rgba(23,128,72,.28)}.header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-logo{height:56px;width:auto;max-width:66%;background:#fff;border-radius:12px;padding:9px 15px;box-shadow:0 2px 10px rgba(0,0,0,.14)}header h1{font-size:27px;font-weight:800;color:#fff;letter-spacing:-.4px;line-height:1.1}.header-sub{font-size:15px;font-weight:700;color:rgba(255,255,255,.92);margin-top:3px}header .btn-logout{background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.45);color:#fff}header .btn-logout:hover{background:rgba(255,255,255,.3)}section{margin-bottom:44px}section h2{font-size:25px;font-weight:800;margin-bottom:8px;color:var(--ink);letter-spacing:-.3px}.section-hint{color:var(--muted);font-size:17px;margin-bottom:18px}.add-slot-section{background:var(--card);border-radius:20px;padding:30px;margin-bottom:40px;border:1px solid var(--line);box-shadow:var(--shadow)}.add-slot-section h2{margin-bottom:4px}.add-slot-form{display:flex;gap:12px;margin-top:4px}.slot-input{flex:1;padding:16px 18px;font-size:19px;font-family:inherit;border:2px solid var(--line-strong);border-radius:14px;outline:none;background:#fffdf9;color:var(--ink)}.slot-input:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.slot-list{display:flex;flex-direction:column;gap:14px}.slot-month-group+.slot-month-group{margin-top:22px}.month-heading{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--green-ink);margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--green-soft)}.contact-edit{margin-top:2px}.contact-edit .phone-edit-row{margin-top:8px}.phone-edit-row{display:flex;gap:8px;align-items:center;margin-top:10px}.phone-input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--bg)}.phone-input:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft);outline:none}.btn-save-phone{padding:8px 16px;font-size:14px;white-space:nowrap}.label-optional{font-weight:400;color:var(--hint);font-size:13px}.label-required{font-weight:600;color:var(--red-ink);font-size:13px}.notify-section{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);margin-bottom:18px}.notify-form{display:flex;flex-direction:column;gap:14px;margin-top:12px}.notify-row{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer}.notify-row input[type=checkbox]{width:26px;height:26px;accent-color:var(--green);flex:0 0 auto;cursor:pointer}.notify-muted{font-weight:400;color:var(--muted);font-size:15px}.notify-phone{display:flex;flex-direction:column;gap:6px;padding:12px 0 2px 38px}.notify-phone label{font-weight:700;color:var(--ink)}.notify-phone input{padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;font-size:17px;font-family:inherit;color:var(--ink);background:var(--bg)}.notify-phone input:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft);outline:none}.notify-save{align-self:flex-start}.notify-saved-msg{margin:2px 0 0;padding:12px 16px;background:var(--green-soft);border:2px solid var(--green);border-radius:12px;color:#11703e;font-weight:800;font-size:16px;align-self:stretch}.add-student-section{margin-bottom:28px}.add-student-form{display:flex;flex-direction:column;gap:14px;margin-top:12px;align-items:flex-start}.add-student-fields{display:flex;flex-direction:column;gap:12px;width:100%}.add-student-fields label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--ink)}.add-student-fields input{font-weight:400}.book-makeup{margin-top:10px;display:flex;flex-direction:column;gap:8px}.book-makeup-hint{margin:0;font-size:14px;color:var(--muted);font-weight:600}.book-makeup-fields{display:flex;gap:8px;flex-wrap:wrap}.book-makeup-fields input[type=date]{flex:1 1 140px;min-width:0}.book-makeup-fields .book-select{flex:1 1 120px;min-width:0}.notify-iphone-warning{display:flex;gap:10px;align-items:flex-start;background:var(--amber-soft);border:1px solid var(--amber);border-radius:12px;padding:12px 14px;margin-bottom:14px}.notify-iphone-warning p{margin:0;font-size:15px;line-height:1.45;color:var(--amber-ink)}.notify-iphone-warning strong{color:var(--amber-ink)}.notify-iphone-emoji{font-size:20px;line-height:1.3;flex:0 0 auto}.slot-card{background:var(--card);border-radius:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.slot-available{border-left:7px solid var(--green)}.slot-claimed{border-left:7px solid var(--hint);opacity:.8}.slot-desc{font-size:20px;font-weight:700;color:var(--ink)}.claimed-info{display:flex;flex-direction:column;gap:3px}.claimed-by-line{font-size:15px;color:var(--muted);margin-top:4px}.claimed-at-line{font-size:14px;color:var(--hint);font-weight:600}.empty-msg{color:var(--hint);font-style:italic;font-size:17px;padding:12px 0}.student-card{flex-direction:column;align-items:stretch;gap:16px;padding:26px 26px 28px;border-left:7px solid var(--green)}.slot-desc-large{font-size:27px;font-weight:800;color:var(--ink);text-align:center;line-height:1.25}.slot-when{display:flex;align-items:center;gap:14px;background:var(--green-soft);border-radius:14px;padding:16px 18px}.slot-when-icon{width:30px;height:30px;flex-shrink:0;stroke:var(--green-dark)}.slot-when-text{font-size:22px;font-weight:800;color:var(--green-ink);line-height:1.25}.no-slots-card{background:var(--card);border-radius:18px;padding:48px 32px;text-align:center;border:1px solid var(--line);box-shadow:var(--shadow)}.no-slots-main{font-size:23px;font-weight:800;color:var(--ink);margin-bottom:12px}.no-slots-sub{font-size:18px;color:var(--muted);max-width:420px;margin:0 auto;line-height:1.55}.cancel-section{background:var(--card);border-radius:20px;padding:30px;border:1px solid var(--line);box-shadow:var(--shadow)}.cancel-section>.section-hint{margin-bottom:22px}.cancel-form{display:flex;flex-direction:column;gap:0}.cancel-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.cancel-field label{display:block;font-weight:700;font-size:17px;margin-bottom:8px;margin-top:0}.cancel-field input,.cancel-field select{width:100%;padding:16px 18px;font-size:19px;font-family:inherit;border:2px solid var(--line-strong);border-radius:14px;outline:none;background:#fffdf9;color:var(--ink)}.cancel-field input:focus,.cancel-field select:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.window-picker{margin-bottom:22px}.window-picker-label{display:block;font-weight:800;font-size:20px;margin-bottom:6px;color:var(--ink)}.window-options{display:flex;flex-direction:column;gap:12px}.window-option{width:100%;padding:16px 20px;font-size:19px;font-weight:700;font-family:inherit;background:#fffdf9;color:var(--ink);border:3px solid var(--line-strong);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;flex-direction:column;gap:3px;text-align:left}.window-option-title{font-size:19px;font-weight:800}.window-option-range{font-size:16px;font-weight:700;color:var(--muted)}.window-option.selected .window-option-range{color:var(--green-ink)}.window-option:hover{border-color:var(--green)}.window-option.selected{border-color:var(--green);background:var(--green-soft);color:var(--green-ink);box-shadow:0 0 0 4px rgba(31,157,87,.12)}.window-option:disabled{opacity:.5;cursor:not-allowed}.lesson-option-note{font-size:15px;font-weight:800;margin-top:2px}.lesson-option-note.ok{color:var(--green-ink)}.lesson-option-note.late{color:#a05b00}.window-option.late-sent{opacity:1;border-color:var(--green);background:var(--green-soft)}.window-option.late-sent .lesson-option-note.late{color:var(--green-ink)}.window-active-box{background:var(--green-soft);border:2px solid #ade0c0;border-radius:14px;padding:16px 20px;margin-bottom:24px}.window-active-label{font-size:18px;color:var(--green-ink);font-weight:700;margin:0}.cancel-success-box{background:var(--green-soft);border:2px solid #ade0c0;border-radius:14px;padding:22px 24px;color:var(--green-ink);font-size:20px;font-weight:700;text-align:center}.success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.success-card{background:var(--card);border-radius:24px;padding:48px 40px;text-align:center;max-width:500px;width:100%;box-shadow:var(--shadow-lg)}.success-icon{width:88px;height:88px;background:var(--green);color:#fff;font-size:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;font-weight:700;box-shadow:var(--shadow)}.success-card h1{font-size:36px;font-weight:800;color:var(--green-ink);margin-bottom:16px}.success-card p{font-size:19px;color:var(--muted);margin-bottom:10px}.claimed-slot-text{font-size:24px;font-weight:800;color:var(--ink);background:var(--green-soft);padding:18px 20px;border-radius:14px;margin:16px 0 24px;display:block}.slot-datetime-display{font-size:18px;color:var(--muted);font-weight:700;text-align:center;margin-top:-2px}.eligibility-banner{border-radius:14px;padding:18px 22px;margin-bottom:28px;font-size:18px;font-weight:700;line-height:1.5}.eligibility-banner.eligible{background:var(--green-soft);border:2px solid #ade0c0;color:var(--green-ink)}.eligibility-banner.not-eligible{background:var(--amber-soft);border:2px solid #f3cd8a;color:var(--amber-ink)}.btn-calendar{display:block;width:100%;padding:16px;text-align:center;font-size:18px;font-weight:700;font-family:inherit;background:var(--blue-soft);color:var(--blue-ink);border:2px solid #b9cefc;border-radius:14px;cursor:pointer;text-decoration:none;transition:background .15s}.btn-calendar:hover{background:#d8e4ff}.btn-calendar-sm{padding:9px 16px;font-size:15px;font-weight:700;font-family:inherit;background:var(--blue-soft);color:var(--blue-ink);border:1.5px solid #b9cefc;border-radius:10px;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .15s}.btn-calendar-sm:hover{background:#d8e4ff}.admin-tabs{display:flex;gap:4px;margin-bottom:32px;border-bottom:2px solid var(--line);padding-bottom:0}.admin-tab{padding:13px 24px;font-size:17px;font-weight:700;font-family:inherit;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--muted);transition:color .15s;display:flex;align-items:center;gap:8px}.admin-tab.active{color:var(--green-dark);border-bottom-color:var(--green)}.admin-tab:hover{color:var(--green-dark)}.tab-badge{background:var(--green);color:#fff;border-radius:999px;font-size:13px;font-weight:800;padding:2px 8px;min-width:22px;text-align:center}.add-slot-fields{display:flex;flex-direction:column;gap:10px;margin-top:4px}.slot-datetime-row{display:flex;gap:10px;align-items:center}.slot-input-date,.slot-input-time{flex:1;padding:15px 16px;font-size:18px;font-family:inherit;border:2px solid var(--line-strong);border-radius:14px;outline:none;background:#fffdf9;color:var(--ink)}.slot-input-date:focus,.slot-input-time:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.notice-card{align-items:flex-start}.notice-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;margin-left:16px}.notice-status{font-size:14px;font-weight:800;padding:5px 12px;border-radius:999px;white-space:nowrap}.status-eligible{background:var(--green-soft);color:var(--green-ink)}.status-late{background:var(--red-soft);color:var(--red-ink)}.status-upcoming{background:var(--blue-soft);color:var(--blue-ink)}.status-week2{background:var(--amber-soft);color:var(--amber-ink)}.status-expired{background:#f3ede1;color:var(--muted)}.status-used{background:#f3ede1;color:var(--hint)}.btn-approve{padding:10px 16px;font-size:15px;font-weight:800;font-family:inherit;background:var(--amber);color:#fff;border:none;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-approve:hover{background:var(--amber-ink)}.btn-approve:disabled{background:#f0c68f;cursor:not-allowed}@media (max-width: 600px){.login-card{padding:36px 24px}.login-card h1{font-size:30px}.add-slot-form{flex-direction:column}.btn-add{width:100%}header h1{font-size:26px}.cancel-fields{grid-template-columns:1fr}.slot-desc-large{font-size:23px}.btn-claim{font-size:21px;padding:18px}.success-card{padding:36px 24px}.success-card h1{font-size:30px}.slot-datetime-row{flex-direction:column}.slot-input-date,.slot-input-time,.btn-add{width:100%}.admin-tabs{gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{padding:11px 6px;font-size:14px;flex:0 0 auto;white-space:nowrap}.admin-tab .tab-badge{margin-left:2px}.notice-card{flex-direction:column}.notice-actions{flex-direction:row;align-items:center;margin-left:0;width:100%}}.slot-private{background:#fbf7ee;border:1.5px dashed var(--line-strong);opacity:.92}.slot-visibility-label{font-size:13px;color:var(--muted);font-weight:700;margin-top:4px}.slot-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.info-box{background:#eef6f0;border:1px solid #cfe6d8;border-left:5px solid var(--green);border-radius:12px;padding:14px 16px;font-size:15px;line-height:1.5;color:#3f5b4a;margin-bottom:18px}.vac-fields{display:flex;gap:12px;flex-wrap:wrap}.vac-label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700;color:#545047}.book-row{display:flex;gap:6px;align-items:center}.book-select{padding:9px 10px;font-size:14px;font-family:inherit;font-weight:600;color:#545047;background:#fff;border:1px solid var(--line-strong);border-radius:9px;max-width:160px;cursor:pointer}.btn-book{padding:9px 16px;font-size:14px;font-weight:700;border-radius:9px;box-shadow:none}.btn-make-private{padding:9px 14px;font-size:14px;font-weight:800;font-family:inherit;background:#7c7468;border:none;border-radius:9px;color:#fff;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);transition:background .15s}.btn-make-private:hover{background:#645d53}.btn-make-private:disabled{background:#cbc4b6;box-shadow:none;cursor:not-allowed}.btn-make-public{padding:9px 14px;font-size:14px;font-weight:800;font-family:inherit;background:var(--blue);border:none;border-radius:9px;color:#fff;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);transition:background .15s}.btn-make-public:hover{background:var(--blue-ink)}.btn-make-public:disabled{background:#aac2f7;box-shadow:none;cursor:not-allowed}.unclaim-group{display:flex;align-items:center;gap:6px}.unclaim-label{font-size:13px;color:var(--muted);font-weight:700;white-space:nowrap}.btn-unclaim-public{padding:8px 12px;font-size:13px;font-weight:800;font-family:inherit;background:var(--green);border:none;border-radius:8px;color:#fff;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);transition:background .15s}.btn-unclaim-public:hover{background:var(--green-dark)}.btn-unclaim-private{padding:8px 12px;font-size:13px;font-weight:800;font-family:inherit;background:#7c7468;border:none;border-radius:8px;color:#fff;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);transition:background .15s}.btn-unclaim-private:hover{background:#645d53}@media (max-width: 560px){.slot-card:has(.slot-actions){flex-direction:column;align-items:stretch;gap:14px}.slot-card:has(.slot-actions) .claimed-info{width:100%}.slot-actions{flex-direction:column;align-items:stretch;width:100%;gap:10px}.slot-actions>button,.slot-actions>a{width:100%;text-align:center;box-sizing:border-box}.book-row{width:100%}.book-select{flex:1 1 auto;max-width:none;min-width:0}.btn-book{flex:0 0 auto;width:auto}.unclaim-group{width:100%;flex-wrap:wrap}.unclaim-group .unclaim-label{flex:0 0 100%}.unclaim-group .btn-unclaim-public,.unclaim-group .btn-unclaim-private,.unclaim-group .btn-remove{flex:1 1 100%;min-width:0;padding:12px;font-size:15px;text-align:center}.student-card-row{flex-direction:column;align-items:stretch;gap:12px}.student-card-row>button{width:100%;text-align:center;box-sizing:border-box}.phone-edit-row{width:100%}.phone-edit-row .phone-input{flex:1 1 auto;min-width:0}.phone-edit-row .btn-save-phone{flex:0 0 auto;width:auto}}.my-booking-section{margin-bottom:4px}.my-booking-card{background:var(--green-soft);border:2px solid #ade0c0;border-left:7px solid var(--green)}.btn-cancel-booking{padding:11px 18px;font-size:15px;font-weight:700;font-family:inherit;background:var(--red-soft);border:2px solid #f3b6b0;border-radius:10px;color:var(--red-ink);cursor:pointer;white-space:nowrap;flex-shrink:0}.btn-cancel-booking:hover{background:#fbd8d3}.btn-cancel-booking:disabled{opacity:.5;cursor:not-allowed}.info-boxes{margin-bottom:32px}.policy-box{background:#fffdf9;border:1.5px solid var(--line-strong);border-radius:16px;padding:20px 22px;margin-bottom:12px;font-size:17px;color:#3c3930;line-height:1.6}.tip-box{background:var(--amber-soft);border-left:6px solid var(--amber);border-radius:0 14px 14px 0;padding:18px 20px;margin-bottom:12px;font-size:17px;font-weight:600;color:var(--amber-ink);line-height:1.5}.btn-find-slot{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--green);color:#fff;border:none;border-radius:16px;padding:20px;font-size:21px;font-weight:800;font-family:inherit;cursor:pointer;text-align:center;box-shadow:var(--shadow);transition:background .15s,transform .1s;line-height:1.3}.btn-find-slot:hover{background:var(--green-dark)}.btn-find-slot:active{transform:scale(.98)}.name-fields{display:flex;gap:10px;align-items:flex-end}.name-field-first{flex:1}.name-field-last{width:90px}.name-field-last label,.name-field-first label{margin-top:22px;margin-bottom:8px}@media (max-width: 500px){.name-fields{flex-direction:column}.name-field-last{width:100%}}body{background:radial-gradient(1100px 460px at 50% -150px,#d6f2df,rgba(214,242,223,0) 68%),var(--bg)}header{background:linear-gradient(135deg,#27bd6b,#11703e);box-shadow:0 10px 30px rgba(23,128,72,.34)}section h2{color:var(--green-ink)}.month-heading{color:var(--green-dark)}.slot-card{box-shadow:0 6px 20px rgba(60,48,25,.12);border-radius:18px}.slot-available{border-left-width:9px}.add-slot-section{box-shadow:0 8px 26px rgba(60,48,25,.12)}.admin-tab.active{background:var(--green-soft);border-radius:12px 12px 0 0}.status-eligible{background:var(--green);color:#fff}.status-late{background:var(--red);color:#fff}.status-upcoming{background:var(--blue);color:#fff}.status-week2{background:var(--amber);color:#fff}.notify-nochannel{background:var(--amber-soft);color:var(--amber-ink);border:2px solid var(--amber);border-radius:12px;padding:12px 14px;margin:4px 0 2px;font-size:15px;font-weight:700;line-height:1.45}.oops-row{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-strong)}.btn-oops{width:100%;background:var(--amber-soft);color:var(--amber-ink);border:2px solid var(--amber);border-radius:12px;font-size:16px;font-weight:800;padding:12px 14px;cursor:pointer;line-height:1.3}.btn-oops:hover{background:#fbe6c4}.btn-oops:disabled{opacity:.6;cursor:not-allowed}.oops-hint{margin:8px 2px 0;font-size:13px;color:var(--muted);line-height:1.4}.oops-confirmed{margin-top:14px;background:var(--green-soft);color:var(--green-ink);border:2px solid var(--green);border-radius:12px;padding:12px 14px;font-size:15px;font-weight:700;line-height:1.4}.fix-requests-banner,.admin-error-banner{background:var(--amber-soft);color:var(--amber-ink);border:2px solid var(--amber);border-radius:12px;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.45;margin-bottom:18px}.admin-error-banner .btn-add{margin-left:6px;padding:8px 16px;font-size:15px}.tab-badge.fix{background:var(--amber)}.fix-requested{border:2px solid var(--amber);box-shadow:0 0 0 3px var(--amber-soft);opacity:1!important}.fix-badge{display:inline-block;margin:4px 0;background:var(--amber);color:#fff;border-radius:999px;font-size:12px;font-weight:800;padding:3px 10px}.btn-reset{background:var(--blue);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:800;padding:9px 14px;cursor:pointer}.btn-reset:hover{background:var(--blue-ink)}.btn-reset:disabled{opacity:.6;cursor:not-allowed}.reset-warn{margin-top:10px;background:var(--red-soft);color:var(--red-ink);border:2px solid var(--red);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45}.reset-warn-actions{display:flex;gap:14px;align-items:center;margin-top:10px}.btn-reset-force{background:var(--red);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:800;padding:8px 14px;cursor:pointer}.btn-reset-force:hover{background:var(--red-dark)}.btn-reset-force:disabled{opacity:.6;cursor:not-allowed}.alerts-section{background:var(--card);border:2px solid var(--green);border-radius:16px;padding:20px;margin-bottom:24px}.alerts-section h2{margin-top:0}.btn-alerts{width:100%;font-size:1.25rem;padding:16px 20px}.alerts-on-note{background:var(--green-soft);color:var(--green-ink);border-radius:12px;padding:12px 16px;font-weight:700;font-size:1.05rem;margin:0 0 24px}.focus-card{border-radius:16px;padding:24px 20px;margin-bottom:24px;text-align:center}.focus-card .btn-primary{margin-top:14px;min-width:140px}.focus-title{font-size:1.5rem;font-weight:800;margin:0 0 8px}.focus-body{font-size:1.15rem;line-height:1.5;margin:0}.focus-gone{background:var(--amber-soft);border:2px solid var(--amber);color:var(--amber-ink)}.focus-mine,.focus-open{background:var(--green-soft);border:2px solid var(--green);color:var(--green-ink)}.slot-focus{border:3px solid var(--green);box-shadow:0 0 0 4px var(--green-soft)}
