[data-theme=light]{--portal-bg: #f8fafc;--portal-surface: #ffffff;--portal-surface-2: #f1f5f9;--portal-surface-hover: #f1f5f9;--portal-border: #e2e8f0;--portal-border-light: #cbd5e1;--portal-text: #1e293b;--portal-text-secondary: #475569;--portal-text-muted: #64748b;--portal-primary: #2563eb;--portal-primary-hover: #1d4ed8;--portal-primary-light: rgba(37, 99, 235, .08);--portal-sidebar-bg: #ffffff;--portal-sidebar-active: #eff6ff;--portal-header-bg: rgba(255, 255, 255, .85);--portal-card-shadow: 0 1px 3px rgba(0, 0, 0, .06);--portal-card-shadow-lg: 0 4px 12px rgba(0, 0, 0, .08);--portal-overlay: rgba(0, 0, 0, .3);--portal-input-bg: #ffffff;--portal-table-header-bg: #f8fafc;--portal-bg-card: #ffffff;--portal-bg-secondary: #f1f5f9;--portal-accent: #2563eb;--portal-card-bg: #ffffff}[data-theme=dark]{--portal-bg: #050b14;--portal-surface: #0f172a;--portal-surface-2: #1e293b;--portal-surface-hover: #1e293b;--portal-border: rgba(255, 255, 255, .06);--portal-border-light: #334155;--portal-text: #f1f5f9;--portal-text-secondary: #94a3b8;--portal-text-muted: #94a3b8;--portal-primary: #38bdf8;--portal-primary-hover: #0ea5e9;--portal-primary-light: rgba(56, 189, 248, .1);--portal-sidebar-bg: #0a1628;--portal-sidebar-active: rgba(56, 189, 248, .1);--portal-header-bg: rgba(15, 23, 42, .85);--portal-card-shadow: 0 1px 3px rgba(0, 0, 0, .3);--portal-card-shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--portal-overlay: rgba(5, 11, 20, .7);--portal-input-bg: #1e293b;--portal-table-header-bg: rgba(30, 41, 59, .8);--portal-bg-card: #0f172a;--portal-bg-secondary: #1e293b;--portal-accent: #38bdf8;--portal-card-bg: #0f172a}:root{--portal-accent-teal: #2dd4bf;--portal-accent-amber: #f59e0b;--portal-accent-rose: #fb7185;--portal-accent-violet: #a78bfa;--portal-success: #22c55e;--portal-warning: #fbbf24;--portal-danger: #ef4444;--portal-sidebar-width: 240px;--portal-header-height: 64px;--portal-radius: .75rem;--portal-radius-sm: .5rem;--portal-font: "Manrope", system-ui, sans-serif}.portal-root *,.portal-root *:before,.portal-root *:after{box-sizing:border-box}.portal-root{font-family:var(--portal-font);background-color:var(--portal-bg);color:var(--portal-text);min-height:100vh;display:flex}.portal-sidebar{position:fixed;top:0;left:0;width:var(--portal-sidebar-width);height:100vh;background-color:var(--portal-sidebar-bg);border-right:1px solid var(--portal-border);display:flex;flex-direction:column;z-index:100;transition:transform .25s ease}.portal-sidebar-brand{display:flex;align-items:center;gap:.625rem;padding:0 1.25rem;height:var(--portal-header-height);border-bottom:1px solid var(--portal-border);flex-shrink:0}.portal-sidebar-brand-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal) 100%);border-radius:var(--portal-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-sidebar-brand-icon .material-symbols-outlined{font-size:18px;color:#fff}[data-theme=dark] .portal-sidebar-brand-icon .material-symbols-outlined{color:#050b14}.portal-sidebar-brand-text{display:flex;flex-direction:column;min-width:0}.portal-sidebar-brand-name{font-size:.9375rem;font-weight:800;color:var(--portal-text);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-sidebar-brand-sub{font-size:.6875rem;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.08em}.portal-sidebar-nav{flex:1;overflow-y:auto;padding:1rem .75rem;display:flex;flex-direction:column;gap:.125rem}.portal-nav-section-label{font-size:.6875rem;font-weight:700;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.1em;padding:.5rem .5rem .25rem;margin-top:.5rem}.portal-nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--portal-radius-sm);color:var(--portal-text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color .15s ease,color .15s ease;cursor:pointer;border:none;background:none;width:100%;text-align:left;position:relative}.portal-nav-item:hover{background-color:var(--portal-surface-hover);color:var(--portal-text)}.portal-nav-item.active{background-color:var(--portal-sidebar-active);color:var(--portal-primary);border-left:3px solid var(--portal-primary);padding-left:calc(.75rem - 3px)}.portal-nav-item.active .material-symbols-outlined{color:var(--portal-primary)}.portal-nav-item .material-symbols-outlined{font-size:20px;flex-shrink:0;color:var(--portal-text-muted);transition:color .15s ease}.portal-nav-item:hover .material-symbols-outlined{color:var(--portal-text)}.portal-nav-item-label{flex:1}.portal-sidebar-footer{padding:.75rem;border-top:1px solid var(--portal-border);flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.portal-user-info{display:flex;align-items:center;gap:.625rem;padding:.5rem;border-radius:var(--portal-radius-sm)}.portal-user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal) 100%);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;color:#fff;flex-shrink:0;text-transform:uppercase}[data-theme=dark] .portal-user-avatar{color:#050b14}.portal-user-name{font-size:.875rem;font-weight:600;color:var(--portal-text);line-height:1.25;text-transform:capitalize}.portal-user-role{font-size:.75rem;color:var(--portal-text-muted);line-height:1.25;text-transform:capitalize}.portal-sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:100%;height:32px;margin:.25rem 0 .75rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-surface);color:var(--portal-text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.portal-sidebar-collapse-btn:hover{background-color:var(--portal-surface-hover);color:var(--portal-text);border-color:var(--portal-border-light)}.portal-sidebar-collapse-btn .material-symbols-outlined{font-size:18px}.reception-header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.reception-header-icon-btn:hover{background-color:var(--portal-surface-hover);color:var(--portal-text);border-color:var(--portal-border-light)}.reception-header-icon-btn .material-symbols-outlined{font-size:20px}.reception-header-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal) 100%);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;color:#fff;flex-shrink:0;text-transform:uppercase;user-select:none}[data-theme=dark] .reception-header-avatar{color:#050b14}.reception-header-search{display:flex;align-items:center;gap:.5rem;height:36px;padding:0 .875rem;margin-left:1rem;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface);min-width:280px;max-width:420px;flex:1 1 320px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.reception-header-search:focus-within{border-color:var(--portal-primary);background:var(--portal-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-primary) 18%,transparent)}.reception-search-icon{font-size:18px!important;color:var(--portal-text-muted);flex-shrink:0}.reception-search-input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;color:var(--portal-text);font-size:.875rem;font-family:inherit}.reception-search-input::placeholder{color:var(--portal-text-muted)}.reception-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}@media(max-width:768px){.reception-header-search{display:none}}.portal-header{position:fixed;top:0;left:var(--portal-sidebar-width);right:0;height:var(--portal-header-height);background-color:var(--portal-header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--portal-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:90}.portal-header-left{display:flex;align-items:center;gap:1rem}.portal-header-title{font-size:1.0625rem;font-weight:700;color:var(--portal-text)}.portal-header-right{display:flex;align-items:center;gap:1rem}.portal-theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.portal-theme-toggle:hover{background-color:var(--portal-surface-hover);color:var(--portal-text);border-color:var(--portal-border-light)}.portal-theme-toggle .material-symbols-outlined{font-size:20px}.portal-doctor-info{display:flex;align-items:center;gap:.625rem}.portal-doctor-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal) 100%);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:800;color:#fff;flex-shrink:0;text-transform:uppercase}[data-theme=dark] .portal-doctor-avatar{color:#050b14}.portal-doctor-name{font-size:.875rem;font-weight:600;color:var(--portal-text)}.portal-doctor-role{font-size:.75rem;color:var(--portal-text-muted)}.portal-sidebar-toggle{display:none;background:none;border:none;color:var(--portal-text);cursor:pointer;padding:.375rem;border-radius:var(--portal-radius-sm);transition:background-color .15s ease}.portal-sidebar-toggle:hover{background-color:var(--portal-surface-hover)}.portal-sidebar-toggle .material-symbols-outlined{font-size:24px;display:block}.portal-main{margin-left:var(--portal-sidebar-width);margin-top:var(--portal-header-height);flex:1;min-height:calc(100vh - var(--portal-header-height));overflow-y:auto;background-color:var(--portal-bg)}.portal-content{padding:2rem 1.75rem;max-width:1400px}.portal-page-title{font-size:1.5rem;font-weight:800;color:var(--portal-text);margin:0 0 .25rem}.portal-page-subtitle{font-size:.875rem;color:var(--portal-text-muted);margin:0 0 2rem}.portal-card{background-color:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-card-shadow)}[data-theme=dark] .glass-card{background:#ffffff08;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);box-shadow:none}[data-theme=light] .glass-card{background:var(--portal-surface);border:1px solid var(--portal-border);box-shadow:var(--portal-card-shadow)}.portal-card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--portal-border);display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-card-title{font-size:.9375rem;font-weight:700;color:var(--portal-text);margin:0}.portal-card-body{padding:1.5rem}.portal-stat-card{background-color:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--portal-card-shadow);transition:border-color .15s ease,transform .15s ease}[data-theme=dark] .portal-stat-card{background:#ffffff08;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06)}.portal-stat-card:hover{border-color:var(--portal-border-light);transform:translateY(-1px)}.portal-stat-label{font-size:.75rem;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:.375rem}.portal-stat-label .material-symbols-outlined{font-size:14px}.portal-stat-value{font-size:2rem;font-weight:800;color:var(--portal-text);line-height:1}.portal-stat-sub{font-size:.75rem;color:var(--portal-text-muted)}.portal-stat-card.accent-teal{border-top:2px solid var(--portal-accent-teal)}.portal-stat-card.accent-amber{border-top:2px solid var(--portal-accent-amber)}.portal-stat-card.accent-rose{border-top:2px solid var(--portal-accent-rose)}.portal-stat-card.accent-primary{border-top:2px solid var(--portal-primary)}.portal-stat-card.accent-violet{border-top:2px solid var(--portal-accent-violet)}.portal-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.portal-badge.status-confirmed{background-color:#2dd4bf1f;color:var(--portal-accent-teal);border:1px solid rgba(45,212,191,.25)}.portal-badge.status-checked_in{background-color:#f59e0b1f;color:var(--portal-accent-amber);border:1px solid rgba(245,158,11,.25)}.portal-badge.status-completed{background-color:#22c55e1f;color:var(--portal-success);border:1px solid rgba(34,197,94,.25)}.portal-badge.status-cancelled{background-color:#fb71851f;color:var(--portal-accent-rose);border:1px solid rgba(251,113,133,.25)}.portal-badge.status-no_show{background-color:#ef44441f;color:var(--portal-danger);border:1px solid rgba(239,68,68,.25)}.portal-badge.status-pending{background-color:#64748b26;color:var(--portal-text-secondary);border:1px solid rgba(100,116,139,.25)}.portal-badge.status-active{background-color:#22c55e1f;color:var(--portal-success);border:1px solid rgba(34,197,94,.25)}.portal-badge.status-critical{background-color:#ef44441f;color:var(--portal-danger);border:1px solid rgba(239,68,68,.25)}.portal-badge.status-recovering{background-color:#2563eb1f;color:var(--portal-primary);border:1px solid rgba(37,99,235,.25)}.portal-table-wrap{overflow-x:auto;border-radius:var(--portal-radius);border:1px solid var(--portal-border)}.portal-table{width:100%;border-collapse:collapse;min-width:600px;font-size:.875rem}.portal-table thead tr{background-color:var(--portal-table-header-bg)}.portal-table th{padding:.75rem 1rem;text-align:left;font-size:.6875rem;font-weight:700;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-bottom:1px solid var(--portal-border)}.portal-table td{padding:.875rem 1rem;border-bottom:1px solid var(--portal-border);color:var(--portal-text);vertical-align:middle}.portal-table tbody tr:last-child td{border-bottom:none}.portal-table tbody tr{transition:background-color .12s ease}.portal-table tbody tr:hover{background-color:var(--portal-surface-hover)}.portal-field{display:flex;flex-direction:column;gap:.375rem}.portal-label{font-size:.8125rem;font-weight:600;color:var(--portal-text-secondary)}.portal-input,.portal-select,.portal-textarea{background-color:var(--portal-input-bg);border:1px solid var(--portal-border-light);border-radius:var(--portal-radius-sm);color:var(--portal-text);font-family:var(--portal-font);font-size:.9375rem;padding:.625rem .875rem;width:100%;transition:border-color .15s ease,box-shadow .15s ease;outline:none;appearance:none}.portal-input::placeholder,.portal-textarea::placeholder{color:var(--portal-text-muted)}.portal-input:focus,.portal-select:focus,.portal-textarea:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-light)}.portal-textarea{resize:vertical;min-height:100px;line-height:1.5}.portal-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem;cursor:pointer}.portal-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5625rem 1.125rem;border-radius:var(--portal-radius-sm);font-family:var(--portal-font);font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;text-decoration:none;white-space:nowrap;line-height:1}.portal-btn .material-symbols-outlined{font-size:18px}.portal-btn-primary{background-color:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}[data-theme=dark] .portal-btn-primary{color:#050b14}.portal-btn-primary:hover{background-color:var(--portal-primary-hover);border-color:var(--portal-primary-hover);box-shadow:0 0 0 3px var(--portal-primary-light)}.portal-btn-secondary{background-color:transparent;color:var(--portal-text-secondary);border-color:var(--portal-border-light)}.portal-btn-secondary:hover{background-color:var(--portal-surface-hover);color:var(--portal-text);border-color:var(--portal-text-muted)}.portal-btn-danger{background-color:#ef444414;color:var(--portal-danger);border-color:#ef444440}.portal-btn-danger:hover{background-color:#ef444426;border-color:var(--portal-danger)}.portal-btn-ghost{background-color:transparent;color:var(--portal-text-muted);border-color:transparent}.portal-btn-ghost:hover{background-color:var(--portal-surface-hover);color:var(--portal-text)}.portal-btn-sm{padding:.375rem .75rem;font-size:.8125rem}.portal-btn-sm .material-symbols-outlined{font-size:15px}.portal-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.portal-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.portal-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.portal-divider{height:1px;background-color:var(--portal-border);border:none;margin:1.5rem 0}.portal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:.75rem}.portal-empty .material-symbols-outlined{font-size:48px;color:var(--portal-text-muted)}.portal-empty-title{font-size:1rem;font-weight:700;color:var(--portal-text-secondary)}.portal-empty-sub{font-size:.875rem;color:var(--portal-text-muted)}.portal-sidebar-overlay{display:none;position:fixed;inset:0;background-color:var(--portal-overlay);z-index:99}.greeting-banner{background:linear-gradient(135deg,var(--portal-primary) 0%,#7c3aed 100%);border-radius:var(--portal-radius);padding:1.75rem 2rem;margin-bottom:1.5rem;color:#fff;position:relative;overflow:hidden}.greeting-banner:after{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;border-radius:50%;background:#ffffff14;pointer-events:none}.greeting-banner h1{font-size:1.5rem;font-weight:800;margin:0 0 .25rem;color:#fff}.greeting-banner p{font-size:.875rem;color:#fffc;margin:0}.bar-chart{display:flex;align-items:flex-end;gap:.75rem;height:180px;padding:1rem 0}.bar-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;height:100%;justify-content:flex-end}.bar-chart-bar{width:100%;max-width:48px;border-radius:6px 6px 0 0;background:var(--portal-primary);transition:height .3s ease;min-height:4px;opacity:.85}.bar-chart-bar:hover{opacity:1}.bar-chart-label{font-size:.6875rem;color:var(--portal-text-muted);font-weight:600;text-transform:uppercase}.bar-chart-value{font-size:.75rem;color:var(--portal-text-secondary);font-weight:700}.efficiency-ring{display:flex;align-items:center;justify-content:center;position:relative}.efficiency-ring svg{transform:rotate(-90deg)}.efficiency-ring-label{position:absolute;display:flex;flex-direction:column;align-items:center;pointer-events:none}.efficiency-ring-value{font-size:2.25rem;font-weight:800;color:var(--portal-text);line-height:1}.efficiency-ring-sub{font-size:.75rem;color:var(--portal-text-muted);font-weight:600;text-transform:uppercase;margin-top:.125rem}.satisfaction-trend{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:.75rem;font-size:.8125rem;font-weight:600;color:var(--portal-success)}.satisfaction-trend .material-symbols-outlined{font-size:16px}.daily-timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--portal-border);align-items:flex-start}.timeline-item:last-child{border-bottom:none}.timeline-time{font-size:.8125rem;font-weight:700;color:var(--portal-text);min-width:65px;flex-shrink:0}.timeline-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.timeline-content{flex:1;min-width:0}.timeline-patient{font-size:.875rem;font-weight:600;color:var(--portal-text)}.timeline-type{font-size:.75rem;color:var(--portal-text-muted)}.portal-fab{position:fixed;bottom:2rem;right:2rem;z-index:80}.portal-fab-btn{width:56px;height:56px;border-radius:50%;background:var(--portal-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000040;transition:transform .2s ease,box-shadow .2s ease}[data-theme=dark] .portal-fab-btn{color:#050b14}.portal-fab-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #00000059}.portal-fab-btn .material-symbols-outlined{font-size:26px;transition:transform .2s ease}.portal-fab.is-open .portal-fab-btn .material-symbols-outlined{transform:rotate(45deg)}.portal-fab-menu{position:absolute;bottom:68px;right:0;display:flex;flex-direction:column;gap:.5rem;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.portal-fab.is-open .portal-fab-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.portal-fab-action{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-card-shadow-lg);text-decoration:none;color:var(--portal-text);font-size:.8125rem;font-weight:600;white-space:nowrap;transition:background-color .15s ease}.portal-fab-action:hover{background-color:var(--portal-surface-hover)}.portal-fab-action .material-symbols-outlined{font-size:18px;color:var(--portal-primary)}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.cal-nav{display:flex;align-items:center;gap:.5rem}.cal-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-text-secondary);cursor:pointer;transition:all .15s ease}.cal-nav-btn:hover{background:var(--portal-surface-hover);color:var(--portal-text);border-color:var(--portal-border-light)}.cal-week-label{font-size:1.125rem;font-weight:700;color:var(--portal-text);min-width:200px;text-align:center}.view-toggle{display:flex;gap:.25rem;background:var(--portal-surface-2);border-radius:999px;padding:.25rem;border:1px solid var(--portal-border)}.view-toggle-btn{padding:.375rem 1rem;border:none;border-radius:999px;background:transparent;color:var(--portal-text-muted);font-family:var(--portal-font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.view-toggle-btn.active{background:var(--portal-primary);color:#fff;box-shadow:0 2px 6px #2563eb59}[data-theme=dark] .view-toggle-btn.active{color:#050b14;box-shadow:0 2px 6px #38bdf859}.view-toggle-btn:hover:not(.active){color:var(--portal-text);background:var(--portal-surface-hover)}.cal-grid{display:grid;grid-template-columns:60px repeat(7,1fr);border:1px solid var(--portal-border);border-radius:var(--portal-radius);overflow:hidden;background:var(--portal-surface)}.cal-grid-header{display:contents}.cal-grid-header-cell{padding:.75rem .5rem;text-align:center;background:var(--portal-surface-2);border-bottom:1px solid var(--portal-border);border-right:1px solid var(--portal-border)}.cal-grid-header-cell:last-child{border-right:none}.cal-grid-header-cell .day-name{font-size:.6875rem;font-weight:700;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.05em}.cal-grid-header-cell .day-num{font-size:1.125rem;font-weight:800;color:var(--portal-text);margin-top:.125rem}.cal-grid-header-cell.is-today{background:var(--portal-primary-light)}.cal-grid-header-cell.is-today .day-name{color:var(--portal-primary)}.cal-grid-header-cell.is-today .day-num{background:var(--portal-primary);color:#fff;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}[data-theme=dark] .cal-grid-header-cell.is-today .day-num{color:#050b14}.cal-time-cell.is-today-col{background:var(--portal-primary-light)}.cal-grid-corner{background:var(--portal-surface-2);border-bottom:1px solid var(--portal-border);border-right:1px solid var(--portal-border)}.cal-time-label{padding:.25rem .5rem 0;font-size:.6875rem;font-weight:600;color:var(--portal-text-muted);border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);display:flex;align-items:flex-start;justify-content:flex-end;min-height:80px}.cal-time-cell{border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);position:relative;min-height:80px}.cal-time-cell:last-child{border-right:none}.cal-event{position:absolute;left:2px;right:2px;border-radius:6px;padding:.375rem .5rem;font-size:.8125rem;font-weight:600;overflow:visible;cursor:default;z-index:1;line-height:1.35;min-height:34px;box-shadow:0 1px 3px #00000014}.cal-event-type{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.cal-event-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8125rem;font-weight:700}.cal-event-time{font-weight:400;opacity:.8;font-size:.625rem}.cal-event.type-blue{background:#2563eb26;color:#2563eb;border-left:3px solid #2563eb}.cal-event.type-green{background:#22c55e26;color:#22c55e;border-left:3px solid #22c55e}.cal-event.type-red{background:#ef444426;color:#ef4444;border-left:3px solid #ef4444}.cal-event.type-purple{background:#8b5cf626;color:#8b5cf6;border-left:3px solid #8b5cf6}.cal-event.type-amber{background:#f59e0b26;color:#f59e0b;border-left:3px solid #f59e0b}.cal-event.type-pink{background:#ec489926;color:#ec4899;border-left:3px solid #ec4899}.cal-event.type-cyan{background:#06b6d426;color:#06b6d4;border-left:3px solid #06b6d4}[data-theme=dark] .cal-event.type-blue{background:#2563eb40;color:#60a5fa}[data-theme=dark] .cal-event.type-green{background:#22c55e40;color:#4ade80}[data-theme=dark] .cal-event.type-red{background:#ef444440;color:#f87171}[data-theme=dark] .cal-event.type-purple{background:#8b5cf640;color:#a78bfa}[data-theme=dark] .cal-event.type-amber{background:#f59e0b40;color:#fbbf24}[data-theme=dark] .cal-event.type-pink{background:#ec489940;color:#f472b6}[data-theme=dark] .cal-event.type-cyan{background:#06b6d440;color:#22d3ee}.cal-sidebar{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:1.25rem;box-shadow:var(--portal-card-shadow)}.cal-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cal-sidebar-title{font-size:.875rem;font-weight:700;color:var(--portal-text);margin:0}.cal-sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .375rem;border-radius:999px;background:var(--portal-primary);color:#fff;font-size:.6875rem;font-weight:700;line-height:1}[data-theme=dark] .cal-sidebar-badge{color:#050b14}.cal-sidebar-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);margin-bottom:.5rem;background:var(--portal-surface);transition:border-color .15s ease,background .15s ease}.cal-sidebar-item:last-child{margin-bottom:0}.cal-sidebar-item:hover{border-color:var(--portal-border-light);background:var(--portal-surface-hover)}.cal-sidebar-item-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.cal-sidebar-item-body{flex:1;min-width:0}.cal-sidebar-item-name{font-size:.8125rem;font-weight:600;color:var(--portal-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-sidebar-item-type{font-size:.75rem;color:var(--portal-text-muted);margin-top:.125rem}.cal-sidebar-item-action{font-size:.6875rem;font-weight:700;color:var(--portal-primary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;align-self:center;cursor:pointer}.availability-meter{padding:1.25rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-card-shadow)}.availability-meter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.availability-meter-title{font-size:.875rem;font-weight:700;color:var(--portal-text);text-transform:uppercase;letter-spacing:.05em}.availability-meter-pct{font-size:.8125rem;font-weight:700;color:var(--portal-success)}.availability-bar{height:10px;background:var(--portal-surface-2);border-radius:999px;overflow:hidden}.availability-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--portal-primary),var(--portal-success));transition:width .4s ease}.availability-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.availability-stat{background:var(--portal-surface-2);border-radius:var(--portal-radius-sm);padding:.625rem .75rem}.availability-stat-label{font-size:.6875rem;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.05em}.availability-stat-value{font-size:1.125rem;font-weight:800;color:var(--portal-text);margin-top:.125rem}.patient-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.patient-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:1.25rem;box-shadow:var(--portal-card-shadow);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;gap:.75rem;cursor:pointer;text-decoration:none;color:inherit}.patient-card:hover{border-color:var(--portal-primary);transform:translateY(-2px);box-shadow:0 6px 24px #0000001f}.patient-card-top{display:flex;align-items:center;gap:.75rem}.patient-avatar{width:44px;height:44px;border-radius:50%;background:var(--portal-primary-light);color:var(--portal-primary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800;flex-shrink:0;text-transform:uppercase}.patient-card-name{font-size:.9375rem;font-weight:700;color:var(--portal-text)}.patient-card-id{font-size:.75rem;color:var(--portal-text-muted)}.blood-type-badge{padding:.125rem .5rem;border-radius:4px;background:#ef44441a;color:var(--portal-danger);font-size:.6875rem;font-weight:800;margin-left:auto}.patient-card-meta{display:flex;justify-content:space-between;align-items:center}.patient-card-link{font-size:.8125rem;font-weight:600;color:var(--portal-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:opacity .15s ease}.patient-card-link:hover{opacity:.8}.portal-search-bar{display:flex;align-items:center;gap:.75rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);padding:.5rem 1rem;margin-bottom:1.5rem}.portal-search-bar .material-symbols-outlined{font-size:20px;color:var(--portal-text-muted)}.portal-search-bar input{flex:1;border:none;background:transparent;color:var(--portal-text);font-family:var(--portal-font);font-size:.9375rem;outline:none}.portal-search-bar input::placeholder{color:var(--portal-text-muted)}.filter-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.375rem .875rem;border:1px solid var(--portal-border);border-radius:999px;background:transparent;color:var(--portal-text-secondary);font-family:var(--portal-font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease}.filter-btn.active{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}[data-theme=dark] .filter-btn.active{color:#050b14}.filter-btn:hover:not(.active){background:var(--portal-surface-hover);border-color:var(--portal-border-light)}.wizard-dialog{border:none;border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-text);width:min(90vw,720px);max-height:90vh;padding:0;box-shadow:0 20px 60px #0000004d}.wizard-dialog::backdrop{background:#00000080}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--portal-border)}.wizard-header h2{font-size:1.125rem;font-weight:800;color:var(--portal-text);margin:0}.wizard-close{width:32px;height:32px;border-radius:var(--portal-radius-sm);border:none;background:transparent;color:var(--portal-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.wizard-close:hover{background:var(--portal-surface-hover);color:var(--portal-text)}.appt-panel-overlay{position:fixed;inset:0;background:var(--portal-overlay);z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease}.appt-panel-overlay.open{opacity:1;pointer-events:all}.appt-panel{position:fixed;top:0;right:0;width:min(420px,100vw);height:100vh;background:var(--portal-surface);border-left:1px solid var(--portal-border);box-shadow:var(--portal-card-shadow-lg);z-index:201;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}[data-theme=dark] .appt-panel{background:#0f172a;border-left:1px solid rgba(255,255,255,.08);box-shadow:-4px 0 40px #0009}.appt-panel.open{transform:translate(0)}.appt-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem;border-bottom:1px solid var(--portal-border);flex-shrink:0;gap:1rem}[data-theme=dark] .appt-panel-header{border-bottom-color:#ffffff12}.appt-panel-title{font-size:.875rem;font-weight:700;color:var(--portal-text);margin:0}.appt-panel-close{width:32px;height:32px;border-radius:var(--portal-radius-sm);border:none;background:transparent;color:var(--portal-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.appt-panel-close:hover{background:var(--portal-surface-hover);color:var(--portal-text)}[data-theme=dark] .appt-panel-close:hover{background:#ffffff12}.appt-panel-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.appt-detail-section{display:flex;flex-direction:column;gap:.75rem}.appt-detail-section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--portal-text-muted);margin-bottom:.25rem}.appt-detail-row{display:flex;align-items:flex-start;gap:.75rem}.appt-detail-icon{color:var(--portal-text-muted);flex-shrink:0;margin-top:1px;font-size:18px!important}.appt-detail-content{flex:1;min-width:0}.appt-detail-label{font-size:.6875rem;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.125rem}.appt-detail-value{font-size:.8125rem;font-weight:600;color:var(--portal-text)}.appt-detail-value.muted{font-weight:400;color:var(--portal-text-secondary);font-size:.75rem}.appt-detail-divider{height:1px;background:var(--portal-border);margin:.25rem 0}[data-theme=dark] .appt-detail-divider{background:#ffffff0f}.appt-booking-ref{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--portal-primary-light);color:var(--portal-primary);border:1px solid rgba(37,99,235,.2);font-family:monospace;letter-spacing:.04em}[data-theme=dark] .appt-booking-ref{border-color:#38bdf833}.appt-panel-actions{padding:1.25rem 1.5rem;border-top:1px solid var(--portal-border);display:flex;flex-wrap:wrap;gap:.625rem;flex-shrink:0}[data-theme=dark] .appt-panel-actions{border-top-color:#ffffff12}.appt-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:var(--portal-radius-sm);font-family:var(--portal-font);font-size:.8125rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,transform .1s ease,box-shadow .15s ease;white-space:nowrap;line-height:1}.appt-action-btn:hover{transform:translateY(-1px)}.appt-action-btn:active{transform:translateY(0)}.appt-action-btn .material-symbols-outlined{font-size:16px}.appt-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-check-in{background-color:#f59e0b1f;color:#d97706;border-color:#f59e0b4d}.btn-check-in:hover{background-color:#f59e0b33;box-shadow:0 0 0 3px #f59e0b26}[data-theme=dark] .btn-check-in{color:var(--portal-accent-amber)}.btn-complete{background-color:#22c55e1f;color:#16a34a;border-color:#22c55e4d}.btn-complete:hover{background-color:#22c55e33;box-shadow:0 0 0 3px #22c55e26}[data-theme=dark] .btn-complete{color:var(--portal-success)}.btn-no-show{background-color:#ef44441a;color:#dc2626;border-color:#ef444440}.btn-no-show:hover{background-color:#ef44442e;box-shadow:0 0 0 3px #ef44441f}[data-theme=dark] .btn-no-show{color:var(--portal-danger)}.btn-cancel-appt{background-color:transparent;color:var(--portal-text-muted);border-color:var(--portal-border)}.btn-cancel-appt:hover{background-color:#fb71851a;color:var(--portal-accent-rose);border-color:#fb71854d}.appt-action-btn.loading{opacity:.7;pointer-events:none}.appt-patient-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;flex-shrink:0;color:#fff;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal) 100%)}[data-theme=dark] .appt-patient-avatar{color:#050b14}.appt-patient-header{display:flex;align-items:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--portal-border)}[data-theme=dark] .appt-patient-header{border-bottom-color:#ffffff0f}.appt-patient-meta{flex:1;min-width:0}.appt-patient-name{font-size:.9375rem;font-weight:700;color:var(--portal-text);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-patient-type{font-size:.75rem;color:var(--portal-text-muted);margin:0}.ov-tl-card[data-appt],.cal-event[data-appt]{cursor:pointer}.wizard-stepper{display:flex;align-items:center;gap:0;padding:1.25rem 1.5rem;border-bottom:1px solid var(--portal-border);overflow-x:auto}.wizard-step{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.wizard-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;background:var(--portal-surface-2);color:var(--portal-text-muted);border:2px solid var(--portal-border);transition:all .2s ease}.wizard-step.active .wizard-step-num{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}[data-theme=dark] .wizard-step.active .wizard-step-num{color:#050b14}.wizard-step.completed .wizard-step-num{background:var(--portal-success);color:#fff;border-color:var(--portal-success)}.wizard-step-label{font-size:.75rem;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.05em}.wizard-step.active .wizard-step-label{color:var(--portal-primary)}.wizard-step.completed .wizard-step-label{color:var(--portal-success)}.wizard-step-connector{width:32px;height:2px;background:var(--portal-border);margin:0 .5rem;flex-shrink:0}.wizard-step.completed+.wizard-step-connector,.wizard-step.completed~.wizard-step-connector{background:var(--portal-success)}.step-panel{display:none;padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 200px)}.step-panel.active{display:block}.condition-chips{display:flex;flex-wrap:wrap;gap:.5rem}.condition-chip{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--portal-border);background:transparent;color:var(--portal-text-secondary);font-family:var(--portal-font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease}.condition-chip.selected{background:var(--portal-primary-light);border-color:var(--portal-primary);color:var(--portal-primary)}.tag-list{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.tag-item{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:999px;background:var(--portal-primary-light);color:var(--portal-primary);font-size:.8125rem;font-weight:600}.tag-item-remove{width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:var(--portal-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;padding:0;line-height:1}.tag-item-remove:hover{background:#0000001a}.wizard-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--portal-border)}.insight-banner{background:linear-gradient(135deg,#2563eb,#4f46e5);border-radius:var(--portal-radius);padding:1.75rem;margin-bottom:1.5rem;color:#fff;position:relative;overflow:hidden}.insight-banner:after{content:"";position:absolute;right:-40px;bottom:-40px;width:200px;height:200px;border-radius:50%;background:#ffffff0f;pointer-events:none}.insight-banner-heading{display:flex;align-items:center;gap:.625rem;margin-bottom:1.25rem}.insight-banner-heading .material-symbols-outlined{font-size:22px;color:#fff;opacity:.95}.insight-banner-heading h3{font-size:1.125rem;font-weight:700;margin:0;color:#fff}.insight-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.insight-card{background:#ffffff24;border:1px solid rgba(255,255,255,.2);border-radius:var(--portal-radius-sm);padding:1.125rem;backdrop-filter:blur(8px)}.insight-card-tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffffb3;margin-bottom:.5rem}.insight-card-body{font-size:.875rem;color:#fffffff2;line-height:1.55}.insight-card-body strong{color:#fff;font-weight:700}.insight-card-action{display:inline-flex;align-items:center;gap:.375rem;margin-top:.875rem;padding:.375rem .75rem;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease}.insight-card-action:hover{background:#ffffff47}.insight-card-action .material-symbols-outlined{font-size:14px}.h-bar-chart{display:flex;flex-direction:column;gap:.875rem}.h-bar-row{display:flex;align-items:center;gap:.75rem}.h-bar-label{font-size:.8125rem;color:var(--portal-text-secondary);min-width:110px;text-align:right;font-weight:600;flex-shrink:0}.h-bar-track{flex:1;height:22px;background:var(--portal-surface-2);border-radius:999px;overflow:visible;position:relative}.h-bar-fill{height:100%;border-radius:999px;background:var(--portal-primary);transition:width .5s cubic-bezier(.4,0,.2,1);min-width:22px;position:relative}.h-bar-count{font-size:.75rem;font-weight:700;color:var(--portal-text-secondary);flex-shrink:0;min-width:24px}.heatmap-grid{display:grid;gap:4px}.heatmap-cell{border-radius:4px;aspect-ratio:1;min-height:28px;transition:transform .15s ease;cursor:default}.heatmap-cell:hover{transform:scale(1.15);z-index:1;position:relative}.heatmap-label{font-size:.6875rem;font-weight:600;color:var(--portal-text-muted);display:flex;align-items:center}.heatmap-legend{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--portal-text-muted);font-weight:600}.heatmap-legend-dot{width:10px;height:10px;border-radius:2px}.report-sidebar{display:flex;flex-direction:column;gap:.5rem}.report-sidebar-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-surface);color:var(--portal-text);font-family:var(--portal-font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.report-sidebar-btn:hover{background:var(--portal-primary-light);border-color:var(--portal-primary)}.report-sidebar-btn:hover .report-sidebar-btn-icon{background:var(--portal-primary);color:#fff}[data-theme=dark] .report-sidebar-btn:hover .report-sidebar-btn-icon{color:#050b14}.report-sidebar-btn-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--portal-radius-sm);background:var(--portal-surface-2);color:var(--portal-primary);flex-shrink:0;transition:all .15s ease}.report-sidebar-btn-icon .material-symbols-outlined{font-size:18px}.report-sidebar-btn-text{flex:1;min-width:0}.report-sidebar-btn-label{font-size:.8125rem;font-weight:600;color:var(--portal-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-sidebar-btn-desc{font-size:.6875rem;color:var(--portal-text-muted);font-weight:400;margin-top:.0625rem}.report-sidebar-btn-chevron{font-size:18px!important;color:var(--portal-text-muted);flex-shrink:0}.ins-status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ins-status-badge.compliant{background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.25)}[data-theme=dark] .ins-status-badge.compliant{background:#22c55e2e;color:#4ade80}.ins-status-badge.pending{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.25)}[data-theme=dark] .ins-status-badge.pending{background:#f59e0b2e;color:#fbbf24}.ins-provider-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.5rem;vertical-align:middle;flex-shrink:0}.settings-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--portal-border);margin-bottom:1.5rem;overflow-x:auto}.settings-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--portal-text-muted);font-family:var(--portal-font);font-size:.875rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.settings-tab:hover{color:var(--portal-text)}.settings-tab.active{color:var(--portal-primary);border-bottom-color:var(--portal-primary)}.settings-tab .material-symbols-outlined{font-size:18px}.settings-panel{display:none}.settings-panel.active{display:block}.settings-msg{margin-top:.75rem;padding:.625rem 1rem;border-radius:var(--portal-radius-sm);font-size:.875rem;font-weight:600}.settings-msg--success{background-color:#22c55e1f;color:var(--portal-success);border:1px solid rgba(34,197,94,.25)}.settings-msg--error{background-color:#ef44441f;color:var(--portal-danger);border:1px solid rgba(239,68,68,.25)}.profile-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);margin-bottom:1.5rem}.profile-avatar-large{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal) 100%);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff;flex-shrink:0}[data-theme=dark] .profile-avatar-large{color:#050b14}.profile-info h2{font-size:1.25rem;font-weight:800;color:var(--portal-text);margin:0 0 .25rem}.profile-info p{font-size:.875rem;color:var(--portal-text-muted);margin:0}.hours-row{display:flex;align-items:center;gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--portal-border)}.hours-row:last-child{border-bottom:none}.hours-day-name{font-size:.875rem;font-weight:600;color:var(--portal-text);min-width:100px}.day-toggle{position:relative;width:40px;height:22px;flex-shrink:0}.day-toggle input{opacity:0;width:0;height:0}.day-toggle-slider{position:absolute;inset:0;background:var(--portal-surface-2);border-radius:999px;border:1px solid var(--portal-border);cursor:pointer;transition:background-color .2s ease}.day-toggle-slider:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--portal-text-muted);transition:transform .2s ease,background-color .2s ease}.day-toggle input:checked+.day-toggle-slider{background:var(--portal-primary-light);border-color:var(--portal-primary)}.day-toggle input:checked+.day-toggle-slider:before{transform:translate(18px);background:var(--portal-primary)}.hours-times{display:flex;align-items:center;gap:.5rem;flex:1}.hours-times input[type=time]{padding:.375rem .5rem;width:110px}.hours-times span{color:var(--portal-text-muted);font-size:.8125rem}.team-table{width:100%}@media(max-width:1024px){.portal-grid-4,.portal-grid-3,.patient-card-grid{grid-template-columns:repeat(2,1fr)}.insight-cards{grid-template-columns:1fr}}@media(max-width:768px){.portal-sidebar{transform:translate(calc(-1 * var(--portal-sidebar-width)))}.portal-sidebar.is-open{transform:translate(0)}.portal-sidebar-overlay.is-open{display:block}.portal-header{left:0}.portal-main{margin-left:0}.portal-sidebar-toggle{display:flex}.portal-grid-4,.portal-grid-3,.portal-grid-2{grid-template-columns:1fr}.portal-content{padding:1.25rem 1rem}.patient-card-grid{grid-template-columns:1fr}.cal-grid{grid-template-columns:60px 1fr}.cal-grid-header-cell:not(:nth-child(2)){display:none}.cal-time-cell:not(:nth-child(2)){display:none}.wizard-dialog{width:95vw}.wizard-stepper{padding:1rem}.wizard-step-label{display:none}.portal-fab{bottom:1.5rem;right:1.5rem}}@media(max-width:480px){.portal-doctor-name{display:none}.filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem}}.portal-btn-new-appt{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--portal-radius-sm);background:var(--portal-primary);color:#fff;border:none;font-family:var(--portal-font);font-size:.8125rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease;white-space:nowrap;line-height:1}.portal-btn-new-appt:hover{background:var(--portal-primary-hover);box-shadow:0 2px 8px #2563eb59;transform:translateY(-1px)}.portal-btn-new-appt:active{transform:translateY(0)}.portal-btn-new-appt .material-symbols-outlined{font-size:18px}[data-theme=dark] .portal-btn-new-appt:hover{box-shadow:0 2px 8px #38bdf84d}@media(max-width:600px){.portal-btn-new-appt-label{display:none}.portal-btn-new-appt{padding:.5rem}}.booking-modal-overlay{display:none;position:fixed;inset:0;background:var(--portal-overlay);z-index:1100;backdrop-filter:blur(2px)}.booking-modal-overlay.open{display:block}.booking-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.97);width:min(600px,calc(100vw - 2rem));max-height:calc(100vh - 3rem);background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:0 20px 60px #00000038;z-index:1110;flex-direction:column;opacity:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .18s ease;overflow:hidden}.booking-modal.open{display:flex;transform:translate(-50%,-50%) scale(1);opacity:1}[data-theme=dark] .booking-modal{border-color:#ffffff14;box-shadow:0 20px 60px #0009}.booking-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem;border-bottom:1px solid var(--portal-border);flex-shrink:0}[data-theme=dark] .booking-modal-header{border-bottom-color:#ffffff12}.booking-modal-title-row{display:flex;align-items:center;gap:.625rem}.booking-modal-icon{font-size:22px!important;color:var(--portal-primary)}.booking-modal-title{font-size:1rem;font-weight:700;color:var(--portal-text);margin:0}.booking-modal-close{width:32px;height:32px;border-radius:var(--portal-radius-sm);border:none;background:transparent;color:var(--portal-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.booking-modal-close:hover{background:var(--portal-surface-hover);color:var(--portal-text)}[data-theme=dark] .booking-modal-close:hover{background:#ffffff12}.booking-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.booking-section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--portal-text-muted);margin-bottom:.875rem}.booking-section-label+.booking-form-group,.booking-section-label+.booking-form-row{margin-top:0}.booking-form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.booking-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:480px){.booking-form-row{grid-template-columns:1fr}}.booking-label{font-size:.8125rem;font-weight:600;color:var(--portal-text-secondary)}.booking-label-optional{font-weight:400;color:var(--portal-text-muted)}.booking-input{width:100%;padding:.5625rem .75rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-input-bg);color:var(--portal-text);font-family:var(--portal-font);font-size:.9375rem;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;-webkit-appearance:none;appearance:none}.booking-input:focus{outline:none;border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-light)}[data-theme=dark] .booking-input{background:var(--portal-surface-2);border-color:#ffffff1a;color:var(--portal-text)}[data-theme=dark] .booking-input:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-light)}.booking-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;padding-right:2.25rem}.booking-textarea{resize:vertical;min-height:80px;line-height:1.5}.booking-phone-row{display:flex;align-items:center;gap:.625rem}.booking-phone-row .booking-input{flex:1}.booking-lookup-indicator{font-size:.75rem;color:var(--portal-text-muted);white-space:nowrap;flex-shrink:0}.booking-patient-found{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:var(--portal-radius-sm);font-size:.875rem;font-weight:600;color:var(--portal-text);margin-bottom:1rem}.booking-patient-found-tag{margin-left:auto;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--portal-success)}.booking-form-divider{height:1px;background:var(--portal-border);margin:.5rem 0 1.25rem}[data-theme=dark] .booking-form-divider{background:#ffffff0f}.booking-slot-grid{display:flex;flex-wrap:wrap;gap:.5rem;min-height:48px;align-items:flex-start;align-content:flex-start}.booking-slot-btn{padding:.4375rem .875rem;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-text-secondary);font-family:var(--portal-font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease;line-height:1}.booking-slot-btn:hover{border-color:var(--portal-primary);color:var(--portal-primary);background:var(--portal-primary-light)}.booking-slot-btn.selected{border-color:var(--portal-primary);background:var(--portal-primary);color:#fff;box-shadow:0 2px 6px #2563eb4d}[data-theme=dark] .booking-slot-btn.selected{color:#050b14;box-shadow:0 2px 6px #38bdf840}.booking-slot-hint{font-size:.8125rem;color:var(--portal-text-muted);font-style:italic;padding:.375rem 0}.booking-slot-error{color:var(--portal-danger);font-style:normal;font-weight:600}.booking-error{padding:.625rem .875rem;border-radius:var(--portal-radius-sm);background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:var(--portal-danger);font-size:.875rem;font-weight:600;margin-bottom:1rem}.booking-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.booking-btn-cancel{padding:.5625rem 1.25rem;border-radius:var(--portal-radius-sm);border:1px solid var(--portal-border);background:transparent;color:var(--portal-text-secondary);font-family:var(--portal-font);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.booking-btn-cancel:hover{background:var(--portal-surface-hover);color:var(--portal-text)}.booking-btn-submit{display:inline-flex;align-items:center;gap:.375rem;padding:.5625rem 1.375rem;border-radius:var(--portal-radius-sm);border:none;background:var(--portal-primary);color:#fff;font-family:var(--portal-font);font-size:.875rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease;line-height:1}.booking-btn-submit:hover:not(:disabled){background:var(--portal-primary-hover);box-shadow:0 2px 8px #2563eb59;transform:translateY(-1px)}.booking-btn-submit:active:not(:disabled){transform:translateY(0)}.booking-btn-submit:disabled{opacity:.65;cursor:not-allowed}.booking-btn-submit.loading{pointer-events:none}[data-theme=dark] .booking-btn-submit:hover:not(:disabled){box-shadow:0 2px 8px #38bdf84d}.booking-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(.5rem);background:var(--portal-text);color:var(--portal-surface);padding:.75rem 1.25rem;border-radius:var(--portal-radius-sm);font-size:.875rem;font-weight:600;box-shadow:0 4px 16px #0000002e;z-index:1200;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap;max-width:calc(100vw - 2rem);text-align:center}.booking-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}[data-theme=dark] .booking-toast{background:var(--portal-text);color:#050b14}.portal-dialog{border:none;border-radius:12px;padding:0;max-width:480px;width:calc(100vw - 2rem);box-shadow:0 25px 50px -12px #00000040;background:var(--portal-surface);color:var(--portal-text)}.portal-dialog--wide{max-width:560px}.portal-dialog::backdrop{background:#00000080;backdrop-filter:blur(4px)}.portal-dialog-header{display:flex;align-items:center;gap:.5rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--portal-border);background:var(--portal-surface-2);border-radius:12px 12px 0 0}.portal-dialog-header h3{margin:0;font-size:1.0625rem;font-weight:700;color:var(--portal-text)}.portal-dialog-header .material-symbols-outlined{font-size:22px;color:var(--portal-primary)}.portal-dialog-header--danger .material-symbols-outlined{color:#dc2626}.portal-dialog-body{padding:1.5rem}.portal-dialog-summary{background:var(--portal-surface-2);border:1px solid var(--portal-border);border-radius:8px;padding:.875rem 1rem;margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.portal-dialog-summary-row{color:var(--portal-text-secondary)}.portal-dialog-summary-row strong{color:var(--portal-text)}.portal-dialog-label{display:block;font-size:.8125rem;font-weight:600;color:var(--portal-text-secondary);margin-bottom:.375rem}.portal-dialog-optional{font-weight:400;color:var(--portal-text-muted)}.portal-dialog-textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--portal-border);border-radius:8px;font-family:inherit;font-size:.875rem;color:var(--portal-text);background:var(--portal-surface);resize:vertical;box-sizing:border-box;transition:border-color .15s ease}.portal-dialog-textarea:focus{outline:none;border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-light)}.portal-dialog-char-count{text-align:right;font-size:.75rem;color:var(--portal-text-muted);margin-top:.25rem}.portal-dialog-field{margin-bottom:1rem}.portal-dialog-input{width:100%;padding:.5rem .75rem;border:1px solid var(--portal-border);border-radius:8px;font-family:inherit;font-size:.875rem;color:var(--portal-text);background:var(--portal-surface);box-sizing:border-box}.portal-dialog-input:focus{outline:none;border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-light)}.portal-dialog-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.portal-dialog-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.portal-dialog-slot-grid{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0;min-height:44px}.portal-dialog-slot-hint{font-size:.8125rem;color:var(--portal-text-muted);padding:.25rem}.portal-dialog-slot-error{color:#dc2626}.portal-dialog-slot-btn{padding:.375rem .75rem;border:1px solid var(--portal-border);border-radius:6px;background:var(--portal-surface);color:var(--portal-text-secondary);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.portal-dialog-slot-btn:hover{border-color:var(--portal-primary);color:var(--portal-primary);background:var(--portal-primary-light)}.portal-dialog-slot-btn.selected{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}.portal-dialog-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.625rem .75rem;font-size:.8125rem;color:#dc2626;margin-top:.5rem}[data-theme=dark] .portal-dialog-error{background:#dc26261a;border-color:#dc26264d}.portal-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--portal-border)}.portal-dialog-btn{padding:.5rem 1.25rem;border:none;border-radius:8px;font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease}.portal-dialog-btn--secondary{background:var(--portal-surface-2);color:var(--portal-text-secondary);border:1px solid var(--portal-border)}.portal-dialog-btn--secondary:hover{background:var(--portal-surface-hover)}.portal-dialog-btn--primary{background:var(--portal-primary);color:#fff}.portal-dialog-btn--primary:hover{background:var(--portal-primary-hover)}.portal-dialog-btn--danger{background:#dc2626;color:#fff}.portal-dialog-btn--danger:hover{background:#b91c1c}.portal-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.btn-edit-appt{background:var(--portal-primary-light)!important;color:var(--portal-primary)!important}.btn-edit-appt:hover{background:var(--portal-primary)!important;color:#fff!important}.btn-reschedule-appt{background:#d4853d1a!important;color:#d4853d!important}.btn-reschedule-appt:hover{background:#d4853d!important;color:#fff!important}@media(max-width:480px){.portal-dialog-form-row{grid-template-columns:1fr}}.pp-breadcrumb{font-size:.8125rem;color:var(--portal-text-muted);margin-bottom:1.25rem}.pp-breadcrumb a{color:var(--portal-text-muted);text-decoration:none}.pp-breadcrumb a:hover{color:var(--portal-primary)}.pp-breadcrumb-sep{margin:0 .375rem;color:var(--portal-text-muted)}.ppp-toast{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--portal-radius-sm);font-size:.8125rem;font-weight:600;margin-bottom:1.25rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);color:var(--portal-success)}.ppp-toast-error{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--portal-danger)}.ppp-toast .material-symbols-outlined{font-size:1.125rem;flex-shrink:0}.pp-hero{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);margin-bottom:1.5rem;box-shadow:var(--portal-card-shadow)}.pp-hero-avatar-wrap{position:relative;flex-shrink:0}.pp-hero-avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--portal-primary) 0%,var(--portal-accent-teal, #14b8a6) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;letter-spacing:.02em}.pp-hero-avatar-img{object-fit:cover}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-avatar-spin{animation:pp-spin 1s linear infinite}.pp-medaid-scan-loading{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0}.pp-medaid-spin{animation:pp-spin 1s linear infinite;font-size:2rem;color:var(--portal-primary)}.pp-hero-avatar-btn{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;background:var(--portal-primary);color:#fff;border:2px solid var(--portal-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.pp-hero-avatar-btn .material-symbols-outlined{font-size:16px}.pp-hero-avatar-btn:hover{background:var(--portal-primary-hover)}.pp-hero-info{flex:1;min-width:0}.pp-hero-name{font-family:var(--portal-font);font-size:1.5rem;font-weight:800;color:var(--portal-text);margin:0 0 .125rem;line-height:1.2}.pp-hero-meta{font-size:.8125rem;color:var(--portal-text-muted);margin:0 0 .5rem}.pp-hero-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#22c55e1a;color:var(--portal-success);border:1px solid rgba(34,197,94,.2)}.pp-hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--portal-success)}.pp-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);margin-bottom:1.5rem;overflow:hidden;box-shadow:var(--portal-card-shadow)}.pp-card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--portal-border);display:flex;align-items:center;justify-content:space-between}.pp-card-heading{display:flex;align-items:center;gap:.5rem}.pp-card-heading .material-symbols-outlined{color:var(--portal-primary);font-size:1.25rem;flex-shrink:0}.pp-card-title{font-family:var(--portal-font);font-size:1.0625rem;font-weight:700;color:var(--portal-text);margin:0}.pp-card-header-right{display:flex;align-items:center;gap:.75rem}.pp-card-edit-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;color:var(--portal-primary);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:var(--portal-radius-sm);transition:background .15s}.pp-card-edit-btn:hover{background:var(--portal-primary-light)}.pp-card-edit-btn .material-symbols-outlined{font-size:16px}.pp-card-add-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;color:var(--portal-primary);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:var(--portal-radius-sm);transition:background .15s}.pp-card-add-btn:hover{background:var(--portal-primary-light)}.pp-card-add-btn .material-symbols-outlined{font-size:16px}.pp-card-body{padding:1.5rem}.pp-verified-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--portal-success);padding:.25rem .625rem;border-radius:999px;background:#22c55e1a;border:1px solid rgba(34,197,94,.15)}.pp-verified-badge .material-symbols-outlined{font-size:14px}.pp-field-grid{display:grid;gap:1.5rem}.pp-field-grid-2{grid-template-columns:1fr 1fr}.pp-field-grid-3{grid-template-columns:1fr 1fr 1fr}.pp-field-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--portal-primary);margin-bottom:.375rem}.pp-field-value{display:block;font-size:.9375rem;font-weight:500;color:var(--portal-text);line-height:1.4}.pp-medaid-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.pp-medaid-fields{min-width:0}.pp-medaid-card-upload{display:flex;align-items:stretch}.pp-medaid-card-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;border:2px dashed var(--portal-border);border-radius:var(--portal-radius);text-align:center;background:var(--portal-surface-2, var(--portal-surface))}.pp-medaid-card-icon{font-size:32px!important;color:var(--portal-text-muted);margin-bottom:.75rem;padding:.75rem;background:var(--portal-primary-light);border-radius:50%;color:var(--portal-primary)}.pp-medaid-card-title{font-size:.875rem;font-weight:700;color:var(--portal-text);margin:0 0 .375rem}.pp-medaid-card-desc{font-size:.75rem;color:var(--portal-text-muted);margin:0 0 1rem;line-height:1.5}.pp-upload-btn{font-size:.75rem!important;padding:.375rem 1rem!important}.pp-ec-list{display:flex;flex-direction:column;gap:0}.pp-ec-empty{text-align:center;color:var(--portal-text-muted);font-size:.875rem;padding:1.5rem 0;margin:0}.pp-ec-item{display:flex;align-items:center;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--portal-border)}.pp-ec-item:last-child{border-bottom:none}.pp-ec-avatar{width:40px;height:40px;border-radius:50%;background:var(--portal-surface-2, #f1f5f9);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-ec-avatar .material-symbols-outlined{font-size:20px;color:var(--portal-text-muted)}.pp-ec-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.pp-ec-name{font-size:.875rem;font-weight:700;color:var(--portal-text)}.pp-ec-detail{font-size:.8125rem;color:var(--portal-text-muted)}.pp-ec-actions{display:flex;gap:.25rem;flex-shrink:0}.pp-ec-btn{background:none;border:none;color:var(--portal-text-muted);cursor:pointer;padding:.375rem;border-radius:var(--portal-radius-sm);display:flex;align-items:center;transition:all .15s}.pp-ec-btn:hover{color:var(--portal-primary);background:var(--portal-primary-light)}.pp-ec-delete:hover{color:var(--portal-danger);background:#ef444414}.pp-ec-btn .material-symbols-outlined{font-size:18px}.pp-ec-form{padding:1rem;background:var(--portal-surface-2, #f8fafc);border:1px dashed var(--portal-primary);border-radius:var(--portal-radius-sm);margin-bottom:1rem}.pp-ec-form .ppp-form-group{margin-bottom:.75rem}.pp-ec-form .ppp-form-group label{display:block;font-size:.75rem;font-weight:600;color:var(--portal-text);margin-bottom:.25rem}.pp-ec-form input{width:100%;padding:.5rem .625rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);font-family:var(--portal-font);font-size:.8125rem;color:var(--portal-text);background:var(--portal-input-bg, #fff);outline:none;box-sizing:border-box}.pp-ec-form input:focus{border-color:var(--portal-primary)}.pp-edit-actions{padding-top:.75rem;display:flex;justify-content:flex-end;gap:.75rem}.ppp-form-group{margin-bottom:1rem}.ppp-form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--portal-text);margin-bottom:.375rem}.ppp-form-group input[type=text],.ppp-form-group input[type=email],.ppp-form-group input[type=tel],.ppp-form-group input[type=date],.ppp-form-group input[type=password],.ppp-form-group select,.ppp-form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);font-family:var(--portal-font);font-size:.875rem;color:var(--portal-text);background:var(--portal-input-bg, #fff);transition:border-color .15s;box-sizing:border-box;outline:none}.ppp-form-group input:focus,.ppp-form-group select:focus,.ppp-form-group textarea:focus{border-color:var(--portal-primary)}.ppp-form-group textarea{resize:vertical;min-height:60px}.ppp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ppp-pill-grid{display:flex;flex-wrap:wrap;gap:.5rem}.ppp-pill-label{display:inline-flex;cursor:pointer;margin-bottom:0}.ppp-pill-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.ppp-pill-text{padding:.375rem .875rem;border:1px solid var(--portal-border);border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--portal-text-muted);background:var(--portal-surface);transition:all .15s;user-select:none}.ppp-pill-label input:checked+.ppp-pill-text{border-color:var(--portal-primary);background-color:var(--portal-primary-light);color:var(--portal-primary)}.ppp-pill-label:hover .ppp-pill-text{border-color:var(--portal-primary)}.ppp-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-radius:var(--portal-radius-sm);font-family:var(--portal-font);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;text-decoration:none}.ppp-btn .material-symbols-outlined{font-size:1.125rem}.ppp-btn-primary{background-color:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}.ppp-btn-primary:hover:not(:disabled){background-color:var(--portal-primary-hover);border-color:var(--portal-primary-hover)}.ppp-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ppp-btn-secondary{background:var(--portal-surface-2, #f1f5f9);color:var(--portal-text);border-color:var(--portal-border)}.ppp-btn-secondary:hover:not(:disabled){background:var(--portal-surface-hover)}.ppp-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.pp-save-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--portal-surface);border-top:1px solid var(--portal-border);box-shadow:0 -4px 20px #00000014;padding:.75rem 2rem}.pp-save-bar-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.pp-save-bar-msg{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--portal-warning, #f59e0b)}.pp-save-bar-msg .material-symbols-outlined{font-size:18px}.pp-save-bar-actions{display:flex;gap:.75rem}@media(max-width:768px){.pp-hero{flex-direction:column;text-align:center;padding:1.25rem}.pp-hero-avatar{width:72px;height:72px;font-size:1.375rem}.pp-hero-name{font-size:1.25rem}.pp-field-grid-3,.pp-field-grid-2,.pp-medaid-layout{grid-template-columns:1fr}.ppp-form-row{grid-template-columns:1fr;gap:0}.pp-card-body{padding:1.25rem 1rem}.pp-card-header{flex-wrap:wrap;gap:.5rem}.pp-save-bar{padding:.75rem 1rem}.pp-save-bar-inner{flex-direction:column;gap:.75rem;text-align:center}}
