:root{--page:#f1ece4;--surface:#fffdf9;--surface-soft:#faf6ef;--ink:#122f3b;--ink-soft:#43535a;--muted:#7b7b77;--line:#ddd5c8;--line-strong:#cfc4b5;--teal:#0f6662;--teal-dark:#0a5552;--teal-soft:#edf5f3;--danger:#dd2737;--danger-soft:#ffe7e7;--gold:#edae21;--gray-dot:#98a3a8;--shadow:0 20px 48px #1d303614;--serif:Georgia, "Times New Roman", serif;--sans:"Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--page);min-height:100%}body{min-height:100vh;color:var(--ink);font-family:var(--sans);background:radial-gradient(circle at top, #ffffffb8, transparent 38rem), var(--page);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{display:block}.app-shell{background:var(--surface);width:min(100%,420px);min-height:100vh;margin:0 auto;overflow:hidden;box-shadow:0 20px 48px #1d30360e}.app-screen{min-height:100vh;display:none}.app-screen.is-active{display:block}.clinic-header{padding:20px 20px 12px}.brand{align-items:center;gap:13px;display:flex}.brand-logo{flex:none;width:67px;height:67px}.brand-copy h1{color:#164c50;font-family:var(--serif);letter-spacing:-.6px;margin:0;font-size:30px;font-weight:500;line-height:1}.brand-copy p{color:#4e5558;letter-spacing:.01em;margin:6px 0 0;font-size:10px}.brand-copy p span{margin:0 3px}.utility-nav{border-top:1px solid #ddd5c8cc;justify-content:flex-start;align-items:center;gap:23px;margin-top:22px;padding:15px 2px 0;display:flex}.utility-nav a{color:#243d48;align-items:center;gap:11px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.utility-nav svg{fill:none;width:18px;height:18px;stroke:var(--teal);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.utility-divider{background:#ddd5c8cc;width:1px;height:24px}.section-divider{background:#ddd5c8cc;height:1px;margin:0 20px}.booking-form{padding:21px 20px 28px}.form-intro{margin-bottom:23px}.form-intro h2{color:#164c50;font-family:var(--serif);margin:0 0 8px;font-size:23px;font-weight:500;line-height:1.15}.form-intro p{color:#34444b;max-width:350px;margin:0;font-size:13px;line-height:1.58}.field{margin-bottom:18px;display:block}.field>span,.field legend{color:#263b44;margin:0 0 8px;font-size:12px;font-weight:600;display:block}.field>span em{color:var(--muted);font-size:11px;font-style:normal;font-weight:400}.field small{color:#747a7c;margin-top:6px;font-size:10px;line-height:1.4;display:block}input,select,textarea{border:1px solid var(--line-strong);color:#263b44;background:#fffefb;border-radius:7px;outline:none;width:100%;transition:border-color .16s,box-shadow .16s}input,select{height:43px;padding:0 12px}textarea{resize:vertical;min-height:78px;padding:11px 12px}input::placeholder,textarea::placeholder{color:#9a9b98}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f666217}.booking-form>label.field>span{font-size:13px;font-weight:600;line-height:1.3}.booking-form>label.field small{font-size:11px;font-weight:400;line-height:1.45}.booking-form input::placeholder,.booking-form textarea::placeholder{color:var(--muted)}fieldset{border:0;min-inline-size:0;margin-inline:0;padding:0}.category-field legend{font-size:13px;font-weight:600}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.category-button{color:#344148;text-align:center;background:#fffefb;border:1px solid #cfc4b5cc;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:61px;padding:8px 5px;font-size:11px;font-weight:600;line-height:1.25;display:flex}.category-button svg{fill:none;stroke:#807a70;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.category-button.is-selected{color:#fff;background:var(--teal);border-color:var(--teal);box-shadow:0 5px 13px #0f66622e}.category-button.is-selected svg{stroke:#fff}.category-button[data-category=other]{grid-column:1/-1}.category-button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.pain-section{background:#fbf7ef;border:1px solid #e5dccf;border-radius:8px;margin:2px 0 19px;padding:14px 13px 1px}.appointment-choice{background:var(--surface-soft);border:1px solid #ddd5c8cc;border-radius:8px;margin:4px 0 18px;padding:12px 16px 1px}.appointment-choice h3{color:#263b44;margin:0 0 13px;font-size:13px;font-weight:600;line-height:1.3}.appointment-grid{grid-template-columns:1.25fr .9fr;gap:0 10px;display:grid}.field.compact{margin-bottom:13px}.consent{color:#4b565a;background:#fbf6eb;border:1px solid #e5dac7;border-radius:7px;align-items:flex-start;gap:10px;margin:5px 0 20px;padding:12px;font-size:10.5px;line-height:1.5;display:flex}.consent input{width:18px;height:18px;accent-color:var(--teal);flex:none;margin:1px 0 0}.booking-form .consent{background:var(--surface-soft);border-color:#ddd5c8cc;margin:5px 0 8px;font-size:12px;line-height:1.5}.booking-form .consent-optional{background:0 0;border-color:#ddd5c88c;margin:0 0 14px;line-height:1.45}.primary-button,.danger-button,.text-button,.outline-button{border-radius:7px;font-weight:600}.primary-button{border:1px solid var(--teal);color:#fff;background:var(--teal);width:100%;min-height:48px;box-shadow:0 5px 13px #0f666224}.primary-button:hover{background:var(--teal-dark)}.booking-form .primary-button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.booking-form .primary-button:disabled{opacity:.6!important}.danger-button{color:#db1e2e;background:0 0;border:1px solid #ef5761;width:100%;min-height:48px;margin-top:13px}.text-button{color:#183642;background:0 0;border:0;width:100%;min-height:44px}.form-error{color:#b7212c;background:#fff0f0;border:1px solid #f1b7bb;border-radius:7px;margin:0 0 15px;padding:10px 12px;font-size:12px;display:none}.form-error.is-visible{display:block}.test-notice{color:#7a3b00;border:1px solid var(--gold);background:#fff7e6;border-left-width:4px;border-radius:8px;flex-direction:column;gap:4px;margin:0 0 20px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.test-notice strong{letter-spacing:.06em;text-transform:uppercase;color:#8a4b00;font-size:12px}.test-notice b{color:#b7212c}.confirmation-screen{background:linear-gradient(#fffefa,#fffdf9)}.confirmation-content{text-align:center;min-height:100vh;padding:92px 25px 32px}.calendar-icon{background:#f5efe5;border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 23px;display:grid}.calendar-icon svg{fill:none;width:52px;height:52px;stroke:var(--teal);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.confirmation-content h2{color:#174f51;font-family:var(--serif);margin:0 0 19px;font-size:29px;font-weight:500}.confirmation-content>p{color:#34444b;margin:0 0 12px;font-size:14px;line-height:1.65}.confirmation-content .confirmation-strong{color:#183642;margin-bottom:28px;font-weight:600}.privacy-note{color:#5a5550;text-align:left;background:#fbf2e3;border:1px solid #eadac0;border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:54px;padding:15px 14px;font-size:10px;line-height:1.5;display:flex}.privacy-note svg{fill:none;stroke:#887a68;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.panel-screen{background:#fffdfa;padding-bottom:76px;position:relative}.panel-header{color:#fff;background:linear-gradient(#0f6965,#0d5f5b)}.panel-brand{justify-content:space-between;align-items:center;min-height:70px;padding:0 22px;display:flex}.panel-brand strong{font-family:var(--serif);font-size:24px;font-weight:500}.panel-tabs{border-bottom:1px solid var(--line);background:#fffdfa;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.panel-tabs button{color:#213944;background:0 0;border:0;min-height:55px;font-size:13px;position:relative}.panel-tabs button.is-active:after{content:"";background:var(--teal);height:2px;position:absolute;bottom:0;left:18px;right:18px}.panel-list{padding:10px 20px 0;display:none}.panel-list.is-active{display:block}.request-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 94px;gap:14px;padding:19px 0;display:grid}.request-title{align-items:center;gap:7px;margin-bottom:10px;display:flex}.request-title strong{font-size:14px}.status-dot{background:var(--gray-dot);border-radius:50%;width:10px;height:10px}.request-pain .status-dot{background:var(--danger)}.request-checkup .status-dot{background:var(--gold)}.request-cleaning .status-dot{background:#4f9d68}.request-confirmed .status-dot{background:var(--teal)}.request-main p{color:#2f424a;margin:0 0 7px;font-size:11.5px}.request-main p span{color:#8d918f;margin:0 4px}.request-actions{flex-direction:column;justify-content:center;gap:9px;display:flex}.outline-button{color:#213944;background:#fffefa;border:1px solid #d6cec1;min-height:42px;font-size:11px}.outline-button span{margin-left:5px;font-size:17px;line-height:0}.call-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.call-button svg{fill:none;width:16px;height:16px;stroke:var(--teal);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.panel-search{background:#fffefa;border:1px solid #d7cfc2;border-radius:7px;grid-template-columns:38px 1fr 44px;align-items:center;height:45px;display:grid;position:absolute;bottom:17px;left:20px;right:20px;overflow:hidden}.panel-search>svg{fill:none;stroke:#777e80;stroke-width:1.7px;stroke-linecap:round;width:17px;height:17px;margin-left:13px}.panel-search input{height:43px;box-shadow:none;border:0;padding:0 5px;font-size:11px}.panel-search button{background:0 0;border:0;border-left:1px solid #ddd5c8;width:44px;height:43px}.panel-search button svg{fill:none;width:17px;height:17px;stroke:var(--teal);stroke-width:1.8px;stroke-linecap:round;margin:auto}.details-screen,.dossier-screen,.notifications-screen{background:#fffdfa}.details-screen.is-first-visit{background:#fdf6de}.first-visit-note{color:#7a5c05;background:#fbecc0;border:1px solid #edae21;border-radius:7px;margin:0 0 18px;padding:10px 12px;font-size:11px;font-weight:600}.details-header{color:#fff;background:linear-gradient(#0f6965,#0d5f5b);grid-template-columns:92px 1fr 92px;align-items:center;min-height:70px;padding:0 16px;display:grid}.details-header>strong{justify-self:center;font-size:13px;font-weight:600}.back-button{color:#fff;background:0 0;border:0;align-items:center;gap:4px;font-size:12px;display:inline-flex}.back-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.details-content{padding:18px 18px 28px}.details-block{border-bottom:1px solid var(--line);padding:0 0 20px}.details-block+.details-block{border-bottom:0;padding-top:17px}.details-block h2{color:#1b5152;margin:0 0 15px;font-size:13px}.patient-summary-row{justify-content:space-between;align-items:flex-start;display:flex}.patient-summary-row strong{font-size:14px}.patient-summary-row p{color:#48565b;margin:7px 0 0;font-size:12px}.category-badge{border:1px solid #0000;border-radius:7px;padding:8px 15px;font-size:11px}.badge-pain{color:#cb1f2c;background:var(--danger-soft);border-color:#ffb9bd}.badge-checkup{color:var(--teal);background:var(--teal-soft);border-color:#bfe0da}.badge-cleaning{color:#3f7a4e;background:#eaf6ea;border-color:#bfe3c4}.badge-aesthetic{color:#8a660f;background:#fbf1da;border-color:#eddba0}.badge-prosthetics{color:#34495a;background:#e8edf1;border-color:#c3ced9}.badge-orthodontics{color:#5b4f6b;background:#eee9f2;border-color:#d6cbe0}.badge-other{color:#5a6266;background:#eef0f0;border-color:#d3d8d9}.details-list{margin:0 0 28px}.details-list div{margin-bottom:17px}.details-list dt{color:#58656a;margin-bottom:5px;font-size:10.5px}.details-list dd{color:#213943;margin:0;font-size:12px;font-weight:600;line-height:1.45}@media (max-width:380px){.clinic-header{padding-inline:16px}.section-divider{margin-inline:16px}.booking-form{padding-inline:16px}.brand-logo{width:60px;height:60px}.brand-copy h1{font-size:27px}.utility-nav{gap:17px}.appointment-grid{grid-template-columns:1.15fr .85fr;gap:0 7px}}@media (min-width:650px){body{padding-bottom:30px}.app-shell{border:1px solid #bfc4c5cc;border-radius:12px;min-height:760px;margin-top:26px}.app-screen,.confirmation-content{min-height:760px}}@media (max-width:649px){.app-shell{width:100%;box-shadow:none}}.panel-menu{position:relative}.panel-menu-trigger{color:#fff;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:3px 2px;font-family:inherit;font-size:11px;display:inline-flex}.panel-menu-caret{opacity:.8;font-size:9px;transition:transform .15s}.panel-menu-trigger[aria-expanded=true] .panel-menu-caret{transform:rotate(180deg)}.panel-menu-list{border:1px solid var(--line);z-index:20;background:#fffdfa;border-radius:8px;min-width:168px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0d5f5b2e}.panel-menu-item{color:#213944;border-radius:6px;padding:9px 11px;font-size:13px;text-decoration:none;display:block}.panel-menu-item:hover{background:var(--teal-soft);color:var(--teal)}
