*{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-karla,"Helvetica Neue"),Arial,sans-serif;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)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.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}}