.halwel-auth-page{box-sizing:border-box;color:var(--text)}.halwel-auth-frame,.halwel-auth-page{min-height:100vh;min-height:100dvh;background:var(--brand-deep)}.halwel-auth-frame{position:relative;overflow:hidden}.halwel-auth-bg{position:absolute;inset:0;z-index:0}.halwel-auth-bg-slide{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transform:scale(1.06);transition:opacity 1.1s ease,transform 7.5s ease;will-change:opacity,transform}.halwel-auth-bg-slide.is-active{opacity:1;transform:scale(1)}.halwel-auth-bg-scrim{position:absolute;inset:0;background:radial-gradient(120% 105% at 50% 42%,rgba(11,24,21,.26) 0,rgba(11,24,21,.6) 68%,rgba(11,24,21,.78) 100%),linear-gradient(0deg,rgba(11,24,21,.72) 0,transparent 34%);pointer-events:none}.halwel-auth-back-link{position:absolute;top:28px;right:28px;z-index:3;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.5);color:#ffffff;font-family:var(--font-display);font-size:.9rem;font-weight:400;letter-spacing:var(--font-display-tracking,.02em);text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .18s ease,border-color .18s ease,transform .18s ease}.halwel-auth-back-link:hover{background:rgba(255,255,255,.12);border-color:#ffffff;transform:translateY(-1px)}.halwel-auth-back-link:hover .halwel-auth-back-arrow{transform:translateX(2px)}.halwel-auth-back-arrow{display:inline-block;transition:transform .18s ease}.halwel-auth-center{position:relative;z-index:2;min-height:calc(100vh - 28px);min-height:calc(100dvh - 28px);display:flex;align-items:center;justify-content:center;padding:88px 24px 96px}.halwel-auth-card{width:100%;max-width:452px;padding:38px 40px 34px;border-radius:20px;background:rgba(20,36,31,.82);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 40px 90px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}.halwel-auth-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.halwel-auth-wordmark{display:inline-flex;align-items:center;gap:8px;line-height:1}.halwel-auth-wordmark .halwel-auth-brand-dot{width:16px;height:16px}.halwel-auth-wordmark .halwel-auth-brand-wordmark{font-size:.95rem}.halwel-auth-card-portal{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:var(--font-display-tracking,.02em);color:var(--brand-gold,#c8b07a)}.halwel-auth-brand-dot{width:22px;height:22px;border-radius:999px;background:var(--brand-sky);flex-shrink:0}.halwel-auth-brand-wordmark{font-family:var(--font-display);font-size:1.24rem;font-weight:500;letter-spacing:.06em;color:#ffffff;text-transform:uppercase}.halwel-auth-form-wrap{width:100%}.halwel-auth-footerbar{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:30px 34px;pointer-events:none}.halwel-auth-footerbar .halwel-carousel-dots{pointer-events:auto}@media (max-width:600px){.halwel-auth-card{padding:30px 24px 26px}.halwel-auth-center{padding:74px 16px 84px}.halwel-auth-footerbar{justify-content:center;padding:22px}.halwel-auth-back-link{top:18px;right:18px}}@media (prefers-reduced-motion:reduce){.halwel-auth-bg-slide{transition:opacity .3s ease;transform:none}.halwel-auth-bg-slide.is-active{transform:none}}.halwel-auth-title{font-family:var(--font-display);font-size:2.4rem;font-weight:400;line-height:1.08;letter-spacing:-.005em;color:#ffffff;margin:0;text-transform:none}.halwel-auth-subtitle{font-family:var(--font-body);font-size:.9375rem;color:rgba(255,255,255,.6);margin:12px 0 0;text-transform:none}.halwel-auth-subtitle-link{color:var(--brand-sky);text-decoration:underline;text-underline-offset:3px;background:none;border:none;padding:0;cursor:pointer;font:inherit;text-transform:none}.halwel-auth-subtitle-link:hover{color:#ffffff}.halwel-auth-form{display:flex;flex-direction:column;gap:14px;margin-top:28px}.halwel-auth-form-aside{display:flex;justify-content:flex-end;margin-top:-4px;font-size:13px}.halwel-auth-field{display:flex;flex-direction:column;gap:6px}.halwel-auth-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-sky)}.halwel-auth-input,.halwel-auth-label{font-family:var(--font-body);font-weight:400}.halwel-auth-input{width:100%;height:50px;padding:0 16px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);box-shadow:var(--raise-xs,none);color:#ffffff;font-size:.9375rem;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}.halwel-auth-input::placeholder{color:var(--text-dim)}.halwel-auth-input:hover{background:var(--bg-input-focus);border-color:var(--border-focus)}.halwel-auth-input:focus{outline:none;background:var(--bg-input-focus);border-color:var(--brand-gold);box-shadow:0 0 0 1px var(--brand-gold),var(--raise-xs,0 0 0 0 transparent)}.halwel-auth-error{border-radius:var(--radius-sm);background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#fca5a5}.halwel-auth-error,.halwel-auth-notice{padding:12px 14px;font-size:.875rem;line-height:1.4}.halwel-auth-notice{border-radius:var(--radius-sm);background:rgba(200,176,122,.08);border:1px solid rgba(200,176,122,.2);color:rgba(255,255,255,.84)}.halwel-auth-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:50px;border-radius:var(--radius-sm);background:var(--brand-action,#c36a3d);color:#ffffff;border:1px solid var(--brand-action,#c36a3d);box-shadow:var(--raised-fill,none);font-family:var(--font-display);font-size:.9375rem;font-weight:500;letter-spacing:.01em;cursor:pointer;margin-top:12px;text-transform:none;transition:background .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}.halwel-auth-submit:hover:not(:disabled){background:color-mix(in srgb,var(--brand-action,#c36a3d) 90%,#000);border-color:color-mix(in srgb,var(--brand-action,#c36a3d) 90%,#000);transform:translateY(-1px);box-shadow:var(--raised-lift,var(--raised-fill,none))}.halwel-auth-submit:active:not(:disabled){background:color-mix(in srgb,var(--brand-action,#c36a3d) 82%,#000);border-color:color-mix(in srgb,var(--brand-action,#c36a3d) 82%,#000);transform:none;box-shadow:var(--raised-press,none)}@media (prefers-reduced-motion:reduce){.halwel-auth-submit:hover:not(:disabled){transform:none}}.halwel-auth-submit:disabled{opacity:.55;cursor:not-allowed}.halwel-auth-footer{margin-top:24px;text-align:center}.halwel-auth-footer-link{color:var(--brand-sky);text-decoration:none;font-size:.875rem;text-transform:none}.halwel-auth-footer-link:hover{color:#ffffff;text-decoration:underline;text-underline-offset:3px}.halwel-carousel-dots{display:flex;align-items:center;gap:8px}.halwel-carousel-dot{border:none;background:transparent;cursor:pointer;padding:7px 0;display:flex;align-items:center}.halwel-carousel-dot-bar{display:block;width:10px;height:10px;border-radius:999px;background:rgba(251,246,236,.5);filter:drop-shadow(0 1px 2px rgba(20,32,29,.45));transition:width .5s cubic-bezier(.4,0,.2,1),background-color .35s ease}.halwel-carousel-dot-bar.is-active{width:38px;background:#fbf6ec}.halwel-carousel-dot:focus-visible .halwel-carousel-dot-bar,.halwel-carousel-dot:hover .halwel-carousel-dot-bar{background:#fbf6ec}@media (prefers-reduced-motion:reduce){.halwel-carousel-dot-bar{transition:none}}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;width:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}.sidebar-brand-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand-sky) 0,var(--brand-primary) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:14px;color:var(--bg)}.panel{background-color:var(--bg-panel);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border);transition:all .18s var(--ease)}.panel:hover{background-color:var(--bg-panel-hover);border-color:var(--border-focus)}.panel-title{font-size:18px;font-weight:600;text-transform:lowercase;margin-bottom:16px;color:var(--text)}.status-card{background-color:var(--bg-panel);border-radius:var(--radius-lg);padding:20px;border-left:4px solid var(--brand-primary);margin-bottom:16px;transition:all .18s var(--ease)}.status-card.active{border-left-color:var(--brand-gold);background-color:var(--bg-panel-hover)}.status-card.completed{border-left-color:#4ade80}.status-card.pending{border-left-color:var(--brand-gold)}.status-card.error{border-left-color:#ef4444}.status-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.status-card-title{font-size:14px;font-weight:600;text-transform:lowercase;color:var(--text)}.status-card-badge{font-size:12px;padding:4px 8px}.status-card-content{font-size:13px;color:var(--text-muted);line-height:1.6}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background-color:var(--bg-panel);color:var(--text-muted)}.badge.success{background-color:rgba(74,222,128,.2);color:#4ade80}.badge.warning{background-color:rgba(239,189,26,.2);color:var(--brand-gold)}.badge.error{background-color:rgba(239,68,68,.2);color:#ef4444}.badge.info{background-color:rgba(0,127,255,.2);color:var(--brand-primary)}.notification-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--brand-gold);margin-left:6px}h1{font-size:32px;margin-bottom:8px;letter-spacing:-.5px}h1,h2{font-weight:700;text-transform:lowercase;color:var(--text)}h2{font-size:24px;margin-bottom:16px}h3{font-size:18px;margin-bottom:12px}h3,h4{font-weight:600;text-transform:lowercase;color:var(--text)}h4{margin-bottom:8px}h4,p{font-size:14px}p{line-height:1.6}.text-muted,p{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-small{font-size:12px}.text-uppercase{text-transform:uppercase;font-size:11px;letter-spacing:.5px;font-weight:600}.message-bubble{padding:12px 16px;border-radius:var(--radius-sm);max-width:70%;word-wrap:break-word;margin-bottom:12px;font-size:14px;line-height:1.5}.message-sent{align-self:flex-end;background-color:var(--brand-primary);color:white;margin-left:auto;margin-right:0}.message-received{align-self:flex-start;background-color:var(--bg-panel);color:var(--text);margin-right:auto;margin-left:0;border:1px solid var(--border)}.message-time{font-size:11px;color:var(--text-dim);margin-top:4px}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;width:100%;background-color:var(--bg)}.skeleton{background:linear-gradient(90deg,var(--bg-panel) 0,var(--bg-panel-hover) 50%,var(--bg-panel) 100%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:16px;margin-bottom:8px}.skeleton-circle{width:40px;height:40px;border-radius:50%}.billing-table{width:100%;border-collapse:collapse;margin-top:16px}.billing-table thead{border-bottom:1px solid var(--border)}.billing-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-dim);letter-spacing:.5px}.billing-table td{padding:16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}.billing-table tbody tr:hover{background-color:var(--bg-panel)}.dose-ladder{display:flex;flex-direction:column;gap:12px;margin-top:16px}.dose-step{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--bg-panel);border-radius:var(--radius-sm);border-left:4px solid var(--border);transition:all .18s var(--ease)}.dose-step.active{background-color:var(--bg-panel-hover);border-left-color:var(--brand-primary)}.dose-step.completed{border-left-color:#4ade80;opacity:.7}.dose-step.upcoming{border-left-color:var(--text-dim);opacity:.6}.dose-step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--bg-input);font-size:14px;font-weight:600;flex-shrink:0}.dose-step.active .dose-step-number{background-color:var(--brand-primary);color:white}.dose-step.completed .dose-step-number{background-color:#4ade80;color:var(--bg)}.dose-step-content{flex:1 1}.dose-step-label{font-size:14px;font-weight:600;text-transform:lowercase;color:var(--text)}.dose-step-detail{font-size:12px;color:var(--text-muted);margin-top:4px}.chart-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:300px;background-color:var(--bg-panel);border-radius:var(--radius-lg);border:1px dashed var(--border);color:var(--text-dim);font-size:14px;margin-top:16px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:24px}.grid-2,.grid-3{display:grid;gap:24px;margin-top:24px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:24px}.flex{display:flex}.flex-col{flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.message-bubble{max-width:85%}h1{font-size:24px}h2{font-size:18px}}