:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202838;background:#f7f8fc;font-synthesis:none;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:#245ed6;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1160px;padding:0 24px;margin:0 auto}.topbar{background:#fff;border-bottom:1px solid #e5e8ee}.topbar-inner{min-height:74px;display:flex;align-items:center;gap:32px}.brand{font-size:19px;font-weight:750;letter-spacing:-.6px;color:#202838;white-space:nowrap}.brand:hover{text-decoration:none}.brand-muted{color:#848da1;font-weight:500}.logo{color:#3067e9;font-size:24px;margin-right:4px}.nav{display:flex;gap:6px;align-items:center;flex:1}.nav a{padding:11px 14px;border-radius:9px;color:#5e6b80;font-weight:600;font-size:14px}.nav a:hover,.nav .selected{background:#ecf2ff;color:#245ed6;text-decoration:none}.logout button{background:transparent;border:0;color:#7d8799;font-weight:600;padding:8px}.logout button:hover{color:#c52b35}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:44px 0 28px}.section-heading h1{font-size:31px;margin:2px 0 5px;letter-spacing:-1px}.eyebrow{font-size:11px;color:#5273b6;letter-spacing:1.3px;font-weight:800;margin:0 0 8px}.muted{color:#687487;margin:0;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:#2f66dc;color:white;border:1px solid #2f66dc;border-radius:10px;padding:11px 17px;font-weight:700;font-size:14px;white-space:nowrap;box-shadow:0 2px 3px #1b3b8110}.button:hover{background:#2054c3;color:white;text-decoration:none}.soft-button,.square-button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #dfe4ed;background:#fff;border-radius:9px;padding:10px 14px;font-size:14px;font-weight:600;color:#4c5b71}.soft-button:hover,.square-button:hover{background:#f6f8fc;text-decoration:none}.square-button{font-size:25px;height:38px;width:38px;padding:0}.panel{border:1px solid #e1e5ec;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 7px 26px #13295008}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.toolbar-date{display:flex;align-items:center;gap:17px}.toolbar-date h2{margin:0;font-size:21px;min-width:170px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays>div{background:#f8f9fc;text-align:center;padding:13px 4px;color:#7e899b;font-size:12px;font-weight:800;border-top:1px solid #e8ebf1}.calendar-cell{min-height:123px;padding:10px;border-right:1px solid #e8ebf1;border-top:1px solid #e8ebf1;color:#263247;min-width:0;display:flex;flex-direction:column;gap:5px;transition:background .15s}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell:hover{background:#f5f8ff;text-decoration:none}.calendar-cell.outside{background:#fafbfe;color:#a1acbc}.calendar-cell.today .date-num{background:#356be0;color:#fff}.date-num{height:29px;width:29px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:700}.event-chip{font-size:11px;background:#eaf0ff;color:#2a55a7;padding:5px 6px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-chip strong{font-weight:800}.more{color:#6c7890;font-size:11px;font-weight:600}.hint{color:#8290a4;font-size:13px;margin:15px 2px 22px}.footer{text-align:center;color:#a0a9b8;font-size:12px;padding:45px 12px 30px}.day-navigation{display:flex;justify-content:space-between;gap:10px;margin-bottom:20px}.appointment-card{display:flex;align-items:flex-start;gap:20px;margin:10px 0;background:#fff;border:1px solid #e2e6ef;border-radius:12px;padding:20px}.time-col{width:68px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.time-col strong{font-size:21px;letter-spacing:-.5px}.time-col span{font-size:12px;color:#9ba6b8}.appointment-desc{flex:1;min-width:0}.appointment-desc h2{font-size:17px;margin:0}.appointment-desc p{margin:4px 0;font-size:14px}.card-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.status{display:inline-flex;border-radius:50px;padding:4px 10px;font-size:11px;font-weight:800}.status-scheduled{background:#eef3ff;color:#3965b1}.status-confirmed{background:#e7f8ef;color:#16734b}.status-done{background:#f0f2f6;color:#526077}.status-cancelled{background:#ffefee;color:#a84240}.form-panel{padding:27px;max-width:850px;overflow:visible}.form-panel h2{font-size:18px;margin:0 0 18px}.form-panel hr{border:0;border-top:1px solid #e5e9ef;margin:28px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:20px}.form-panel label,.form label{display:flex;flex-direction:column;font-size:13px;color:#42506a;font-weight:700;gap:7px;margin-bottom:16px}.form-panel input,.form-panel select,.form-panel textarea,.form input,.search input{border:1px solid #d7dee8;border-radius:9px;padding:11px 12px;background:#fff;color:#24314a;min-width:0;outline:none}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus,.form input:focus,.search input:focus{border-color:#5280e9;box-shadow:0 0 0 3px #3978e51c}.form-panel textarea{resize:vertical;width:100%}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.separate-form{margin:18px 0 0}.danger-button{border:1px solid #edcacb;color:#bb3c49;background:#fff;padding:10px 15px;border-radius:9px;font-weight:700}.danger-button:hover{background:#fff2f2}.search{display:flex;gap:10px;margin-bottom:17px}.search input{max-width:440px;flex:1}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:640px}th{text-align:left;background:#f9fafc;color:#7d8797;font-size:12px;letter-spacing:.2px}td,th{padding:17px 19px;border-bottom:1px solid #edf0f4}td{font-size:13px}tbody tr:last-child td{border-bottom:0}.no-results{text-align:center;color:#8894a4;padding:45px}.history{list-style:none;padding:0 24px;margin:0}.history li{display:flex;justify-content:space-between;align-items:center;padding:13px 0;gap:10px;border-bottom:1px solid #eef0f4;font-size:14px}.history li:last-child{border-bottom:0}.subheading{margin-top:34px}.back-link{display:inline-block;font-weight:700;font-size:13px;margin-bottom:12px}.empty-state{text-align:center;background:#fff;border:1px dashed #cbd5e4;border-radius:14px;padding:48px 20px;color:#8690a1}.alert{margin:20px 0 -20px;border-radius:9px;padding:13px 17px;background:#e9f8ef;color:#166a46;font-weight:650;font-size:14px}.alert-error{background:#fbeaec;color:#ad3540}.login-card{background:#fff;border:1px solid #e4e7ef;box-shadow:0 16px 50px #30416810;border-radius:18px;padding:38px;max-width:430px;margin:12vh auto 0}.login-symbol{height:48px;width:48px;border-radius:12px;background:#eaf0ff;color:#3168e2;font-size:29px;display:grid;place-items:center;margin-bottom:24px}.login-card h1{font-size:28px;letter-spacing:-1px;margin:0 0 8px}.login-card .muted{line-height:1.6;margin-bottom:25px}.login-card .form input{width:100%}.button-wide{width:100%;margin-top:9px;padding:13px}
@media(max-width:800px){.topbar-inner{flex-wrap:wrap;gap:5px;padding-top:10px;padding-bottom:10px}.brand{width:100%}.nav{overflow:auto}.nav a{font-size:12px;padding:9px}.logout{margin-left:auto}.section-heading{margin-top:28px}.section-heading h1{font-size:26px}.calendar-cell{min-height:77px;padding:5px 2px;gap:2px}.event-chip{font-size:9px;padding:3px}.date-num{height:25px;width:25px;font-size:12px}.calendar-toolbar{padding:14px}.toolbar-date{gap:7px}.toolbar-date h2{font-size:16px;min-width:145px}.form-grid{grid-template-columns:1fr;gap:0}.appointment-card{gap:12px;padding:15px;flex-wrap:wrap}.appointment-actions{width:100%}.time-col{width:56px}.wrap{padding:0 12px}.form-panel{padding:18px}}
