html{min-width:320px}body{color:#243247;background:#f4f7fb;min-width:320px;margin:0;font-family:Arial,sans-serif}button,input,select{font-family:inherit}#root{width:100%;min-height:100vh}*{box-sizing:border-box}.page{color:#243247;background:#f4f7fb;min-height:100vh}.header{background:#fff;border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:center;padding:18px 7%;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-icon{color:#fff;background:#176b87;border-radius:12px;place-items:center;width:45px;height:45px;font-size:32px;display:grid}.brand h2{margin:0;font-size:21px}.brand p{color:#718096;margin:4px 0 0;font-size:13px}.open-label{color:#176b87;font-size:14px;font-weight:700}.main{max-width:760px;margin:45px auto;padding:0 20px}.intro{text-align:center;margin-bottom:30px}.tag{color:#176b87;letter-spacing:2px;font-size:12px;font-weight:700}.intro h1{margin:14px 0 10px;font-size:34px}.intro p{color:#718096;line-height:1.6}.booking-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 8px 30px #14284612}.booking-card h2{margin:0 0 8px}.subtitle,.slot-description{color:#718096;font-size:14px;line-height:1.6}.form-group{margin-top:24px}.form-group label{margin-bottom:9px;font-size:14px;font-weight:700;display:block}.form-group input,.form-group select{color:#243247;background:#fff;border:1px solid #d9e1e9;border-radius:8px;width:100%;padding:13px;font-size:15px}.form-group input:focus,.form-group select:focus{border-color:#0000;outline:2px solid #176b87}.submit-button{color:#fff;cursor:pointer;background:#176b87;border:none;border-radius:8px;width:100%;margin-top:30px;padding:15px;font-size:16px;font-weight:700}.submit-button:hover{background:#12566d}.request-summary{margin-top:25px;line-height:1.7}.request-summary h2{color:#176b87}.request-summary p{overflow-wrap:anywhere}.demo-note{text-align:center;color:#8995a5;margin-top:20px;font-size:12px;line-height:1.5}footer{text-align:center;color:#8995a5;padding:25px;font-size:13px}@media (width<=600px){.header{padding:15px}.open-label{display:none}.main{margin:25px auto}.booking-card{padding:22px 16px}.intro h1{font-size:27px}}.navigation{flex-wrap:wrap;gap:10px;display:flex}.nav-button{color:#243247;cursor:pointer;background:#fff;border:1px solid #d9e1e9;border-radius:8px;padding:10px 15px}.nav-button.active{color:#fff;background:#176b87;border-color:#176b87}.request-details{background:#f4f7fb;border-radius:10px;margin:20px 0;padding:15px;line-height:1.7}.booking-card h3{margin-top:25px}.time-preview{color:#21633c;background:#e8f5ee;border-radius:8px;margin-top:20px;padding:15px;line-height:1.6}.reject-button{color:#b42318;cursor:pointer;background:#fff;border:1px solid #b42318;border-radius:8px;width:100%;margin-top:12px;padding:13px;font-weight:700}.reject-button:hover{background:#fff1f0}.message{color:#21633c;background:#e8f5ee;border-radius:8px;margin-top:18px;padding:14px;line-height:1.6}@media (width<=600px){.navigation{width:100%}.nav-button{flex:1}}.appointment-summary{grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0;display:grid}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a}.summary-card span{color:#64748b;margin-bottom:10px;font-size:14px;display:block}.summary-card h3{color:#1e293b;margin:0;font-size:28px;font-weight:700}.appointment-filters{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}@media (width<=600px){.appointment-summary{grid-template-columns:repeat(2,1fr);gap:10px}.summary-card{padding:15px}.summary-card h3{font-size:24px}}.appointment-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:16px 0;padding:22px;box-shadow:0 2px 8px #0000000a}.appointment-card p{color:#334155;margin:10px 0;line-height:1.6}.status-badge{border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}.status-pending{color:#946200;background:#fff7d6}.status-confirmed{color:#166534;background:#dcfce7}.status-rejected{color:#b91c1c;background:#fee2e2}.appointment-card h4{color:#1e293b;margin-top:20px;margin-bottom:12px}.appointment-card .form-group{margin-bottom:15px}@media (width<=600px){.appointment-card{padding:16px}}.appointment-search{width:100%;margin:18px 0 22px}.appointment-search input{color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;max-width:520px;padding:13px 15px;font-size:14px;transition:border-color .2s,box-shadow .2s}.appointment-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.appointment-search input::placeholder{color:#94a3b8}.request-summary{margin-bottom:24px}.tracking-code-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:14px;display:flex}.tracking-code-row p{overflow-wrap:anywhere;color:#1e293b;margin:0;font-size:14px;line-height:1.6}.tracking-code-row .nav-button{cursor:pointer;border-radius:8px;flex-shrink:0;padding:10px 16px}@media (width<=600px){.tracking-code-row{flex-direction:column;align-items:flex-start}.tracking-code-row .nav-button{width:100%}}.print-receipt{display:none}@media print{@page{size:A4;margin:20mm}html,body{width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}#root{width:100%!important;height:100%!important;position:fixed!important;inset:0!important;overflow:hidden!important}body *{visibility:hidden!important}#appointment-receipt,#appointment-receipt *{visibility:visible!important}#appointment-receipt{color:#000;page-break-inside:avoid;break-inside:avoid;background:#fff;box-sizing:border-box!important;width:100%!important;margin:0!important;padding:25px!important;display:block!important;position:absolute!important;top:0!important;left:0!important}#appointment-receipt h1{text-align:center;margin-bottom:10px;font-size:26px}#appointment-receipt h2{text-align:center;margin-bottom:25px;font-size:19px}#appointment-receipt p{margin:16px 0;font-size:14px;line-height:1.5}#appointment-receipt hr{border:0;border-top:1px solid #999;margin:20px 0}}
