@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--primary-50:#ecfdf5;--primary-100:#d1fae5;--primary-200:#a7f3d0;--primary-300:#6ee7b7;--primary-400:#34d399;--primary-500:#10b981;--primary-600:#059669;--primary-700:#047857;--primary-800:#065f46;--primary-900:#064e3b;--primary-950:#022c22;--primary-surface:var(--primary-50);--primary-border:var(--primary-200);--primary-text:var(--primary-700);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--elevation-1:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--elevation-2:0 4px 14px #00000014;--content-bg:#f9fafb;--surface-card:#fff;--surface-border:#e5e7eb;--surface-hover:#f3f4f6;--text-color:#1f2937;--text-color-secondary:#6b7280;--color-danger:#ef4444;--color-danger-hover:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-color);background:var(--content-bg);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--content-bg);min-height:100vh;margin:0}button,input,select,textarea{font-family:inherit}a{color:var(--primary-600)}a:hover{color:var(--primary-700)}.portal-shell{max-width:34rem;margin:0 auto;padding:2rem 1rem 4rem}.portal-brand{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.portal-brand img{max-height:2.5rem}.portal-brand h1{color:var(--text-color);margin:0;font-size:1.125rem;font-weight:700}.portal-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);padding:1.5rem}.portal-card h2{color:var(--text-color);margin:0 0 .5rem;font-size:1.25rem;font-weight:700;line-height:1.25}.portal-card p{color:var(--text-color-secondary);line-height:1.5}label{margin-bottom:.375rem;font-weight:500;display:block}input[type=email],input[type=text],input[type=tel],input[type=date],input[type=time],textarea,select{border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface-card);width:100%;color:var(--text-color);font:inherit;margin-bottom:1rem;padding:.625rem .75rem;transition:border-color .15s,box-shadow .15s}input[type=email]:focus,input[type=text]:focus,input[type=tel]:focus,input[type=date]:focus,input[type=time]:focus,textarea:focus,select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-surface);outline:none}.field-grid{gap:0;display:grid}.field-grid label{margin-top:.5rem}button{font:inherit;border-radius:var(--radius-md);background:var(--primary-600);color:#fff;cursor:pointer;border:1px solid #0000;padding:.625rem 1rem;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s}button:hover:not(:disabled){background:var(--primary-700)}button:focus-visible{box-shadow:0 0 0 3px var(--primary-surface);outline:none}button:disabled{opacity:.6;cursor:progress}button.link{color:var(--primary-700);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}button.link:hover:not(:disabled){color:var(--primary-800);background:0 0}.choices{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.choices button{text-align:left;background:var(--surface-card);border-color:var(--surface-border);width:100%;color:var(--text-color)}.choices button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary-border)}.error{color:var(--color-danger)}.muted{color:var(--text-color-secondary);font-size:.875rem}.portal-nav{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding:.3rem;display:flex}.portal-nav a{color:var(--text-color-secondary);border-radius:var(--radius-md);padding:.45rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none}.portal-nav a:hover{color:var(--text-color);background:var(--surface-hover)}.portal-nav a.router-link-active{color:var(--primary-text);background:var(--primary-surface)}.portal-card+.portal-card{margin-top:1rem}.card-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.card-head h2{margin:0}.portal-card.notice{color:inherit;border-color:var(--primary-border);background:var(--primary-surface);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.portal-card.notice:hover{box-shadow:var(--elevation-2)}.rows{margin:0;padding:0;list-style:none}.rows li{border-top:1px solid var(--surface-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.875rem 0;display:flex}.rows li:first-child{border-top:none}.row-main{flex-direction:column;gap:.125rem;display:flex}.row-main strong{font-weight:600}.row-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row-actions p{flex-basis:100%;margin:.25rem 0}.day{margin-top:1rem}.day h3{color:var(--text-color);margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.slots{flex-wrap:wrap;gap:.5rem;display:flex}.slots button{background:var(--surface-card);border-color:var(--surface-border);color:var(--text-color);padding:.5rem .875rem}.slots button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary-500);color:var(--primary-700)}.sign-out{margin-left:auto}.portal-footer{text-align:center;margin-top:1.5rem}
