@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSans_W_Th.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSans_W_Rg.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSans_W_Bd.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSans_W_XBd.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSans_W_He.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSansTH_W_Th.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSansTH_W_Rg.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSansTH_W_Bd.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSansTH_W_XBd.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:LINE Seed Sans;src:url(/assets/fonts/LINESeedSansTH_W_He.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0E00-0E7F}:root{--m-primary: #6b4ee6;--m-primary-soft: #8a72f0;--m-deep: #1a0d3d;--m-light: #f3eeff;--m-lighter: #faf7ff;--m-accent: #c5b3ff;--m-bg: #fcfbff;--m-text: #1a0d3d;--m-text-2: #6b6585;--m-text-3: #a8a3bd;--m-border: #ece8f5;--m-success: #34c759}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:LINE Seed Sans,sans-serif;-webkit-font-smoothing:antialiased;background:#ddd8f0}body{display:flex;justify-content:center;align-items:flex-start;min-height:100vh}app-root{display:block;width:390px;min-height:100dvh;background:var(--m-bg);position:relative;box-shadow:0 20px 60px -20px #1a0d3d4d,0 8px 24px #1a0d3d1a}@media (max-width: 430px){body{background:var(--m-bg);align-items:stretch}app-root{width:100%;box-shadow:none}}.page{min-height:100dvh;display:flex;flex-direction:column;padding:0 28px 48px;background:var(--m-bg);overflow-y:auto}.top-nav{display:flex;align-items:center;justify-content:space-between;padding-top:52px;margin-bottom:4px}.icon-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--m-border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--m-text);flex-shrink:0;transition:background .15s}.icon-btn:hover{background:var(--m-light)}.logo-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#6b4ee6,#9d83ff);display:flex;align-items:center;justify-content:center;color:#fff;font-family:JetBrains Mono,monospace;font-size:17px;font-weight:700}.headline{font-size:32px;font-weight:600;color:var(--m-text);letter-spacing:-.02em;line-height:1.1;margin-top:12px}.subheadline{font-size:14.5px;color:var(--m-text-2);margin-top:6px;line-height:1.5}.section-header{font-size:11.5px;font-weight:600;color:var(--m-text-3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.field-group{display:flex;flex-direction:column;gap:5px}.field-label{font-size:12.5px;font-weight:500;color:var(--m-text-2);letter-spacing:.01em}.input-wrap{display:flex;align-items:center;height:54px;border:1.5px solid var(--m-border);border-radius:16px;background:#fff;padding:0 16px;gap:10px;transition:border-color .15s,box-shadow .15s}.input-wrap.focused{border-color:var(--m-primary);box-shadow:0 0 0 4px #6b4ee61f}.input-wrap.has-error{border-color:#ef4444}.input-wrap.has-ok{border-color:#22c55e}.input-icon{color:var(--m-text-3);flex-shrink:0;display:flex}.input-wrap input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:15.5px;color:var(--m-text)}.input-wrap input::placeholder{color:var(--m-text-3)}.field-error{font-size:12.5px;color:#ef4444}.eye-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--m-text-3);display:flex;flex-shrink:0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--m-text);-webkit-user-select:none;user-select:none}.checkbox-hidden{display:none}.checkbox-custom{width:22px;height:22px;flex-shrink:0;border-radius:7px;border:1.5px solid var(--m-border);display:flex;align-items:center;justify-content:center;transition:all .15s}.checkbox-custom.checked{background:var(--m-primary);border-color:var(--m-primary);color:#fff}.btn-primary{width:100%;height:56px;border-radius:18px;background:var(--m-primary);color:#fff;font-family:inherit;font-size:15.5px;font-weight:600;border:none;cursor:pointer;box-shadow:0 10px 30px -10px #6b4ee68c;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .1s,background .15s}.btn-primary:hover:not(:disabled){background:var(--m-primary-soft)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-ghost{width:100%;height:56px;border-radius:18px;background:var(--m-light);color:var(--m-primary);font-family:inherit;font-size:15.5px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-ghost:hover{background:#e8dcff}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:12px 16px;font-size:13px;color:#dc2626}.link{color:var(--m-primary);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.link-row{text-align:center;font-size:13.5px;color:var(--m-text-2)}.link-row a{color:var(--m-primary);font-weight:600;text-decoration:none}.overlay{position:fixed;inset:0;background:#1a0d3d59;z-index:100;display:flex;align-items:flex-end;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-sheet{width:100%;max-width:390px;margin:0 auto;background:#fff;border-radius:24px 24px 0 0;padding:12px 0 32px;max-height:75dvh;display:flex;flex-direction:column;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--m-border);margin:0 auto 16px}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px 12px}.sheet-header h3{font-size:16px;font-weight:600;color:var(--m-text)}.search-wrap{display:flex;align-items:center;gap:10px;margin:0 20px 8px;border:1.5px solid var(--m-border);border-radius:12px;padding:0 14px;height:44px;color:var(--m-text-3)}.search-wrap input{flex:1;border:none;outline:none;font-family:inherit;font-size:14px;color:var(--m-text)}.search-wrap input::placeholder{color:var(--m-text-3)}.hospital-list{overflow-y:auto;flex:1}.hospital-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;color:var(--m-text);text-align:left;transition:background .1s}.hospital-item:hover{background:var(--m-lighter)}.hospital-item.active{background:var(--m-light);color:var(--m-primary);font-weight:500}.empty-state{text-align:center;padding:32px;color:var(--m-text-3);font-size:14px}
