/* Original interface styling and geometric icons created with AI assistance. */
body.login{background:radial-gradient(ellipse at top left,#d8eeec,transparent 60%),#eff4f8;color:#173e49;font-family:system-ui,-apple-system,sans-serif;min-height:100vh}.login #login{width:min(430px,calc(100% - 40px));padding:7vh 0 40px}.login h1 a{width:240px;height:78px;background-size:contain;background-position:center;margin-bottom:22px}.nxo-login-intro{text-align:center;margin:0 0 24px}.nxo-login-intro h2{font-size:26px;margin:8px 0}.nxo-login-intro p{color:#536b73;line-height:1.6}.login form{border:1px solid #d7e4e9;border-radius:22px;padding:30px;box-shadow:0 16px 48px #153e4912}.login label{font-size:15px;color:#173e49}.login input[type=text],.login input[type=password]{border:1px solid #9fb7c1;border-radius:10px;padding:10px 14px;font-size:18px;min-height:48px}.login .button-primary{background:#12685e;border:0;border-radius:10px;min-height:46px;padding:0 24px;font-weight:600}.login #nav,.login #backtoblog{text-align:center}.login .language-switcher{display:none}.login a:focus-visible,.login button:focus-visible,.login input:focus-visible{outline:3px solid #007c72;outline-offset:3px}.login .message,.login #login_error{border-radius:10px}.nxo-brand{display:inline-flex;margin-bottom:24px}.nxo-brand img{max-width:220px;width:100%;height:auto}.nxo-icon{width:24px;height:24px;vertical-align:middle;margin-right:10px;flex:none}.nx-portal main{max-width:1040px!important;margin:36px auto!important;padding:24px!important}.nx-portal{background:radial-gradient(ellipse at top left,#deefeb,transparent 60%),#eff4f8!important}.nx-portal h1{font-size:clamp(28px,4vw,40px)}.nx-portal section{border:1px solid #d9e5eb;box-shadow:0 8px 24px #173e4907}.nx-portal h2{font-size:22px}.nx-portal a{color:#10685e}.nxo-ap-public{max-width:980px!important;margin:32px auto!important;padding:24px!important;background:transparent!important}.nxo-ap-public .nxo-brand{display:flex;justify-content:center}.nxo-ap-public form{background:#fff;border:1px solid #d8e5ea;border-radius:22px;padding:clamp(16px,3vw,32px);box-shadow:0 12px 40px #173e4910}.nxo-ap-public button{border-radius:10px}.nxo-ap-public h2{letter-spacing:-.02em}@media(max-width:560px){.nx-portal main,.nxo-ap-public{padding:16px!important;margin:16px auto!important}.login form{padding:24px}}
/* Standalone appointment interface. Existing project icons were created with AI. */
body.nxo-booking-window{margin:0;background:radial-gradient(ellipse at 10% 0,#dceeea,transparent 55%),#f5f8fa;color:#163d45;font:16px/1.6 system-ui,-apple-system,sans-serif;min-height:100vh}
.nxo-booking-window *{box-sizing:border-box}.nxo-booking-window .nxo-ap-public{max-width:1080px!important;padding:24px!important;margin:0 auto!important}
.nxo-booking-back{display:inline-flex;padding:10px 0;margin-bottom:14px;color:#245964;text-decoration:none;font-weight:600}
.nxo-booking-window .nxo-brand{justify-content:flex-start;margin:8px 0 24px}.nxo-booking-window .nxo-ap-root{border:1px solid #d9e6e8;border-radius:24px;padding:clamp(20px,4vw,42px);background:#fff;box-shadow:0 16px 50px #193e4910;margin:0}
.nxo-booking-window .nxo-ap-root>:is(h1,h2){font-size:clamp(25px,3.4vw,36px);line-height:1.25;display:flex;align-items:center;gap:12px;margin:0 0 16px;text-wrap:balance}
.nxo-booking-window .nxo-ap-root>:is(h1,h2) .nxo-icon{width:36px;height:36px;margin:0;color:#08766a}
.nxo-booking-window .nxo-ap-public form{border:0;border-radius:0;padding:0;box-shadow:none}.nxo-booking-window .nxo-ap-intro{margin:16px 0}.nxo-booking-window .nxo-ap-eyebrow{display:none}
.nxo-booking-window .nxo-ap-tabs{padding:6px;gap:8px;margin:24px 0 30px;background:#eff5f5}.nxo-booking-window .nxo-ap-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;line-height:1.3}.nxo-booking-window .nxo-ap-tabs .nxo-icon{width:22px;height:22px;margin:0}.nxo-booking-window .nxo-ap-tabs [aria-selected=true]{background:#096b61;color:#fff;box-shadow:0 3px 10px #096b6120}
.nxo-booking-window .nxo-ap-grid{gap:18px}.nxo-booking-window .nxo-ap-root select,.nxo-booking-window .nxo-ap-root input{min-height:48px}.nxo-booking-window .nxo-ap-week-day{border-radius:14px;background:#f5f9f9}.nxo-booking-window .nxo-ap-slot:focus-within{outline:3px solid #c17c18;outline-offset:2px}.nxo-booking-window .nxo-ap-slot{min-height:48px!important}.nxo-booking-window .nxo-ap-week-nav{padding:14px;background:#f5f8fa;border-radius:14px}.nxo-booking-window .nxo-ap-week-nav button{min-height:44px}
.nxo-booking-footer{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;margin:24px 0;color:#5a7077;font-size:12px}.nxo-booking-footer a{color:#245964}.nxo-booking-window a:focus-visible{outline:3px solid #c17c18;outline-offset:4px}
@media(max-width:600px){.nxo-booking-window .nxo-ap-public{padding:16px!important}.nxo-booking-window .nxo-ap-tabs button{flex-direction:column;font-size:12px;gap:6px}.nxo-booking-window .nxo-ap-tabs{gap:3px}.nxo-booking-window .nxo-ap-root{border-radius:18px;padding:18px}.nxo-booking-window .nxo-ap-week-nav{padding:10px}.nxo-booking-window .nxo-ap-root>:is(h1,h2) .nxo-icon{width:28px;height:28px}}
.nxo-booking-window .nxo-ap-root .nxo-ap-tabs button[aria-selected=true]{background:#096b61;color:#fff}
.nxo-booking-window .nxo-ap-tabs button{overflow-wrap:normal;word-break:normal}
.nxo-booking-window .nxo-ap-wizard-nav [data-ap-back]{flex:0 0 90px;white-space:nowrap;padding-inline:12px}
.nxo-booking-window .nxo-ap-wizard-nav [data-ap-continue]{flex:1;max-width:340px;overflow-wrap:normal}
.nxo-booking-window .nxo-ap-slot:has(input:checked){background:#096b61;color:#fff}
@media(max-width:500px){.nxo-booking-window .nxo-ap-week-day:not(:has(.nxo-ap-slot)){display:flex;align-items:center;gap:8px;padding:12px}.nxo-booking-window .nxo-ap-week-day:not(:has(.nxo-ap-slot)) h4{width:auto;margin:0;border:0;padding:0}.nxo-booking-window .nxo-ap-week-day:not(:has(.nxo-ap-slot)) p{margin:0 0 0 auto;font-size:12px}}
.nxo-ap-public h1,.nxo-ap-public h2,.nxo-ap-public h3,.nxo-ap-public h4,.nxo-ap-public h5,.nxo-ap-public h6{text-align:left!important;justify-content:flex-start}

body.nxo-registration{font:16px/1.6 system-ui,-apple-system,sans-serif;margin:0;min-height:100vh}.nxo-registration main{max-width:560px!important;margin:5vh auto!important}.nxo-registration form{background:white;padding:28px;border:1px solid #ccdadc;border-radius:12px;box-shadow:0 12px 40px #173e4910}.nxo-registration label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}.nxo-registration input{display:block;width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #9fb7c1;border-radius:6px;margin-top:6px;min-height:46px}.nxo-registration button{width:100%;font:inherit;font-weight:600;min-height:48px;background:#17664f;color:white;border:0;border-radius:6px;cursor:pointer}.nxo-registration h1{text-align:left}.nxo-registration [role=alert]{padding:16px;border-left:4px solid #ac3434;background:white}
