@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-display: var(--font-sans);font-family:var(--font-sans);line-height:1.6;font-weight:400;--color-primary: #7c3aed;--color-primary-hover: #6d28d9;--color-primary-light: #ede9fe;--color-secondary: #16a34a;--color-danger: #dc2626;--color-danger-light: #fee2e2;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-tertiary: #94a3b8;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f6fa;--color-bg-tertiary: #eef2f7;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 10px 20px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 36px rgba(15, 23, 42, .12);color:var(--color-text-primary);background-color:var(--color-bg-secondary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f5f6fa;color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover);text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-md) 0;font-weight:600;line-height:1.3;color:var(--color-text-primary);font-family:var(--font-display)}h1{font-size:2.25rem;margin-bottom:var(--space-lg)}h2{font-size:1.5rem}h3{font-size:1.25rem;margin-bottom:var(--space-md)}p{margin:0 0 var(--space-md) 0;color:var(--color-text-secondary)}.auth-shell{min-height:100vh}.app-shell{min-height:100vh;display:flex;background:transparent}.app-shell.module-shell{flex-direction:column}.app-main{flex:1;display:flex;flex-direction:column;background:#f8f9fb}.app-shell.module-shell .page{max-width:100%;padding:var(--space-xl)}.sidebar{width:220px;background:#fff;border-right:1px solid var(--color-border);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);position:sticky;top:0;height:100vh;color:var(--color-text-primary)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:var(--space-sm)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.sidebar-toggle{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-secondary);border-radius:var(--radius-md);width:38px;height:38px;padding:0;display:none;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebar-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.sidebar-toggle svg{width:20px;height:20px;stroke:currentColor}.language-toggle{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-secondary);border-radius:var(--radius-md);padding:.5rem .85rem;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .15s ease;width:100%}.language-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.language-toggle.align-right{margin-left:auto}.auth-language{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:20}.sidebar-brand img{height:36px;width:auto;border-radius:8px}.sidebar-title{font-weight:700;font-size:1rem;letter-spacing:-.02em;color:var(--color-text-primary)}.sidebar-subtitle{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);margin-top:.1rem}.sidebar-section{display:grid;gap:var(--space-md)}.workspace-switcher-section{display:grid;gap:var(--space-sm)}.workspace-switcher-select{width:100%;height:2.4rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);padding:0 .75rem;font-size:.86rem}.workspace-switcher-select:focus{outline:2px solid var(--color-primary-light);outline-offset:1px}.workspace-scope-hint{margin:0;font-size:.75rem;color:var(--color-text-tertiary)}.sidebar-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary)}.sidebar nav{display:grid;gap:var(--space-sm)}.nav-link{display:flex;align-items:center;gap:var(--space-sm);padding:.5rem .75rem;border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;font-size:.875rem;transition:all .15s ease}.nav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.nav-link.active{background:var(--color-primary);color:#fff}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-link.active .nav-icon{color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:var(--space-sm)}.sidebar-user{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;margin-top:var(--space-sm)}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0;overflow:hidden}.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-weight:600;color:var(--color-text-primary);font-size:.85rem}.sidebar-user-action{font-size:.75rem;color:var(--color-text-tertiary);cursor:pointer}.sidebar-user-action:hover{color:#fff;text-decoration:underline}.sidebar-hint{font-size:.75rem;color:var(--color-text-tertiary)}.sidebar-logout{width:100%}.module-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:var(--space-sm)}.module-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.back-link{font-weight:600;color:var(--color-text-primary)}.auth-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-lg);max-width:500px;margin:0 auto}.page{max-width:1120px;width:100%;margin:0 auto;padding:var(--space-2xl);background:transparent;border:none;box-shadow:none;animation:pageFade .6s ease both}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap}.page-header h1{margin-bottom:var(--space-sm)}.page-subtitle{font-size:1rem;color:var(--color-text-secondary);margin:0}.profile-card{display:flex;align-items:center;gap:var(--space-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-sm)}.avatar{width:46px;height:46px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:grid;place-items:center;font-weight:700;font-size:.95rem;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-weight:600;color:var(--color-text-primary)}.profile-email{font-size:.8125rem;color:var(--color-text-tertiary)}.profile-page{max-width:1200px}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-xl)}.profile-title{display:flex;gap:var(--space-md);align-items:flex-start}.profile-accent{width:4px;height:44px;background:linear-gradient(180deg,#7c3aed,#c084fc);border-radius:999px;margin-top:.35rem}.profile-subtitle{margin:0;color:var(--color-text-secondary);font-size:.95rem}.profile-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.profile-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:var(--space-lg);align-items:start}.profile-card-block{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.profile-form{display:grid;gap:var(--space-lg);max-width:none}.profile-form-section{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.profile-form-section:first-of-type{padding-top:0;border-top:none}.profile-form-header h2{margin:0 0 var(--space-xs) 0;font-size:1.1rem}.profile-form-header p{margin:0;color:var(--color-text-secondary);font-size:.85rem}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-lg);margin-top:var(--space-md)}.profile-form-grid label{margin:0}.profile-document-link{display:inline-flex;align-items:center;width:fit-content;margin-top:.45rem;padding:.5rem .85rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-primary) 24%,white);background:color-mix(in srgb,var(--color-primary-light) 45%,white);color:var(--color-primary);font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease}.profile-document-link:hover{text-decoration:none;border-color:color-mix(in srgb,var(--color-primary) 36%,white);transform:translateY(-1px)}.profile-full{grid-column:1 / -1}.profile-form input,.profile-form select{width:100%;height:3rem;padding:0 1rem;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.08);font-size:1rem;font-family:inherit;transition:all .2s ease;background:#f9fafb;color:var(--color-text-primary)}.profile-form select{padding:0 2.5rem 0 1rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px}.profile-form input:focus,.profile-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.profile-form input:disabled,.profile-form select:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.profile-actions{display:flex;justify-content:flex-end;margin-top:var(--space-sm)}.profile-aside,.profile-summary-card{display:grid;gap:var(--space-lg)}.profile-summary-top{display:flex;align-items:center;gap:var(--space-md)}.profile-avatar{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.1rem;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-summary-name{font-weight:600;font-size:1.1rem;color:var(--color-text-primary)}.profile-summary-email{font-size:.85rem;color:var(--color-text-tertiary)}.profile-summary-badges{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.profile-summary-meta{display:grid;gap:var(--space-sm)}.profile-meta-item{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--color-text-secondary)}.profile-meta-item strong{color:var(--color-text-primary);font-weight:600}.profile-tip-card h3{margin:0 0 var(--space-sm) 0}.profile-tip-card p{margin:0}.profile-sharing-row{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:grid;gap:var(--space-xs);font-size:.9rem}.profile-sharing-row label{display:flex;align-items:center;gap:var(--space-xs)}.profile-sharing-row small{color:var(--color-text-tertiary)}.profile-photo-input{display:none}.profile-photo-actions{margin-top:var(--space-md);display:flex;gap:var(--space-sm);flex-wrap:wrap}.notice-card{background:#ecfdf3;border:1px solid #4ade80;border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.notice-card a{color:inherit;font-weight:600}.notice-card a:hover{color:#065f46}section{margin-bottom:var(--space-xl);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);box-shadow:var(--shadow-sm)}section:last-child{margin-bottom:0}.modal-overlay{position:fixed;inset:0;background:#0f172a99;display:grid;place-items:center;padding:clamp(var(--space-lg),4vh,var(--space-2xl));overflow-y:auto;z-index:50}.modal-overlay--notice{z-index:4300}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.modal-header .modal-subtitle{margin:.25rem 0 0;color:var(--color-text-secondary);font-size:.875rem}.modal-header .modal-close{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:all .15s ease}.modal-header .modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.modal-header .modal-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:2}.modal-body{display:grid;gap:var(--space-md)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.modal-card{width:min(560px,100%);background:var(--color-bg-primary);border:none;border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040;padding:var(--space-xl);max-height:calc(100vh - 2 * var(--space-2xl));overflow:auto}.modal-card.modal-card--lg{width:min(640px,100%);max-height:calc(100vh - 2 * var(--space-2xl));padding:var(--space-xl) var(--space-2xl)}.modal-card.modal-card--note{width:min(840px,100%)}.modal-card.modal-card--note form{max-width:none}.modal-overlay--notice,.modal-overlay--confirm{place-items:start end;padding:clamp(var(--space-md),2.2vw,var(--space-xl));padding-top:clamp(4rem,8vh,5rem);background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay--confirm{z-index:4200}.modal-toast{width:min(390px,calc(100vw - 2 * var(--space-md)));display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;border-radius:.9rem;border:1px solid #e5e7eb;background:#fff;padding:.85rem .95rem;box-shadow:0 22px 44px -28px #0f172acc,0 16px 26px -18px #0f172a73;animation:modal-toast-enter .2s ease-out}@keyframes modal-toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-toast-icon{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;flex-shrink:0}.modal-toast-icon svg{width:18px;height:18px}.modal-toast-icon--success{background:#dcfce7;color:#16a34a}.modal-toast-icon--error{background:#fee2e2;color:#ef4444}.modal-toast-icon--confirm-danger{background:#ffedd5;color:#f97316}.modal-toast-icon--confirm-default{background:#e0f2fe;color:#0284c7}.modal-toast-content{min-width:0}.modal-toast-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.modal-toast-title{margin:0;font-size:1.03rem;font-weight:650;line-height:1.35;color:#1f2937}.modal-toast-message{margin:.18rem 0 0;font-size:.975rem;line-height:1.45;color:#4b5563}.modal-toast-message p{margin:0}.modal-toast-message>*+*{margin-top:.4rem}.modal-toast-close{width:1.65rem;height:1.65rem;border-radius:.45rem;border:1px solid transparent;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#6b7280}.modal-toast-close svg{width:.95rem;height:.95rem}.modal-toast-close:hover{background:#f3f4f6;color:#111827;transform:none;box-shadow:none}.modal-toast-close:focus-visible{outline:2px solid rgba(124,58,237,.45);outline-offset:2px}.modal-toast--confirm .modal-toast-message{margin-top:.2rem}.modal-toast-confirm-layout{display:grid;gap:.72rem}.modal-toast-copy{min-width:0}.modal-toast-actions{display:flex;align-items:center;gap:.45rem;justify-content:flex-end}.modal-toast-actions button{margin:0;border-radius:.38rem;padding:.38rem .58rem;font-size:.82rem;font-weight:600;line-height:1.1;border:1px solid transparent;transition:all .18s ease}.modal-toast-actions button:hover{transform:none;box-shadow:none}.modal-toast-actions button:focus-visible{outline:2px solid rgba(124,58,237,.45);outline-offset:2px}.modal-toast-cancel{background:transparent;color:#4b5563}.modal-toast-cancel:hover{color:#111827;background:#f3f4f6}.modal-toast-destructive{background:#111827;color:#fff;border-color:#111827}.modal-toast-destructive:hover{background:#030712;border-color:#030712}.modal-toast-primary{background:#7c3aed;color:#fff;border-color:#7c3aed}.modal-toast-primary:hover{background:#6d28d9;border-color:#6d28d9}@media(max-width:640px){.modal-overlay--notice,.modal-overlay--confirm{padding:var(--space-sm);padding-top:calc(var(--space-2xl) + var(--space-md))}.modal-toast{width:min(100%,390px)}.modal-toast-confirm-layout{gap:.6rem}.modal-toast-actions{width:100%;justify-content:flex-end}}.modal-footer button{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 1.25rem;font-size:.875rem;font-weight:600;margin:0}.modal-footer button.button-secondary{font-weight:500}.modal-footer-hint{color:var(--color-text-tertiary);font-size:.875rem;margin-right:auto}.modal-loading-text{margin:0;color:var(--color-text-secondary)}.modal-empty-text{margin:0;color:var(--color-text-secondary);font-style:italic}.modal-warning-text{margin:0;color:var(--color-warning);font-size:.8125rem;font-weight:600}.modal-form{display:grid;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.modal-form textarea{min-height:120px}.comments-list{display:grid;gap:var(--space-md)}.comment-visibility-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary)}.comment-visibility-badge[data-visibility=PRIVATE]{background:var(--color-bg-tertiary)}form{display:grid;gap:var(--space-lg);max-width:600px}label{display:grid;gap:var(--space-sm);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.hint{font-size:.8125rem;color:var(--color-text-tertiary);margin-top:var(--space-xs)}input,textarea,select{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.9375rem;font-family:inherit;transition:all .2s ease;background:var(--color-bg-primary);color:var(--color-text-primary);max-width:100%;min-width:0}.color-input{width:3rem;height:2.5rem;padding:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.color-input::-moz-color-swatch{border:none;border-radius:var(--radius-sm)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}input:disabled,textarea:disabled,select:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}textarea{min-height:100px;resize:vertical}button{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);cursor:pointer;font-weight:600;font-size:.9375rem;transition:all .2s ease;font-family:inherit}button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active{transform:translateY(0)}button:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;transform:none;box-shadow:none}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button[type=submit]{background:var(--color-primary);margin-top:var(--space-sm)}.modal-footer button[type=submit]{margin-top:0}.button-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.button-danger{background:var(--color-danger)}.button-danger:hover{background:#dc2626}.error{color:#991b1b;background:var(--color-danger-light);border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--space-md);font-size:.875rem}ul{list-style:none;padding:0;margin:var(--space-md) 0}ul li{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);background:var(--color-bg-primary);transition:all .2s ease;box-shadow:var(--shadow-sm)}ul li:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}ul li:last-child{margin-bottom:0}.card-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);padding:0;margin:var(--space-lg) 0 0}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);background:var(--color-bg-primary);box-shadow:var(--shadow-sm);transition:all .2s ease;animation:cardRise .55s ease both}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-grid .card:nth-child(1){animation-delay:.05s}.card-grid .card:nth-child(2){animation-delay:.1s}.card-grid .card:nth-child(3){animation-delay:.15s}.card-grid .card:nth-child(4){animation-delay:.2s}.card-grid .card:nth-child(5){animation-delay:.25s}.card h3{margin-top:0}.export-block{background:#1e293b;color:#f1f5f9;padding:var(--space-lg);border-radius:var(--radius-md);overflow:auto;max-height:400px;font-family:Monaco,Courier New,monospace;font-size:.875rem;line-height:1.6}.progress{position:relative;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);height:24px;margin-top:var(--space-md);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-lg);transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--space-sm)}.progress span{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:600;color:var(--color-text-primary);z-index:1}.badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.recorder-page{max-width:1040px}.recorder-page-header{margin-bottom:var(--space-xl)}.recorder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:var(--space-lg);align-items:start}.recorder-studio-card{padding:0;overflow:hidden;border-radius:1.25rem;box-shadow:var(--shadow-lg)}.recorder-studio-card:hover{transform:none;box-shadow:var(--shadow-lg)}.recorder-hero{background:linear-gradient(160deg,#7a46eb,#a444db 54%,#d2388a);color:#fff;text-align:center;padding:var(--space-xl) var(--space-lg) var(--space-lg)}.recorder-hero-icon-wrap{display:flex;justify-content:center;margin-bottom:var(--space-md)}.recorder-hero-icon{width:70px;height:70px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:#ffffff24;display:grid;place-items:center}.recorder-hero-icon svg{width:36px;height:36px;color:#fff}.recorder-state-title{color:#fff;font-size:2rem;margin:0 0 var(--space-xs)}.recorder-time{font-family:Monaco,Courier New,monospace;font-size:2.2rem;letter-spacing:.06em;font-weight:700;margin-bottom:var(--space-xs)}.recorder-state-caption{margin:0;color:#ffffffd4;font-size:.9rem}.recorder-wave-panel{min-height:116px;background:linear-gradient(180deg,#f7f1ff,#fff);margin:var(--space-lg);margin-bottom:var(--space-md);border:1px solid #eadcf8;border-radius:1rem;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:var(--space-md)}.recorder-wave-bar{flex:1;min-width:4px;max-width:9px;border-radius:999px;background:linear-gradient(180deg,#d4b8f9,#bd8df3);opacity:.48;transition:height .11s ease,opacity .2s ease}.recorder-wave-bar.is-live{background:linear-gradient(180deg,#7a46eb,#ce4799);opacity:.82}.recorder-controls{padding:0 var(--space-lg) var(--space-lg);display:grid;gap:var(--space-md);justify-items:center}.recorder-status-row{width:100%;display:flex;justify-content:center}.recorder-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.32rem .8rem;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.recorder-status-pill.is-idle{background:#f2eaff;color:#6b38d1}.recorder-status-pill.is-recording{background:#fee2e2;color:#b91c1c}.recorder-status-pill.is-ready{background:#e6f8ed;color:#0f8a45}.recorder-main-button{width:92px;height:92px;border-radius:50%;border:none;background:linear-gradient(160deg,#7c3aed,#c026d3);color:#fff;display:grid;place-items:center;box-shadow:0 22px 40px #7c3aed59}.recorder-main-button.is-recording{background:linear-gradient(160deg,#ef4444,#c81e1e);box-shadow:0 22px 38px #dc262652}.recorder-main-button svg{width:38px;height:38px}.recorder-control-hint{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.recorder-review-buttons{display:flex;align-items:center;gap:var(--space-sm)}.recorder-icon-button{width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(160deg,#7c3aed,#c026d3);color:#fff;display:grid;place-items:center;margin:0}.recorder-icon-button svg{width:26px;height:26px}.recorder-icon-button-secondary{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);box-shadow:none}.recorder-action-row{display:grid;grid-template-columns:1fr 1fr;width:min(460px,100%);gap:var(--space-sm)}.recorder-action-row button{width:100%}.recorder-audio{width:100%;display:none}.recorder-tips-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-md);align-items:start;background:linear-gradient(180deg,#f8f4ff,#fff);border-color:#eee4fc}.recorder-tips-card:hover{transform:none}.recorder-tips-icon{width:42px;height:42px;border-radius:50%;background:#efe4ff;color:#7a46eb;display:grid;place-items:center;flex-shrink:0}.recorder-tips-icon svg{width:22px;height:22px}.recorder-tips-card h3{margin:0 0 var(--space-xs)}.recorder-tips-list{margin:0;padding-left:1rem;list-style:disc;display:grid;gap:.22rem}.recorder-tips-list li{margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;color:var(--color-text-secondary)}@media(max-width:1050px){.recorder-layout{grid-template-columns:1fr}}@media(max-width:640px){.recorder-state-title{font-size:1.7rem}.recorder-time{font-size:1.9rem}.recorder-main-button{width:82px;height:82px}.recorder-main-button svg{width:34px;height:34px}.recorder-wave-panel{margin:var(--space-md);margin-bottom:var(--space-sm);min-height:100px}.recorder-controls{padding:0 var(--space-md) var(--space-md)}.recorder-tips-card{grid-template-columns:1fr}}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-lg)}.calendar-scroll{overflow-x:auto;padding-bottom:var(--space-sm);-webkit-overflow-scrolling:touch}.calendar-weekdays,.calendar-grid{--calendar-column-min: 120px;grid-template-columns:repeat(7,minmax(var(--calendar-column-min),1fr));min-width:calc(7 * var(--calendar-column-min) + 6 * var(--space-md))}.calendar-weekdays{display:grid;gap:var(--space-md);margin-bottom:var(--space-sm);font-size:.8rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.calendar-controls{display:flex;gap:var(--space-sm);flex-wrap:wrap}.calendar-grid{display:grid;gap:var(--space-md)}.calendar-day{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);min-height:200px}.calendar-day--disabled{background:var(--color-bg-secondary)}.calendar-day--disabled .calendar-day-header{color:var(--color-text-tertiary)}.calendar-day--disabled .calendar-day-body{opacity:.7}.calendar-day-header{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.calendar-day-body{display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.calendar-event{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);background:var(--color-bg-tertiary);font-size:.8125rem;display:grid;gap:var(--space-xs);overflow:hidden}.calendar-event .event-time{font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event .event-meta{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event--clickable{cursor:pointer}.calendar-event--clickable:hover{border-color:var(--color-primary)}.calendar-event.status-confirmed{border-color:#34d399;background:#ecfdf5}.calendar-event.status-unconfirmed{border-color:#f59e0b;background:#fffbeb}.calendar-event.status-rejected{border-color:#fca5a5;background:#fef2f2}.calendar-event.status-canceled{border-color:var(--color-border);background:var(--color-bg-secondary)}.calendar-empty{color:var(--color-text-tertiary);font-size:.8125rem}.collapsible-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);padding:var(--space-md)}.collapsible-panel>summary{cursor:pointer;font-weight:600}.collapsible-panel-body{margin-top:var(--space-md)}.comment-thread{margin-top:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);display:grid;gap:var(--space-lg);max-height:300px;overflow-y:auto}.comment-thread-empty{color:var(--color-text-secondary);font-style:italic;font-size:.9rem;text-align:center;padding:var(--space-lg)}.comment-item{padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.comment-item:last-child{border-bottom:none;padding-bottom:0}.comment-with-delete{position:relative;padding-right:2.5rem}.comment-body{color:var(--color-text-primary);font-size:.9375rem;line-height:1.5;margin:0}.comment-delete{position:absolute;top:var(--space-sm);right:var(--space-sm);width:28px;height:28px;padding:0;min-width:0;min-height:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.comment-delete:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.comment-delete:disabled{opacity:.6;cursor:not-allowed}.comment-delete svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor}.comment-delete svg path{fill:none;stroke:currentColor}.comment-meta{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--color-text-tertiary);margin-bottom:var(--space-sm)}.comment-meta .pill{font-size:.7rem;padding:.15rem .5rem}.comment-form{display:grid;gap:var(--space-lg);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.comment-form label{font-weight:600;color:var(--color-text-primary)}.comment-form select{padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-primary);font-size:.9rem;color:var(--color-text-primary);cursor:pointer}.comment-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}.comment-form textarea{min-height:100px;resize:vertical}.comment-form-warning{color:var(--color-warning);font-size:.8rem;font-weight:500}.comment-form-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.comment-form-hint{color:var(--color-text-tertiary);font-size:.8rem}.topic-context{margin-top:var(--space-xl);padding:var(--space-xl);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-bg-tertiary);box-shadow:var(--shadow-sm);display:grid;gap:var(--space-xl);min-width:0;overflow-wrap:anywhere;word-break:break-word}.topic-context-header{display:flex;align-items:center;gap:var(--space-md)}.topic-context-dot{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.6);box-shadow:0 0 0 2px #0f172a14}.topic-context-title{font-weight:700;font-size:1.05rem;font-family:var(--font-display)}.topic-context-subtitle{font-size:.85rem;color:var(--color-text-secondary)}.topic-context-section{margin:0;min-width:0}.artifact-preview{margin-top:var(--space-md);display:grid;gap:var(--space-sm)}.artifact-preview img{max-width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border)}.artifact-preview audio,.artifact-preview video{width:100%;max-width:100%;border-radius:var(--radius-md)}.row{display:flex;gap:var(--space-md);align-items:flex-start;flex-wrap:wrap}.row.align-center{align-items:center}.mfa-box{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg)}.mfa-box code{display:block;background:#fff;padding:var(--space-md);border-radius:var(--radius-md);font-family:Monaco,Courier New,monospace;font-size:.875rem;margin:var(--space-md) 0;word-break:break-all}.app-shell.fullscreen-shell{max-width:100vw;padding:0}.app-shell.fullscreen-shell .page{padding:0;border:none;box-shadow:none;border-radius:0;background:transparent}.brand-logo{height:40px;width:auto;object-fit:contain}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:radial-gradient(circle at top,rgba(37,99,235,.18),transparent 55%),linear-gradient(135deg,#f8fafc,#dbeafe)}.auth-container{width:100%;max-width:480px}.auth-card-centered{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid rgba(255,255,255,.1)}.auth-logo{text-align:center;margin-bottom:var(--space-2xl)}.auth-logo img{height:80px;width:auto;object-fit:contain}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-header h1{font-size:1.875rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--color-text-primary)}.auth-header p{color:var(--color-text-secondary);font-size:1rem;margin:0}.auth-form{margin-bottom:var(--space-xl)}.auth-form label{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:1.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.auth-form input{width:100%;height:3rem;padding:0 1rem;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.08);font-size:1rem;font-family:inherit;transition:all .2s ease;background:#f9fafb;color:var(--color-text-primary)}.auth-form input:hover{border-color:var(--color-border-hover)}.auth-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.auth-form input::placeholder{color:var(--color-text-tertiary)}.auth-form .hint{font-size:.8125rem;color:var(--color-text-secondary);margin-top:calc(-1 * var(--space-xs))}.auth-upload-field{display:grid;gap:var(--space-sm)}.auth-upload-input{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}.auth-upload-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:3rem;padding:.65rem .75rem .65rem .85rem;border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--color-primary) 28%,white);background:linear-gradient(180deg,#fff,#f8f7ff)}.auth-upload-meta{min-width:0;display:grid;gap:.2rem}.auth-upload-title{font-size:.83rem;color:var(--color-text-primary);font-weight:600}.auth-upload-filename{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-upload-trigger{min-height:2.25rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-primary) 34%,white);background:color-mix(in srgb,var(--color-primary-light) 35%,white);color:var(--color-primary);font-size:.83rem;font-weight:600;padding:.4rem .85rem;cursor:pointer;transition:all .2s ease}.auth-upload-trigger:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-primary) 44%,white)}.auth-upload-progress{font-weight:600;color:var(--color-primary)}.auth-form .error{margin-bottom:var(--space-md);margin-top:calc(-1 * var(--space-sm))}.auth-button{width:100%;height:3rem;padding:0 var(--space-md);font-size:1rem;font-weight:600;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;margin-top:var(--space-sm);box-shadow:0 10px 20px #7c3aed33}.auth-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.auth-button:active{transform:translateY(0)}.auth-footer{text-align:center;padding-top:1.25rem;border-top:1px solid var(--color-border)}.auth-footer p{color:var(--color-text-secondary);margin:0 0 var(--space-sm) 0}.auth-links{display:flex;gap:var(--space-md);justify-content:center;align-items:center}.auth-links a{font-weight:500;color:var(--color-primary)}.auth-registration-page .auth-card-centered{width:min(560px,100%)}.auth-hero--patient{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.22),transparent 55%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.18),transparent 60%),linear-gradient(135deg,#7c3aed,#8b5cf6 45%,#ec4899)}.auth-hero--therapist{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.22),transparent 55%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.18),transparent 60%),linear-gradient(135deg,#4f46e5,#3b82f6 45%,#0ea5e9)}.auth-hero-kicker{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;background:#fff3;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-md)}.auth-hero-title{font-size:2.75rem;font-weight:700;line-height:1.15;margin:0 0 var(--space-sm) 0}.auth-hero-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-xl)}.auth-hero-stat{text-align:center}.auth-hero-stat-value{font-size:1.5rem;font-weight:700;color:#fff}.auth-hero-stat-label{font-size:.75rem;color:#fffc}.auth-section{padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.auth-section:first-of-type{padding-top:0;border-top:none}.auth-section-header{margin-bottom:var(--space-md)}.auth-section-title{margin:0 0 var(--space-xs) 0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.auth-section-subtitle{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.auth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-lg)}.auth-form-grid label{margin-bottom:0}.auth-form-grid .auth-full{grid-column:1 / -1}.auth-form select{width:100%;height:3rem;padding:0 2.5rem 0 1rem;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.08);font-size:1rem;font-family:inherit;transition:all .2s ease;background:#f9fafb;color:var(--color-text-primary);appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px}.auth-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-with-icon select{padding-left:2.5rem}.auth-mfa-box{margin-top:var(--space-lg)}@media(max-width:960px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:none}.sidebar-toggle{display:inline-flex}.sidebar.is-collapsed .sidebar-section,.sidebar.is-collapsed .sidebar-footer{display:none}.sidebar.is-open .sidebar-section,.sidebar.is-open .sidebar-footer{display:grid}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.sidebar-footer{margin-top:0}.page{padding:var(--space-xl) var(--space-lg)}.page-header{align-items:flex-start}.profile-card{width:100%;justify-content:space-between}.profile-layout{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{padding:var(--space-lg)}.nav-link{padding:var(--space-sm)}.page{padding:var(--space-lg)}.card-grid{grid-template-columns:1fr}h1{font-size:1.9rem}.row{flex-direction:column}form{max-width:100%}.auth-page{padding:var(--space-md)}.auth-card-centered{padding:var(--space-lg)}.auth-logo img{height:60px}.auth-header h1{font-size:1.5rem}}@keyframes pageFade{0%{opacity:0}to{opacity:1}}@keyframes cardRise{0%{opacity:0}to{opacity:1}}.auth-links a:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-links .divider{color:var(--color-border)}.auth-login-page{padding:0;background:#fafbfc;display:block;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}.auth-login-page h1,.auth-login-page h2,.auth-login-page h3{font-family:inherit}.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);height:100vh;overflow:hidden}.auth-hero{position:relative;color:#fff;padding:4rem;display:flex;align-items:center;justify-content:center;width:100%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.22),transparent 55%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.18),transparent 60%),linear-gradient(135deg,#7c3aed,#8b5cf6 45%,#ec4899);overflow:hidden}.auth-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.auth-hero-bg:after{content:"";position:absolute;inset:0;background:#0000001a}.auth-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.3}.auth-hero:before,.auth-hero:after{content:"";position:absolute;border-radius:999px;background:#ffffff2e;filter:blur(1px);z-index:1;pointer-events:none}.auth-hero:before{width:140px;height:140px;top:15%;left:10%}.auth-hero:after{width:200px;height:200px;bottom:10%;right:15%}.auth-hero-content{position:relative;z-index:2;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.auth-hero-logo{height:min(420px,60vh);width:auto;margin:0 auto var(--space-lg);display:block;filter:drop-shadow(0 18px 40px rgba(0,0,0,.25))}.auth-hero p{color:#ffffffd9;font-size:1.25rem;line-height:1.6;margin-bottom:var(--space-xl)}.auth-panel{background:#fafbfc;display:flex;align-items:flex-start;justify-content:center;padding:2rem;height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.auth-panel .auth-card-centered{width:min(440px,100%);box-shadow:none;border:none;background:transparent;padding:0}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon input,.input-with-icon .password-input-wrapper input{padding-left:2.5rem}.input-with-icon .password-input-wrapper{width:100%}.input-icon{position:absolute;left:.75rem;width:20px;height:20px;color:var(--color-text-tertiary);display:inline-flex;align-items:center;justify-content:center}.input-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth-forgot{text-align:right;margin:calc(-1 * var(--space-sm)) 0 var(--space-md)}.auth-forgot a{font-size:.85rem;font-weight:600;color:var(--color-primary)}.auth-footnote{margin-top:var(--space-sm);color:var(--color-text-secondary);font-size:.8rem}.auth-legal{margin-top:var(--space-md);font-size:.8rem;color:var(--color-text-tertiary)}.text-link{color:var(--color-primary);font-weight:600;cursor:pointer}.text-link:hover{text-decoration:underline}@media(max-width:1024px){.auth-split{grid-template-columns:1fr;height:auto;overflow:visible}.auth-hero{padding:3rem 2.5rem;min-height:320px}.auth-panel{padding:2.5rem 1.5rem;height:auto;overflow:visible}}@media(max-width:640px){.auth-hero{padding:2.5rem 1.5rem}.auth-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-md)}.auth-hero-title{font-size:2.1rem}.auth-form-grid{grid-template-columns:1fr}.auth-upload-card{flex-direction:column;align-items:stretch}.auth-upload-trigger{width:100%}.profile-form-grid{grid-template-columns:1fr}}.therapist-dashboard{max-width:1200px}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-xl)}.dashboard-title{display:flex;gap:var(--space-md);align-items:flex-start}.dashboard-accent{width:4px;height:44px;background:var(--color-primary);border-radius:999px;margin-top:.35rem}.dashboard-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);color:var(--color-text-secondary);font-size:.95rem}.dashboard-email{font-weight:600;color:var(--color-text-secondary)}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-bg-tertiary);color:var(--color-text-secondary);text-transform:capitalize}.appointment-item .status-pill{max-width:11.5rem;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.2;justify-content:center}.status-pill.approved{background:#16a34a26;color:#15803d}.status-pill.pending{background:#f59e0b26;color:#b45309}.status-pill.plan{background:#7c3aed1f;color:var(--color-primary)}.status-pill.status-success{background:#16a34a26;color:#15803d}.status-pill.status-warning{background:#f59e0b26;color:#b45309}.status-pill.status-pending{background:#7c3aed1f;color:var(--color-primary)}.dashboard-invite{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-primary);border-radius:var(--radius-lg);padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transition:background .15s ease,box-shadow .15s ease}.dashboard-invite:hover{background:var(--color-primary-hover);transform:none;box-shadow:0 6px 8px -1px #0000001f,0 3px 6px -2px #0000001a}.dashboard-invite svg{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;fill:none}.dashboard-banner{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--color-warning-light);border:1px solid var(--color-warning);margin-bottom:var(--space-xl)}.dashboard-banner p{margin:0;color:#78350f;font-weight:600}.dashboard-loading{text-align:center;color:var(--color-text-secondary);padding:var(--space-lg)}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl);padding:0;border:none;background:transparent;box-shadow:none}.stat-card{position:relative;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:#fff;box-shadow:0 1px 3px #0000000a;border:none;display:flex;flex-direction:column;gap:.35rem}.stat-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff;margin-bottom:.25rem}.stat-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.stat-icon--patients{background:#3b82f6}.stat-icon--sessions{background:#f59e0b}.stat-icon--reflections{background:#22c55e}.stat-icon--artworks{background:#ec4899}.stat-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.stat-meta{color:var(--color-text-tertiary);font-size:.8rem;margin-top:-.25rem}.stat-trend{color:#16a34a;font-size:.8rem;font-weight:600;margin-top:.1rem}.stat-trend-icon{display:none;color:#16a34a}.stat-trend-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.dashboard-panel{background:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 1px 3px #0000000a}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.panel-title{display:flex;align-items:center;gap:.5rem}.panel-title h2{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.panel-icon{width:24px;height:24px;border-radius:6px;background:#7c3aed1a;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center}.panel-icon svg{width:14px;height:14px}.panel-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.panel-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e5e7eb;color:var(--color-text-secondary);font-size:.7rem;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.panel-link{border:none;background:transparent;color:var(--color-primary);font-weight:500;font-size:.85rem;padding:0;box-shadow:none}.panel-link:hover{background:transparent;color:var(--color-primary-hover);box-shadow:none;transform:none}.panel-empty{color:var(--color-text-secondary);font-style:italic;margin:0}.therapist-dashboard .reflection-list{display:flex;flex-direction:column;gap:var(--space-sm)}.therapist-dashboard .reflection-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;align-items:flex-start;transition:all .2s ease}.therapist-dashboard .reflection-item:hover{border-color:rgba(var(--color-primary-rgb, 99, 102, 241),.3);background:rgba(var(--color-primary-rgb, 99, 102, 241),.03)}.therapist-dashboard .reflection-item:last-child{border-bottom:1px solid var(--color-border)}.therapist-dashboard .reflection-dot{width:8px;height:8px;border-radius:999px;margin-top:.5rem;background:#d1d5db;flex-shrink:0}.therapist-dashboard .reflection-dot.is-new{background:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.therapist-dashboard .reflection-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.therapist-dashboard .reflection-title{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9375rem;color:var(--color-text-primary);transition:color .2s ease}.therapist-dashboard .reflection-item:hover .reflection-title{color:var(--color-primary)}.therapist-dashboard .reflection-title-text{flex:1;min-width:0}.therapist-dashboard .reflection-meta{font-size:.8125rem;color:var(--color-text-secondary)}.therapist-dashboard .reflection-meta .patient-name{font-weight:500}.therapist-dashboard .reflection-submeta{font-size:.75rem;color:var(--color-text-tertiary)}.pill{padding:.125rem .5rem;border-radius:999px;font-size:.65rem;font-size:.7rem;font-weight:600}.pill.new{background:#3b82f61f;color:#2563eb}.button-small{padding:.4rem .85rem;font-size:.75rem;border-radius:var(--radius-md)}.therapist-dashboard .reflection-item .button-secondary.button-small{background:#fff;border:1px solid var(--color-border);color:var(--color-primary);font-weight:500;opacity:0;transition:opacity .2s ease,background .15s ease}.therapist-dashboard .reflection-item:hover .button-secondary.button-small{opacity:1}.therapist-dashboard .reflection-item .button-secondary.button-small:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.appointment-list{display:grid;gap:var(--space-md)}.dashboard-appointment-card{border:1px solid #e5e7eb;border-radius:var(--radius-md);background:#fff;padding:.75rem .85rem;display:grid;gap:.45rem}.dashboard-appointment-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.dashboard-appointment-date{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);min-width:0}.dashboard-appointment-date svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.dashboard-appointment-top-actions{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.dashboard-appointment-top-actions .schedule-badge{max-width:10.5rem}.dashboard-appointment-time-row{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--color-text-primary)}.dashboard-appointment-time-row svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--color-text-tertiary);flex-shrink:0}.dashboard-appointment-patient-row{display:flex;align-items:center;gap:.45rem;min-width:0}.dashboard-appointment-avatar{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;flex-shrink:0}.dashboard-appointment-patient-meta{min-width:0}.dashboard-appointment-patient-meta .appointment-name{font-size:.875rem}.dashboard-appointment-patient-meta .appointment-email{font-size:.75rem}.dashboard-appointment-meta{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-appointment-modal{width:min(680px,95vw)}.dashboard-appointment-form{max-width:none;width:100%;display:grid;gap:var(--space-md)}.dashboard-appointment-form textarea{width:100%;box-sizing:border-box}.dashboard-appointment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.appointment-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-md);padding:var(--space-md) 0;border:none;border-bottom:1px solid var(--color-border);background:transparent;align-items:flex-start}.appointment-item:last-child{border-bottom:none}.appointment-time{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:70px}.appointment-time .time-value{font-size:.95rem;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:.35rem}.appointment-time .time-day{font-size:.75rem;color:var(--color-text-tertiary)}.appointment-time .time-icon{color:var(--color-text-tertiary)}.appointment-time svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.appointment-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.appointment-name{font-weight:600;font-size:.9rem;color:var(--color-text-primary);display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-email{font-size:.75rem;color:var(--color-text-secondary);line-height:1.2;display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-subtitle{color:var(--color-text-tertiary);font-size:.75rem}.artwork-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md)}.artwork-card{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:var(--color-bg-primary);overflow:hidden;display:flex;flex-direction:column;gap:0}.artwork-card .artwork-preview{border-radius:0;border-bottom:1px solid var(--color-border)}.artwork-card .artwork-info{padding:var(--space-sm) var(--space-md) 0}.artwork-card .artwork-actions{padding:var(--space-sm) var(--space-md) var(--space-md)}.artwork-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-tertiary);height:140px;display:flex;align-items:center;justify-content:center}.artwork-preview.is-audio{height:140px;padding:var(--space-sm);overflow:hidden;align-items:center;justify-content:center;background:#fff;border:none}.artwork-card .artwork-preview.is-audio{border-bottom:1px solid var(--color-border)}.artwork-preview.is-video{height:140px}.artwork-preview img{width:100%;height:100%;object-fit:cover}.artwork-preview audio,.artwork-preview video{width:100%}.artwork-preview audio{height:auto}.artwork-preview.is-audio audio{height:48px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.artwork-preview video{height:100%;object-fit:cover}.artwork-preview.is-placeholder{background:#f3e8ff}.artwork-placeholder{display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-primary);font-weight:600}.artwork-placeholder svg{width:40px;height:40px;opacity:.65}.task-artwork-card .artwork-preview{height:200px;border-radius:0}.task-artwork-card .artwork-preview.is-audio{height:200px}.artwork-info{display:grid;gap:.15rem}.artwork-title{font-weight:600}.artwork-meta{font-size:.78rem;color:var(--color-text-tertiary)}.artwork-actions{display:flex;align-items:center;gap:var(--space-sm)}.artwork-link{font-size:.75rem;font-weight:600;color:var(--color-primary)}.icon-button{width:32px;height:32px;border-radius:10px;border:1px solid var(--color-border);background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-button svg{width:18px;height:18px;stroke:var(--color-text-secondary);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{background:var(--color-bg-tertiary);box-shadow:none;transform:none}.invite-list{display:grid;gap:var(--space-md)}.invite-card{border-radius:var(--radius-md);background:#fff7ed;border:1px solid #fed7aa;padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.invite-email{font-weight:600}.invite-expiry{font-size:.8rem;color:var(--color-text-tertiary)}.invite-action{margin-top:var(--space-lg);width:100%}.invite-page{max-width:1152px}.invite-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);flex-wrap:wrap;margin-bottom:var(--space-2xl)}.invite-title-row{display:flex;align-items:flex-start;gap:var(--space-md)}.invite-accent{width:4px;height:40px;background:linear-gradient(to bottom,var(--color-primary),#a855f7);border-radius:999px;margin-top:.35rem;flex-shrink:0}.invite-title{font-size:1.875rem;font-weight:600;margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.invite-subtitle{margin:0;color:var(--color-text-secondary)}.invite-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.invite-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;background:#22c55e1a;color:#166534;border:1px solid #bbf7d0;font-size:.75rem;font-weight:600}.invite-status-icon{width:14px;height:14px}.invite-loading{text-align:center;padding:var(--space-xl);color:var(--color-text-secondary)}.invite-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.invite-stat-card{position:relative;padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-primary);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.invite-stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.invite-stat-card--available{background:linear-gradient(135deg,#f5f3ff,#fdf2f8);border-color:#7c3aed29}.invite-stat-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.invite-stat-icon svg{width:24px;height:24px}.invite-panel-icon svg,.invite-section-icon,.invite-empty-icon,.invite-history-icon svg,.invite-pending-avatar svg{width:20px;height:20px}.invite-stat-icon--purple{background:#7c3aed1f;color:var(--color-primary)}.invite-stat-icon--green{background:#22c55e1f;color:#16a34a}.invite-stat-icon--orange{background:#f9731626;color:#ea580c}.invite-stat-icon--purple-strong{background:#7c3aed33;color:#6d28d9}.invite-stat-value{font-size:1.5rem;font-weight:600;margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.invite-stat-label{font-size:.875rem;margin:0 0 var(--space-xs) 0;color:var(--color-text-secondary)}.invite-stat-note{font-size:.75rem;margin:0;color:var(--color-primary);font-weight:500}.invite-stat-note--green{color:#16a34a}.invite-stat-note--orange{color:#ea580c}.invite-stat-trend{position:absolute;top:var(--space-lg);right:var(--space-lg);width:18px;height:18px;color:#16a34a}.invite-panels-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);margin-bottom:var(--space-xl)}.invite-panel,.invite-section-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.invite-section-card{margin-bottom:var(--space-xl)}.invite-section-card:last-of-type{margin-bottom:0}.invite-panel-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.invite-panel-icon{width:40px;height:40px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff}.invite-panel-icon--send{background:linear-gradient(135deg,#7c3aed,#ec4899)}.invite-panel-title{font-size:1.125rem;font-weight:600;margin:0 0 .15rem;color:var(--color-text-primary)}.invite-panel-subtitle{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.invite-plan-summary{padding:var(--space-md);border-radius:var(--radius-lg);background:linear-gradient(135deg,#f5f3ff,#faf5ff);border:1px solid #e9d5ff;margin-bottom:var(--space-lg)}.invite-plan-summary-top{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.875rem}.invite-plan-name{color:#4c1d95;font-weight:600}.invite-plan-divider{color:#a855f7}.invite-plan-usage{color:#6d28d9}.invite-plan-detail{margin-top:.4rem;font-size:.75rem;color:#6d28d9}.invite-plan-loading{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.invite-form{display:grid;gap:var(--space-md);max-width:none}.invite-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.invite-input-wrapper{position:relative}.invite-input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--color-text-tertiary)}.invite-input{width:100%;height:44px;padding:0 1rem 0 2.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#f9fafb;font-size:.9375rem}.invite-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.invite-primary-button{width:100%;height:44px}.invite-primary-button svg{width:16px;height:16px}.invite-seat-warning{margin:0;font-size:.75rem;color:var(--color-danger);text-align:center}.invite-outline-button{flex:0 0 auto;height:36px}.invite-outline-button--sm{height:32px;padding:0 .75rem;font-size:.75rem}.invite-outline-button--sm svg{width:14px;height:14px}.invite-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.invite-section-title{display:flex;align-items:center;gap:var(--space-sm)}.invite-section-title h2{margin:0;font-size:1.125rem}.invite-section-icon{width:20px;height:20px}.invite-section-icon--orange{color:#ea580c}.invite-section-icon--green{color:#16a34a}.invite-section-icon--purple{color:#7c3aed}.invite-count-badge{padding:.15rem .5rem;border-radius:999px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.invite-empty-state{text-align:center;padding:var(--space-2xl);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:.875rem}.invite-empty-state--compact{padding:var(--space-lg);font-style:italic}.invite-empty-icon{width:48px;height:48px;margin-bottom:var(--space-sm);color:var(--color-text-tertiary)}.invite-pending-list,.invite-patient-list,.invite-history-list{display:grid;gap:var(--space-sm)}.invite-pending-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-lg);background:#fff7ed;border:1px solid #fed7aa}.invite-pending-info{display:flex;align-items:center;gap:var(--space-md);min-width:0}.invite-pending-avatar{width:40px;height:40px;border-radius:999px;background:#ffedd5;color:#ea580c;display:grid;place-items:center}.invite-pending-email{font-size:.875rem;font-weight:600;margin:0 0 .2rem;color:var(--color-text-primary)}.invite-pending-date{font-size:.75rem;margin:0;color:var(--color-text-secondary)}.invite-pending-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.invite-icon-button{width:32px;height:32px}.invite-patient-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-primary);transition:border-color .2s ease,background .2s ease}.invite-patient-item:hover{border-color:#7c3aed33;background:#7c3aed08}.invite-patient-info{display:flex;align-items:center;gap:var(--space-md)}.invite-patient-avatar{width:48px;height:48px;border-radius:999px;background:linear-gradient(135deg,#22c55e,#10b981);color:#fff;font-weight:600;font-size:1.1rem;display:grid;place-items:center}.invite-patient-name{margin:0 0 .2rem;font-weight:600;color:var(--color-text-primary)}.invite-patient-email{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.invite-patient-meta{display:flex;align-items:center;gap:var(--space-lg)}.invite-patient-meta-label{margin:0;font-size:.75rem;color:var(--color-text-tertiary)}.invite-patient-meta-value{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.invite-history-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:.75rem;border-radius:var(--radius-lg);transition:background .2s ease}.invite-history-item:hover{background:#7c3aed0a}.invite-history-info{display:flex;align-items:center;gap:var(--space-md)}.invite-history-icon{width:32px;height:32px;border-radius:999px;display:grid;place-items:center}.invite-history-icon--accepted{background:#22c55e1f;color:#16a34a}.invite-history-icon--sent{background:#3b82f61f;color:#2563eb}.invite-history-icon--expired{background:#94a3b833;color:#64748b}.invite-history-email{margin:0 0 .2rem;font-weight:600;color:var(--color-text-primary)}.invite-history-date{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.invite-status-pill{padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.invite-status-pill--accepted{background:#22c55e1f;color:#166534;border-color:#22c55e40}.invite-status-pill--sent{background:#3b82f61f;color:#1d4ed8;border-color:#3b82f633}.invite-status-pill--expired{background:#94a3b833;color:#475569;border-color:#94a3b84d}.invite-text-button{font-size:.75rem;height:28px}@media(max-width:1100px){.invite-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.invite-panels-grid{grid-template-columns:1fr}}@media(max-width:720px){.invite-header{align-items:flex-start}.invite-stat-grid{grid-template-columns:1fr}.invite-pending-item,.invite-patient-item,.invite-history-item{flex-direction:column;align-items:flex-start}.invite-pending-actions,.invite-patient-meta{width:100%;justify-content:space-between}}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}@media(max-width:1024px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.dashboard-header{align-items:flex-start}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.stat-card{padding:.65rem .75rem;gap:.25rem}.stat-icon{width:32px;height:32px;margin-bottom:.1rem}.stat-icon svg{width:18px;height:18px}.stat-value{font-size:1.35rem}.stat-label{font-size:.75rem;line-height:1.25}.stat-meta,.stat-trend{font-size:.7rem}.reflection-item,.appointment-item{grid-template-columns:1fr}}.reflection-modal-content{display:flex;flex-direction:column}.reflection-modal-date{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--space-sm)}.reflection-modal-field{display:flex;gap:var(--space-xs);font-size:.9375rem;line-height:1.4}.reflection-modal-field+.reflection-modal-field{margin-top:.125rem}.reflection-modal-label{color:var(--color-text-secondary)}.reflection-modal-value{color:var(--color-text-primary);font-weight:500}.reflection-modal-section{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-lg)}.reflection-modal-section-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.reflection-modal-section-text{color:var(--color-text-primary);font-size:.9375rem;line-height:1.5}.reflection-modal-section-text--muted{color:var(--color-text-tertiary);font-style:italic}.reflection-modal-artwork{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-top:var(--space-md)}.reflection-modal-artwork-info{display:flex;flex-direction:column;gap:.125rem}.reflection-modal-artwork-title{font-size:.9375rem;font-weight:500;color:var(--color-text-primary)}.reflection-modal-artwork-subtitle{font-size:.8125rem;color:var(--color-text-secondary)}.reflection-modal-artwork-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.5rem 1rem;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s ease;white-space:nowrap}.reflection-modal-artwork-btn:hover{background:var(--color-primary-hover);color:#fff}.reflection-modal-response-box{padding:var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9375rem;line-height:1.6;font-style:italic}.journal-page{max-width:1400px}.journal-header{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl)}.journal-accent{width:4px;height:40px;background:linear-gradient(to bottom,var(--color-primary),#a78bfa);border-radius:999px;margin-top:.35rem}.journal-subtitle{margin:0;color:var(--color-text-secondary)}.journal-patient-selection{display:flex;justify-content:center;padding:var(--space-xl) 0;border:none;background:transparent;box-shadow:none;margin-bottom:0}.journal-patient-card{max-width:616px;width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl) 3.5rem;box-shadow:var(--shadow-sm);text-align:center;overflow:visible}.journal-patient-icon{width:72px;height:72px;margin:0 auto var(--space-lg);border-radius:50%;background:#a78bfa26;display:flex;align-items:center;justify-content:center}.journal-patient-icon .journal-icon{width:36px;height:36px;color:var(--color-primary)}.journal-patient-card h2{margin:0 0 var(--space-sm);font-size:1.25rem;color:var(--color-text-primary)}.journal-patient-desc{margin:0 0 var(--space-lg);color:var(--color-text-secondary);font-size:.875rem}.journal-patient-form{display:flex;flex-direction:column;gap:var(--space-md);overflow:visible}.journal-patient-label{text-align:left;font-size:.875rem;font-weight:500}.journal-patient-select{height:48px;width:100%;min-width:0;text-overflow:ellipsis;padding:.75rem 1rem;line-height:1.4}.journal-patient-load-btn{height:48px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,opacity .2s;box-shadow:0 2px 8px #7c3aed40}.journal-patient-load-btn:hover:not(:disabled){background:var(--color-primary-hover)}.journal-patient-load-btn:disabled{opacity:.6;cursor:not-allowed;background:#d1d5db;color:#9ca3af;box-shadow:none}.journal-patient-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.journal-patient-info{display:flex;align-items:center;gap:var(--space-md)}.journal-patient-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#ec4899);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.journal-patient-details{display:flex;flex-direction:column}.journal-patient-email{font-weight:500;color:var(--color-text-primary)}.journal-patient-topics-count{font-size:.875rem;color:var(--color-text-secondary)}.journal-patient-actions{display:flex;align-items:center;gap:var(--space-md)}.journal-patient-status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#22c55e1a;color:#16a34a;font-size:.75rem;font-weight:600;border:1px solid rgba(34,197,94,.2)}.journal-patient-status .status-icon{width:12px;height:12px}.journal-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:var(--space-xl);align-items:start}.journal-topics-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);position:sticky;top:var(--space-lg)}.journal-topics-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.journal-topics-header h2{margin:0;font-size:1.125rem}.journal-new-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s}.journal-new-btn:hover:not(:disabled){background:var(--color-primary-hover)}.journal-new-btn:disabled{opacity:.5;cursor:not-allowed}.journal-new-btn .plus-icon{width:14px;height:14px}.topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.topic-list li{padding:0;border:none;background:transparent;box-shadow:none}.topic-item-btn{width:100%;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:2px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;transition:all .15s}.topic-item-btn:hover{background:var(--color-bg-secondary)}.topic-item-btn.is-active{background:#7c3aed14;border-color:#7c3aed4d}.topic-item-btn .topic-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.topic-content{flex:1;min-width:0}.topic-name{display:block;font-weight:500;color:var(--color-text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-meta{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.topic-item-btn .chevron-icon{width:16px;height:16px;color:var(--color-text-tertiary);flex-shrink:0}.topic-item-btn.is-active .chevron-icon{color:var(--color-primary)}.topic-list-empty{text-align:center;padding:var(--space-xl) var(--space-md)}.topic-list-empty .journal-icon{width:48px;height:48px;color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.topic-list-empty p{margin:0 0 var(--space-md);color:var(--color-text-secondary);font-size:.875rem}.journal-hint{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);background:#7c3aed0f;border:1px solid rgba(124,58,237,.1);color:var(--color-text-secondary);font-size:.8125rem;display:flex;align-items:flex-start;gap:var(--space-sm);line-height:1.4}.journal-hint-icon{flex-shrink:0}.topic-details{min-height:400px}.topic-details-content{display:flex;flex-direction:column;gap:var(--space-lg)}.topic-details-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;background:var(--color-bg-primary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl)}.topic-details-empty .journal-icon{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.topic-details-empty h3{margin:0 0 var(--space-sm);font-size:1.125rem;color:var(--color-text-primary)}.topic-details-empty p{margin:0;color:var(--color-text-secondary)}.topic-header-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.topic-header-main{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg)}.topic-header-color{width:48px;height:48px;border-radius:var(--radius-lg);flex-shrink:0}.topic-header-info{flex:1;min-width:0}.topic-header-title{margin:0 0 4px;font-size:1.25rem;color:var(--color-text-primary)}.topic-header-desc{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.topic-header-actions{display:flex;gap:4px}.topic-action-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.topic-action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.topic-action-btn--danger:hover{background:#ef44441a;color:#dc2626}.topic-action-btn .action-icon{width:16px;height:16px}.topic-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.topic-stat{text-align:center;padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.topic-stat-value{display:block;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.topic-stat-label{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.topic-section-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.topic-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.topic-section-title{display:flex;align-items:center;gap:var(--space-sm)}.topic-section-title h3{margin:0;font-size:1rem;font-weight:600}.section-icon{width:20px;height:20px}.section-icon--notes{color:#3b82f6}.section-icon--documents{color:#f59e0b}.section-icon--appointments{color:#8b5cf6}.section-icon--assignments{color:#22c55e}.section-icon--artwork{color:#ec4899}.section-empty{text-align:center;padding:var(--space-xl) var(--space-md);border:2px dashed var(--color-border);border-radius:var(--radius-md)}.section-empty .section-icon,.section-empty .journal-icon{width:48px;height:48px;color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.section-empty p{margin:0 0 var(--space-md);color:var(--color-text-secondary);font-size:.875rem}.section-empty--compact{padding:var(--space-lg) var(--space-md)}.section-empty--compact .section-icon{width:40px;height:40px;margin-bottom:var(--space-sm)}.section-empty--compact p{margin:0}.section-loading{color:var(--color-text-secondary);font-size:.875rem}.topic-documents-input{display:none}.topic-documents-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.topic-documents-hint{margin:0 0 var(--space-md);color:var(--color-text-secondary);font-size:.875rem}.topic-document-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.topic-document-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1px solid #e2e8f0;border-radius:var(--radius-md);background:var(--color-bg-primary)}.topic-document-meta{min-width:0;display:flex;flex-direction:column;gap:.25rem}.topic-document-name{font-size:.95rem;font-weight:600;color:var(--color-text-primary);word-break:break-word}.topic-document-details{font-size:.8125rem;color:var(--color-text-secondary)}.topic-document-download-btn{flex-shrink:0;text-decoration:none}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.notes-list li.note-item{padding:var(--space-md);border:1px solid #e2e8f0;border-radius:var(--radius-md);background:var(--color-bg-primary);transition:box-shadow .15s,border-color .15s}.notes-list li.note-item:hover{box-shadow:var(--shadow-sm);border-color:#cbd5e1}.note-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.note-date{font-size:.75rem;color:var(--color-text-secondary)}.note-actions{display:flex;align-items:center;gap:4px}.note-edits-dropdown{position:relative}.note-edits-trigger{height:28px;padding:0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;line-height:1;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;list-style:none}.note-edits-trigger:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover);color:var(--color-text-primary);transform:none;box-shadow:none}.note-edits-trigger:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .15s ease;flex-shrink:0}.note-edits-dropdown.is-open .note-edits-trigger{border-color:#cbd5e1;background:#f8fafc}.note-edits-dropdown.is-open .note-edits-trigger:after{transform:rotate(-135deg) translateY(-1px)}.note-edits-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:300px;max-height:260px;overflow-y:auto;padding:var(--space-xs);border:1px solid #cbd5e1;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-md);z-index:6}.note-edits-option{width:100%;border:none;background:transparent;border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);cursor:pointer;white-space:nowrap}.note-edits-option:hover{background:#f1f5f9;transform:none;box-shadow:none}.note-edits-option-date{font-size:.75rem;color:var(--color-text-secondary);text-align:left;white-space:nowrap}.note-edits-option-badge{font-size:.6875rem;color:#0f766e;background:#ccfbf1;border-radius:999px;padding:.125rem .5rem;font-weight:700}.note-action-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s}.note-action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.note-action-btn--danger:hover{background:#ef44441a;color:#dc2626}.note-action-btn .action-icon{width:14px;height:14px}.note-body{margin:0;font-size:.875rem;color:var(--color-text-primary);line-height:1.5}.notes-list--archived .note-item--archived{background:#f8fafc;border-style:dashed;border-color:#cbd5e1}.note-appointment{display:inline-block;margin-top:var(--space-sm);font-size:.75rem;color:var(--color-text-tertiary)}.note-body .ql-editor{padding:0;color:inherit;font-size:inherit;line-height:inherit}.note-body .ql-editor a{color:inherit;text-decoration:underline}.note-body .ql-editor p{margin:0;color:inherit}.note-body .ql-editor *{color:inherit}.note-body .ql-align-center{text-align:center}.note-body .ql-align-right{text-align:right}.note-body .ql-align-justify{text-align:justify}.note-body .ql-indent-1{margin-left:1.5rem}.note-body .ql-indent-2{margin-left:3rem}.note-body .ql-indent-3{margin-left:4.5rem}.note-body .ql-indent-4{margin-left:6rem}.note-body .ql-indent-5{margin-left:7.5rem}.note-body .ql-indent-6{margin-left:9rem}.note-body .ql-editor ul,.note-body .ql-editor ol{padding-left:1.5rem}.note-body .ql-editor li{margin:0;padding:0;border:none;box-shadow:none;background:transparent}.note-body .ql-editor ul{list-style:disc;margin:0}.note-body .ql-editor ol{list-style:decimal;margin:0}.note-body--compact{margin-top:var(--space-xs)}.note-body--compact .ql-editor{font-size:.8125rem}.note-rich-editor .ql-toolbar{border-radius:var(--radius-md) var(--radius-md) 0 0;border-color:var(--color-border);background:var(--color-bg-secondary)}.note-rich-editor .ql-container{border-radius:0 0 var(--radius-md) var(--radius-md);border-color:var(--color-border);font-size:.875rem;color:var(--color-text-primary)}.note-rich-editor .ql-editor{min-height:180px;line-height:1.6;color:var(--color-text-primary)}.note-rich-editor .ql-editor.ql-blank:before{color:var(--color-text-tertiary)}.note-rich-editor .ql-editor blockquote{border-left:3px solid #cbd5f5;color:var(--color-text-secondary)}.note-rich-editor .ql-editor p,.note-rich-editor .ql-editor *{color:inherit}.modal-card--note-version{max-width:760px}.note-version-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.note-version-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;font-size:.7rem;font-weight:700;color:#0f766e;background:#ccfbf1}.note-version-date{font-size:.8rem;color:var(--color-text-secondary)}.modal-card--note-version .note-body{max-height:50vh;overflow:auto;padding:var(--space-sm) 0}.appointment-modal-summary{width:100%;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);display:grid;gap:var(--space-xs);margin-bottom:var(--space-lg)}.appointment-modal-datetime{font-weight:600;font-size:.95rem;color:var(--color-text-primary)}.appointment-modal-description{font-size:.875rem;color:var(--color-text-secondary)}.appointment-edit-summary-line{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-modal-section{display:grid;gap:var(--space-sm);margin-bottom:var(--space-lg);width:100%}.appointment-modal-section-title{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.appointment-modal-notes{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-sm);width:100%}.appointment-modal-note{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);box-shadow:none;width:100%}.appointment-modal-note-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.appointment-modal-note-actions{display:flex;align-items:center;gap:var(--space-xs)}.appointment-modal-note-meta{font-size:.75rem;color:var(--color-text-tertiary)}.appointment-modal-note-actions .note-action-btn{width:26px;height:26px}.appointment-modal-note-body{margin-top:var(--space-xs)}.appointment-modal-empty{margin:0;font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.appointment-modal-form textarea{min-height:96px;width:100%;box-sizing:border-box}.appointment-modal-form .row button,.appointment-modal-form .row .button-secondary{font-size:.8125rem}.appointment-modal-form,.appointment-modal-form label,.appointment-modal-form .row{width:100%}.appointment-modal-form label{display:flex;flex-direction:column}.schedule-page .modal-card.modal-card--appointment{max-width:720px;width:min(720px,95vw);padding:var(--space-lg);font-size:.875rem}.schedule-page .modal-card.modal-card--appointment .modal-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.schedule-page .modal-card.modal-card--appointment .modal-header h3{font-size:1.125rem;font-weight:600}.schedule-page .modal-card.modal-card--appointment .modal-header .button-secondary{padding:.4rem .85rem;font-size:.75rem}.schedule-page .appointment-modal-summary{padding:var(--space-sm);margin-bottom:var(--space-sm);gap:var(--space-xs)}.schedule-page .appointment-modal-section{margin-bottom:var(--space-sm)}.schedule-page .appointment-modal-notes{gap:var(--space-xs)}.schedule-page .appointment-modal-form textarea{min-height:88px;margin-bottom:var(--space-xs)}.schedule-page .appointment-modal-form{max-width:none}.schedule-page .appointment-modal-section-title{font-size:.875rem}.schedule-page .appointment-modal-description{font-size:.8125rem}.schedule-page .appointment-modal-form label{gap:var(--space-xs)}.schedule-page .appointment-modal-form-actions{display:flex;justify-content:flex-end;padding-top:var(--space-xs)}.schedule-page .appointment-modal-form-actions button{padding:.4rem .9rem;font-size:.8125rem;margin:0}.schedule-page .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.schedule-page .modal-footer button{height:40px;padding:0 1.25rem;margin:0;line-height:1}.appointments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.appointments-list li{padding:0;border:none;background:transparent;box-shadow:none}.journal-page .appointment-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1px solid #e2e8f0;border-radius:var(--radius-md);background:var(--color-bg-primary);transition:box-shadow .15s,border-color .15s}.journal-page .appointment-item:hover{box-shadow:var(--shadow-sm);border-color:#cbd5e1}.appointment-main{display:flex;align-items:flex-start;gap:var(--space-md)}.appointment-icon-wrapper{width:40px;height:40px;border-radius:var(--radius-md);background:#8b5cf61a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.appointment-icon-wrapper .section-icon{width:20px;height:20px;color:#8b5cf6}.appointment-info{display:flex;flex-direction:column}.appointment-datetime{font-size:.9375rem;font-weight:500;color:var(--color-text-primary)}.appointment-duration{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.appointment-desc{margin:var(--space-sm) 0 0;font-size:.875rem;color:var(--color-text-secondary)}.appointment-action-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.appointment-action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.appointment-action-btn .action-icon{width:16px;height:16px}.assignments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.assignments-list li.assignment-item{padding:var(--space-md);border:1px solid #e2e8f0;border-radius:var(--radius-md);background:var(--color-bg-primary);transition:box-shadow .15s,border-color .15s}.assignments-list li.assignment-item:hover{box-shadow:var(--shadow-sm);border-color:#cbd5e1}.assignments-list li.assignment-item.assignment-item--highlighted{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e,0 12px 24px #3b82f61f}.assignment-main{margin-bottom:var(--space-md)}.assignment-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.assignment-title{margin:0;font-size:.9375rem;font-weight:500;color:var(--color-text-primary)}.assignment-status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.assignment-status .status-icon{width:12px;height:12px}.assignment-status--pending{background:#9ca3af1a;color:#6b7280;border:1px solid rgba(156,163,175,.2)}.assignment-status--submitted{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.assignment-status--reviewed{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.assignment-prompt{margin:0 0 var(--space-sm);font-size:.875rem;color:var(--color-text-secondary);line-height:1.4}.assignment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--color-text-tertiary)}.assignment-meta-sep{color:var(--color-text-tertiary)}.assignment-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-md);border-top:1px solid var(--color-border)}.assignment-modality{display:inline-block;padding:4px 10px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.assignment-actions{display:inline-flex;align-items:center;gap:var(--space-sm)}.assignment-delete-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;transition:all .15s}.assignment-delete-btn:hover{background:var(--color-danger-light)}.assignment-delete-btn:disabled{cursor:not-allowed;opacity:.6}.free-artworks-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.free-artwork-tile{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:var(--color-bg-primary);overflow:hidden;display:flex;flex-direction:column}.free-artwork-tile .artwork-preview{min-height:140px;border-radius:0;border-bottom:1px solid var(--color-border)}.free-artwork-tile .artwork-preview img,.free-artwork-tile .artwork-preview video{width:100%;height:140px;object-fit:cover;display:block}.free-artwork-tile .artwork-preview audio{width:100%}.free-artwork-tile-content{padding:var(--space-sm) var(--space-md) var(--space-md);display:grid;gap:var(--space-sm)}.free-artwork-tile-content h4{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.free-artwork-details-btn{align-self:flex-start}.assignment-delete-btn .action-icon{width:16px;height:16px}.assignment-details-btn{display:inline-flex;align-items:center;gap:4px;padding:0;background:transparent;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .15s}.assignment-details-btn:hover{color:var(--color-primary-hover);background:transparent;box-shadow:none;transform:none}.assignment-details-btn .chevron-icon{width:16px;height:16px}@media(max-width:1024px){.journal-layout{grid-template-columns:1fr}.journal-topics-card{position:static}.journal-patient-bar{flex-direction:column;gap:var(--space-md)}.journal-patient-actions{width:100%;justify-content:space-between}}.journal-page .modal-card{max-width:520px}.journal-page .modal-card.modal-card--note{max-width:840px;width:min(840px,95vw)}.journal-page .modal-card.modal-card--appointment{max-width:720px;width:min(720px,95vw);font-size:.875rem}.journal-page .modal-card.modal-card--appointment form{max-width:none}.journal-page .modal-card .modal-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.journal-page .modal-card .modal-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.journal-page .modal-card .modal-header .button-secondary{padding:.4rem .85rem;font-size:.75rem}.journal-page .modal-card form{display:flex;flex-direction:column;gap:var(--space-md)}.journal-page .modal-card form label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.journal-page .modal-card form input:not([type=color]),.journal-page .modal-card form select{height:44px;padding:.625rem .875rem;font-size:.9375rem}.journal-page .modal-card form input[type=color]{width:3rem;height:2.5rem;padding:0}.journal-page .modal-card form textarea{min-height:120px;padding:.75rem;font-size:.9375rem;resize:vertical}.journal-page .modal-card--lg{max-width:640px}.journal-page .modal-card--lg .card{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border)}.journal-page .modal-card--lg .card h4{margin:0 0 var(--space-xs);font-size:.9375rem;font-weight:600}.journal-page .modal-card--lg .card p{font-size:.875rem;line-height:1.5}.journal-page .modal-card--lg ul{margin:0;padding:0;list-style:none}.journal-page .modal-card--lg ul li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.journal-page .modal-card--lg ul li:last-child{border-bottom:none}.modal-card--xl,.journal-page .modal-card.modal-card--xl{max-width:1000px;width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;margin:auto}.task-details-modal{padding:0}.task-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);background:var(--color-bg-primary)}.task-modal-header-left{display:flex;flex-direction:column;gap:var(--space-sm)}.task-modal-title{margin:0;font-size:1.2rem;font-weight:600;color:var(--color-text-primary)}.task-modal-title-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.task-modal-badges{display:flex;align-items:center;gap:var(--space-sm)}.task-modal-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-md)}.task-modal-badge--modality{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.task-modal-badge--status{border:1px solid transparent}.task-modal-badge--status .status-icon{width:14px;height:14px}.task-modal-badge--pending{background:#9ca3af1a;color:#6b7280;border-color:#9ca3af4d}.task-modal-badge--submitted{background:#3b82f61a;color:#2563eb;border-color:#3b82f64d}.task-modal-badge--reviewed{background:#22c55e1a;color:#16a34a;border-color:#22c55e4d}.task-modal-close{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s;flex-shrink:0}.task-modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.task-modal-close svg{width:20px;height:20px}.task-modal-loading{padding:var(--space-xl);text-align:center;color:var(--color-text-secondary)}.task-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);padding:var(--space-xl);overflow-y:auto;flex:1;min-height:0}.task-modal-body--assignment{display:block;padding:0}.task-modal-assignment-content{display:flex;flex-direction:column;min-height:0}.task-modal-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl) var(--space-xl)}.task-modal-column{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0}.task-section{display:flex;flex-direction:column;gap:var(--space-md)}.task-section-header{display:flex;align-items:center;gap:var(--space-sm)}.task-section-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.task-section-icon svg,.task-section-icon .section-icon{width:16px;height:16px}.task-section-icon--purple{background:#9333ea1a;color:#9333ea}.task-section-icon--pink{background:#ec48991a;color:#ec4899}.task-section-icon--blue{background:#3b82f61a;color:#3b82f6}.task-section-icon--green{background:#22c55e1a;color:#22c55e}.task-section-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.task-modal-prompt-shell{padding:var(--space-lg) var(--space-xl) 0}.task-modal-prompt-shell .task-prompt-card{margin-top:var(--space-sm)}.task-artwork-tabs{display:flex;align-items:center;gap:var(--space-sm);overflow-x:auto;padding-top:2px;padding-bottom:2px}.task-artwork-tabs-shell{padding:calc(var(--space-sm) + 2px) var(--space-xl) calc(var(--space-xs) + 2px);margin-top:var(--space-sm);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);overflow:visible}.task-artwork-tab{display:inline-flex;flex-direction:row;align-items:flex-start;gap:.35rem;padding:.45rem .85rem;border-radius:999px;border:1px solid transparent;background:var(--color-bg-primary);background-clip:padding-box;cursor:pointer;transition:all .15s ease;text-align:left;white-space:nowrap;flex-shrink:0;appearance:none;position:relative}.task-artwork-tab:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid var(--color-border);pointer-events:none;transition:border-color .15s ease}.task-artwork-tab:hover{background:linear-gradient(135deg,#a855f71f,#ec48991a)}.task-artwork-tab:hover:after{border-color:#a855f766}.task-artwork-tab.is-active{background:linear-gradient(135deg,#a855f7,#ec4899)}.task-artwork-tab.is-active:after{border-color:#ffffff47}.task-artwork-tab.is-active:hover{background:linear-gradient(135deg,#a855f7,#ec4899)}.task-artwork-tab.is-active:hover:after{border-color:#ffffff6b}.task-artwork-tab-label{font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.task-artwork-tab-date{font-size:.75rem;color:var(--color-text-tertiary);white-space:nowrap}.task-artwork-tab.is-active .task-artwork-tab-label,.task-artwork-tab.is-active .task-artwork-tab-date{color:#fff}.task-section-count{margin-left:auto;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:50%}.task-section-count--pill{min-width:auto;height:auto;padding:.22rem .55rem;border-radius:999px;background:#94a3b833}.task-section-loading{padding:var(--space-md);text-align:center;color:var(--color-text-secondary);font-size:.875rem}.task-prompt-card{padding:var(--space-lg);background:linear-gradient(135deg,#9333ea0d,#9333ea14);border:1px solid rgba(147,51,234,.2);border-radius:var(--radius-lg)}.task-prompt-title{margin:0 0 var(--space-sm);font-size:.9375rem;font-weight:600;color:#6b21a8}.task-prompt-text{margin:0;font-size:.875rem;color:#7c3aed;line-height:1.6}.task-prompt-meta{margin-top:var(--space-sm);display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:#a855f7;font-weight:500;flex-wrap:wrap}.task-artwork-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-primary)}.task-artwork-preview{position:relative;aspect-ratio:16 / 10;background:linear-gradient(135deg,#9333ea14,#ec489914,#3b82f614);display:flex;align-items:center;justify-content:center;overflow:hidden}.task-artwork-preview--audio{aspect-ratio:auto;min-height:120px;padding:var(--space-lg);background:var(--color-bg-secondary)}.task-artwork-media{width:100%;height:100%;object-fit:cover}.task-artwork-preview--audio .task-artwork-media{height:auto}.task-artwork-preview audio.task-artwork-media{width:100%}.task-artwork-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:#a78bfa}.task-artwork-placeholder svg{width:56px;height:56px;opacity:.6}.task-artwork-placeholder span{font-size:.875rem;color:var(--color-text-tertiary)}.task-artwork-badge{position:absolute;top:var(--space-md);right:var(--space-md);padding:.375rem .75rem;font-size:.75rem;font-weight:500;background:#fffffff2;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);box-shadow:0 2px 8px #00000014}.task-artwork-info{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.task-artwork-deleted-message{flex-basis:100%;margin:.5rem 0 0;color:var(--color-text-secondary)}.task-artwork-info-item{display:flex;flex-direction:column;gap:.25rem}.task-artwork-info-label{font-size:.75rem;color:var(--color-text-tertiary)}.task-artwork-info-value{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.task-artwork-open-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:all .15s}.task-artwork-open-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.task-artwork-open-btn svg{width:16px;height:16px}.task-metadata-card{padding:var(--space-md) var(--space-lg);background:#f8f7fb;border:1px solid #ece9f3;border-radius:14px;box-shadow:0 1px #0f172a0a}.task-metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.task-metadata-item{display:flex;flex-direction:column;gap:.25rem}.task-metadata-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.task-metadata-value{font-size:.8125rem;font-weight:600;color:#1f2937}.task-reflections-card{padding:var(--space-lg);background:#3b82f60a;border:1px solid rgba(59,130,246,.15);border-radius:var(--radius-lg)}.task-reflection-item{display:flex;gap:var(--space-md);padding-bottom:var(--space-sm)}.task-reflection-item+.task-reflection-item{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid rgba(59,130,246,.18)}.task-reflection-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.875rem;font-weight:600;border-radius:50%;flex-shrink:0}.task-reflection-content{flex:1;min-width:0}.task-reflection-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.5rem;flex-wrap:wrap;row-gap:.35rem}.task-reflection-author{font-size:.75rem;font-weight:600;color:#1e40af}.task-reflection-date{font-size:.75rem;color:#60a5fa}.task-reflection-text{margin:0;font-size:.875rem;color:#1e3a5f;line-height:1.6}.task-comments-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:300px;overflow-y:auto;padding-right:var(--space-xs)}.task-comment-item{display:flex;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);position:relative}.task-comment-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.875rem;font-weight:600;border-radius:50%;flex-shrink:0}.task-comment-content{flex:1;min-width:0;padding-right:4.75rem}.task-comment-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.5rem;flex-wrap:wrap;row-gap:.35rem}.task-comment-visibility{padding:.1rem .4rem;font-size:.625rem;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.task-comment-visibility--patient{background:#22c55e1f;color:#15803d;border:1px solid rgba(34,197,94,.3)}.task-comment-visibility--edited{background:#c2410c24;color:#9a3412;border:1px solid rgba(194,65,12,.35)}.task-comment-visibility--private{background:#94a3b829;color:#475569;border:1px solid rgba(148,163,184,.35)}.task-comment-author{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.task-comment-date{font-size:.75rem;color:var(--color-text-tertiary);white-space:nowrap}.task-comment-text{margin:0;font-size:.875rem;color:var(--color-text-primary);line-height:1.6}.task-comment-edit-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.task-comment-edit-btn{height:2rem;padding:0 var(--space-md);border-radius:var(--radius-md);border:1px solid transparent;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease}.task-comment-edit-btn:disabled{opacity:.65;cursor:not-allowed}.task-comment-edit-btn--cancel{background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-secondary)}.task-comment-edit-btn--cancel:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.task-comment-edit-btn--save{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 6px 16px #05966940}.task-comment-edit-btn--save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0596694d}.task-comment-actions{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;gap:var(--space-xs)}.task-comment-delete{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s}.task-comment-delete:hover{background:#ef44441a;color:#dc2626}.task-comment-delete .action-icon{width:16px;height:16px}.task-comments-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl) var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-tertiary);text-align:center}.task-comments-empty svg{width:48px;height:48px;opacity:.4}.task-comments-empty p{margin:0;font-size:.875rem}.task-modal-empty-state{padding:var(--space-2xl) var(--space-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-md);min-height:260px}.task-modal-empty-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:999px;color:#6b7280}.task-modal-empty-icon svg{width:48px;height:48px}.task-modal-empty-title{margin:0;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.task-modal-empty-text{margin:0;max-width:520px;color:var(--color-text-secondary);font-size:1rem}.task-add-comment-card{padding:var(--space-lg);background:#22c55e0a;border:1px solid rgba(34,197,94,.15);border-radius:var(--radius-lg);margin-top:var(--space-md);display:grid;gap:var(--space-md)}.task-add-comment-field{display:flex;flex-direction:column;gap:var(--space-xs)}.task-add-comment-label{display:block;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.task-add-comment-textarea{width:100%;min-height:90px;padding:var(--space-md);font-size:.875rem;line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;font-family:inherit}.task-add-comment-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.task-add-comment-textarea::placeholder{color:var(--color-text-tertiary)}.task-add-comment-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md)}.task-add-comment-visibility{display:block;width:100%;padding:.5rem .875rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.task-add-comment-visibility:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}.task-add-comment-warning{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-warning)}.task-add-comment-hint{font-size:.8125rem;color:var(--color-text-tertiary)}.task-add-comment-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.8125rem;font-weight:500;color:#fff;background:#22c55e;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .15s}.task-add-comment-btn:hover:not(:disabled){background:#16a34a}.task-add-comment-btn:disabled{opacity:.5;cursor:not-allowed}.task-add-comment-btn svg{width:16px;height:16px}@media(max-width:768px){.modal-card--xl{width:100%;max-width:100%;max-height:100vh;border-radius:0}.task-modal-body{grid-template-columns:1fr}.task-modal-prompt-shell,.task-artwork-tabs-shell{padding-left:var(--space-lg);padding-right:var(--space-lg)}.task-modal-assignment-grid{grid-template-columns:1fr;padding:var(--space-lg)}.task-metadata-grid{grid-template-columns:1fr}}.empty-message{margin:0;padding:var(--space-md);font-size:.875rem;color:var(--color-text-tertiary);font-style:italic;text-align:center;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.warning-message{margin:0;padding:var(--space-sm) var(--space-md);font-size:.8125rem;font-weight:500;color:#b45309;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md)}.modal-overlay--nested{z-index:60}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:2.5rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:var(--color-text-primary)}.password-toggle:focus{outline:none}.password-toggle:focus-visible{outline:none;box-shadow:none}.password-toggle:hover,.password-toggle:active{transform:translateY(-50%);box-shadow:none}.password-toggle:active{background:transparent}.password-requirements{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.password-requirements--valid{margin-top:.25rem}.password-requirement{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.125rem .5rem;border-radius:var(--radius-sm);transition:all .2s ease}.password-requirement--unmet{color:var(--color-text-secondary);background:var(--color-bg-secondary)}.password-requirement--met{color:#166534;background:#dcfce7}.password-requirement svg{flex-shrink:0}.field-error,.field-success{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;margin-top:.25rem}.field-error{color:#dc2626}.field-success{color:#166534}.prompts-page{max-width:1200px}.prompts-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-xl)}.prompts-header-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:36px;padding:0 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid rgba(0,0,0,.08);cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-outline:hover{background:#f0e7ff;color:var(--color-primary);border-color:#7c3aed33;transform:none;box-shadow:none}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-outline svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:36px;padding:0 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;background:var(--color-primary);color:#fff;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;box-shadow:0 4px 6px -1px #7c3aed33}.btn-primary:hover{background:var(--color-primary-hover);transform:none;box-shadow:0 4px 6px -1px #7c3aed4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;transition:all .15s ease}.btn-ghost:hover{background:#7c3aed1a;color:var(--color-primary);transform:none;box-shadow:none}.btn-ghost.btn-ghost-danger:hover{background:#dc26261a;color:var(--color-danger)}.btn-ghost svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.btn-text{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;background:transparent;color:var(--color-primary);border:none;cursor:pointer;transition:all .15s ease;height:28px}.btn-text:hover{background:transparent;color:var(--color-primary-hover);transform:none;box-shadow:none}.prompt-tabs{display:inline-flex;gap:var(--space-xs);margin-bottom:var(--space-lg);background:#f3f4f6;padding:4px;border-radius:var(--radius-md)}.prompt-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text-secondary);font-weight:500;font-size:.875rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.prompt-tab svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.prompt-tab:hover{color:var(--color-text-primary);background:#ffffff80;transform:none;box-shadow:none}.prompt-tab.active{color:var(--color-text-primary);background:var(--color-bg-primary);box-shadow:0 1px 2px #0000000d}.prompt-search-wrapper{position:relative;margin-bottom:var(--space-lg);max-width:28rem}.prompt-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.prompt-search-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.prompt-search{width:100%;height:44px;padding:0 1rem 0 2.75rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);font-size:.9rem;background:#f9fafb;transition:all .2s ease}.prompt-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a;background:var(--color-bg-primary)}.prompt-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.prompt-card{background:var(--color-bg-primary);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease}.prompt-card:hover{border-color:#7c3aed33;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.prompt-card:hover .prompt-card-title{color:var(--color-primary)}.prompt-card:hover .prompt-card-actions{opacity:1}.prompt-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.prompt-card-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.prompt-card-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.prompt-card-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .15s ease}.prompt-card-title{font-weight:600;font-size:1rem;color:var(--color-text-primary);margin:0;line-height:1.4;transition:color .15s ease;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.prompt-card-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.prompt-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.prompt-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:#7c3aed1a;border:1px solid rgba(124,58,237,.2);color:var(--color-primary)}.prompt-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-top:.75rem;border-top:1px solid rgba(0,0,0,.06);margin-top:auto}.prompt-assignment-count{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-tertiary)}.prompt-assignment-count svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.prompt-details-modal .modal-header{margin-bottom:var(--space-md)}.prompt-details-content{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}.prompt-details-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--color-text-primary);line-height:1.35}.prompt-details-description{margin:0;color:var(--color-text-secondary);line-height:1.65;white-space:pre-wrap}.prompt-details-theme{margin:0;font-size:.875rem;color:var(--color-text-primary)}.prompt-details-theme strong{color:var(--color-text-secondary);font-weight:600;margin-right:.25rem}.prompt-details-meta{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding:.65rem .8rem;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06);background:var(--color-bg-tertiary)}.prompt-empty{text-align:center;padding:3rem;border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary)}.prompt-empty-icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.prompt-empty-icon svg{width:32px;height:32px;stroke:var(--color-text-tertiary);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.prompt-empty h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.prompt-empty p{color:var(--color-text-secondary);margin:0 0 1rem}.prompts-page .modal-card form{max-width:100%}.prompts-page .modal-card input:not([type=color]),.prompts-page .modal-card select{height:44px;padding:.5rem .75rem}.prompts-page .modal-card input[type=color]{width:3rem;height:2.5rem;padding:0}.prompts-page .modal-card textarea{min-height:120px;resize:none}.prompts-page .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.prompts-page .modal-footer button,.prompts-page .modal-footer .btn-outline,.prompts-page .modal-footer .btn-primary{height:40px;padding:0 1.25rem;margin:0;line-height:1}.prompts-page .modal-footer .btn-primary{border:1px solid transparent;box-shadow:none}.prompts-page .modal-card form .row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.prompts-page .modal-card form .row button,.prompts-page .modal-card form .row button[type=submit],.prompts-page .modal-card form .row .button-secondary{height:40px;padding:0 1.25rem;font-size:.875rem;font-weight:500;margin:0}.prompts-page .modal-card form .row button[type=submit]{font-weight:600}.verified-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.2)}.verified-badge svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:640px){.prompts-header{flex-direction:column;align-items:stretch}.prompts-header-actions{flex-direction:column}.prompts-header-actions button{width:100%}.prompt-card-grid{grid-template-columns:1fr}.prompt-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.prompt-card-actions{opacity:1}}.schedule-page{flex:1;overflow-y:auto;width:100%;max-width:1200px;margin:0 auto;padding:var(--space-xl) var(--space-xl)}.schedule-loading{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap}.schedule-header-content{flex:1}.schedule-title-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.schedule-title-accent{width:4px;height:40px;background:linear-gradient(to bottom,#7c3aed,#a855f7);border-radius:999px}.schedule-title{font-size:1.875rem;font-weight:600;margin:0;color:var(--color-text-primary)}.schedule-subtitle{color:var(--color-text-secondary);margin:0 0 0 calc(4px + var(--space-sm));font-size:.9375rem}.schedule-primary-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 12px #7c3aed40}.schedule-primary-btn:hover{background:var(--color-primary-hover);box-shadow:0 6px 16px #7c3aed59;transform:translateY(-1px)}.schedule-btn-icon{width:18px;height:18px}.schedule-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm)}.schedule-session-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-bottom:var(--space-lg)}.schedule-session-panel{margin-bottom:0;display:flex;flex-direction:column}.schedule-section-title{font-size:1.125rem;font-weight:600;margin:0 0 var(--space-lg) 0;color:var(--color-text-primary)}.schedule-empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.schedule-empty-icon{width:48px;height:48px;color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.schedule-empty-state p{margin:0;color:var(--color-text-secondary);font-size:.875rem}.schedule-empty-text{color:var(--color-text-secondary);font-style:italic;margin:0;font-size:.875rem}.schedule-sessions-list{display:flex;flex-direction:column;gap:var(--space-md)}.schedule-session-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);transition:all .15s ease;flex-wrap:wrap}.schedule-session-item:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border-hover)}.schedule-session-finished{background:#00000005}.schedule-session-main{display:flex;align-items:flex-start;gap:var(--space-md);flex:1;min-width:0}.schedule-session-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.schedule-avatar-gray{background:linear-gradient(135deg,#6b7280,#9ca3af)}.schedule-session-info{flex:1;min-width:0}.schedule-session-patient{font-size:.9375rem;font-weight:600;margin:0 0 .1rem;color:var(--color-text-primary);display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-session-email{font-size:.75rem;color:var(--color-text-secondary);line-height:1.2;margin-bottom:var(--space-xs);display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-session-meta{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--color-text-secondary)}.schedule-session-meta-item{display:flex;align-items:center;gap:4px}.schedule-session-meta>span{white-space:nowrap}.schedule-session-topic{white-space:nowrap}.schedule-meta-icon{width:14px;height:14px}.schedule-session-notes{margin:var(--space-sm) 0 0 0;font-size:.8125rem;color:var(--color-text-secondary)}.schedule-session-topic-select{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-sm);font-size:.75rem}.schedule-session-topic-label{color:var(--color-text-tertiary)}.schedule-session-topic-select select{padding:.375rem .5rem;font-size:.8125rem;border-radius:var(--radius-sm)}.schedule-session-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);min-width:0;flex-shrink:0}.schedule-session-status{display:flex;justify-content:flex-end;width:100%;min-width:0}.schedule-session-status-controls{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;margin-left:auto;flex-wrap:wrap}.schedule-session-status .schedule-badge{width:auto;max-width:11.5rem;justify-content:center}.schedule-session-edit-btn,.schedule-session-cancel-btn{width:28px;height:28px}.schedule-session-cancel-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1280px){.dashboard-appointment-card-top{align-items:flex-start}.schedule-session-panels .schedule-session-item{flex-direction:column;align-items:stretch}.schedule-session-panels .schedule-session-actions{margin-top:var(--space-sm);align-items:flex-start;width:100%}.schedule-session-panels .schedule-session-status,.schedule-session-panels .schedule-session-buttons{justify-content:flex-start}.schedule-session-panels .schedule-session-meta{flex-wrap:wrap}.schedule-session-panels .schedule-session-meta>span,.schedule-session-panels .schedule-session-topic{white-space:normal}}@media(max-width:768px){.dashboard-appointment-card-top{flex-direction:column;align-items:flex-start}.dashboard-appointment-form-grid{grid-template-columns:1fr}}.schedule-session-buttons{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;width:100%;min-width:0}@media(max-width:1400px){.dashboard-panel .schedule-session-meta{flex-wrap:wrap}.dashboard-panel .schedule-session-meta>span,.dashboard-panel .schedule-session-topic{white-space:normal}.dashboard-panel .schedule-session-topic{overflow-wrap:anywhere}}.schedule-badge{display:inline-flex;align-items:center;gap:4px;padding:.15rem .4rem;border-radius:999px;font-size:.6875rem;font-weight:600;border:1px solid transparent;flex:0 0 auto;width:fit-content;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2;text-align:center}.schedule-badge-icon{width:10px;height:10px}.schedule-badge-pending{background:#eab3081a;color:#a16207;border-color:#eab30833}.schedule-badge-confirmed{background:#22c55e1a;color:#15803d;border-color:#22c55e33}.schedule-badge-completed{background:#3b82f61a;color:#1d4ed8;border-color:#3b82f633}.schedule-action-btn{padding:.375rem .875rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-primary);cursor:pointer;transition:all .15s ease}.schedule-action-btn:hover{background:var(--color-bg-secondary)}.schedule-action-btn:disabled{opacity:.6;cursor:not-allowed}.schedule-action-confirm{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.schedule-action-confirm:hover{background:var(--color-primary-hover)}.schedule-action-icon-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.schedule-action-icon-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.schedule-action-cancel{color:var(--color-danger);border-color:#ef44444d}.schedule-action-cancel:hover{background:#ef44440d;border-color:#ef444480}.schedule-action-reject{color:var(--color-text-secondary)}.schedule-action-reject-icon{color:#b91c1c;border-color:#dc26264d}.schedule-action-reject-icon:hover{background:#dc262614;border-color:#dc262680}.schedule-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.schedule-view-tabs{display:flex;gap:0;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:4px}.schedule-tab{padding:.5rem 1rem;font-size:.8125rem;font-weight:500;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.schedule-tab:hover{color:var(--color-text-primary)}.schedule-tab-active{background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:0 1px 2px #0000000d}.schedule-calendar-controls{display:flex;align-items:center;gap:var(--space-md)}.schedule-view-toggle{display:flex;gap:var(--space-xs)}.schedule-toggle-btn{padding:.5rem .875rem;font-size:.8125rem;font-weight:500;border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all .15s ease}.schedule-toggle-btn:hover{background:var(--color-bg-secondary)}.schedule-toggle-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.schedule-toggle-active:hover{background:var(--color-primary-hover)}.schedule-nav-btns{display:flex;gap:var(--space-xs)}.schedule-nav-btn{padding:.5rem .875rem;font-size:.8125rem;font-weight:500;border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all .15s ease}.schedule-nav-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.schedule-month-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-md);text-transform:capitalize}.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.schedule-calendar-day-header{padding:var(--space-sm) var(--space-md);text-align:center;font-size:.8125rem;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.schedule-calendar-cell{min-height:100px;padding:var(--space-sm);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);transition:background .15s ease}.schedule-calendar-cell:nth-child(7n){border-right:none}.schedule-calendar-cell:hover{background:#7c3aed05}.schedule-calendar-cell-header{font-size:.8125rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.schedule-calendar-cell-body{display:flex;flex-direction:column;gap:var(--space-xs)}.schedule-calendar-empty{font-size:.6875rem;color:var(--color-text-tertiary)}.schedule-calendar-events{display:flex;flex-direction:column;gap:4px}.schedule-calendar-event{padding:4px 6px;background:#7c3aed14;border:1px solid rgba(124,58,237,.15);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.schedule-calendar-event:hover{background:#7c3aed26;border-color:#7c3aed4d}.schedule-calendar-event--pending{background:#eab3081f;border-color:#eab30847}.schedule-calendar-event--pending:hover{background:#eab30833;border-color:#eab30866}.schedule-calendar-event--pending .schedule-event-time{color:#a16207}.schedule-calendar-event--confirmed{background:#22c55e1f;border-color:#22c55e47}.schedule-calendar-event--confirmed:hover{background:#22c55e33;border-color:#22c55e66}.schedule-calendar-event--confirmed .schedule-event-time{color:#15803d}.schedule-event-time{font-size:.6875rem;font-weight:600;color:var(--color-primary)}.schedule-event-patient{font-size:.625rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-event-duration{font-size:.625rem;color:var(--color-text-tertiary)}.schedule-availability-slots{display:flex;flex-direction:column;gap:2px}.schedule-availability-slot{font-size:.625rem;color:var(--color-text-secondary)}.schedule-availability-more{font-size:.625rem;color:var(--color-text-tertiary);background:transparent;border:none;padding:0;text-align:left;cursor:pointer;box-shadow:none;transform:none}.schedule-availability-more:hover{color:var(--color-text-secondary);text-decoration:underline;background:transparent;box-shadow:none;transform:none}.schedule-config-card{padding:0}.schedule-config-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);background:transparent;border:none;cursor:pointer;text-align:left}.schedule-config-toggle:hover{background:var(--color-bg-secondary)}.schedule-config-title{display:flex;align-items:center;gap:var(--space-sm);font-size:1.0625rem;font-weight:600;color:var(--color-text-primary)}.schedule-config-icon{width:20px;height:20px}.schedule-config-chevron{width:20px;height:20px;color:var(--color-text-tertiary);transition:transform .2s ease}.schedule-config-chevron-open{transform:rotate(90deg)}.schedule-config-content{padding:0 var(--space-lg) var(--space-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-xl)}.schedule-config-section{padding-top:var(--space-lg)}.schedule-config-section-title{font-size:1rem;font-weight:600;margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.schedule-config-section-desc{font-size:.8125rem;color:var(--color-text-secondary);margin:0 0 var(--space-md) 0}.schedule-holiday-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-primary)}.schedule-holiday-row{display:flex;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap}.schedule-holiday-label{display:grid;gap:var(--space-xs);font-size:.875rem;font-weight:500;color:var(--color-text-primary);flex:1;min-width:220px}.schedule-holiday-select{width:100%}.schedule-holiday-apply{min-width:120px}.schedule-holiday-status{font-size:.8125rem;color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.schedule-rules-list{display:flex;flex-direction:column;gap:var(--space-md)}.schedule-rule-item{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary)}.schedule-rule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.schedule-rule-check{display:flex;align-items:center;gap:var(--space-sm)}.schedule-checkbox{width:16px;height:16px;cursor:pointer}.schedule-rule-repeat{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.schedule-rule-actions{display:flex;gap:4px}.schedule-icon-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.schedule-icon-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.schedule-icon-btn-danger:hover{background:#ef444414;color:var(--color-danger)}.schedule-rule-days{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.schedule-day-badge{padding:4px 10px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.schedule-day-badge-active{background:var(--color-primary);color:#fff}.schedule-rule-times{display:flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--color-text-secondary)}.schedule-override-closed{color:var(--color-danger);font-weight:600}.schedule-add-rule-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.schedule-add-rule-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#7c3aed05}.schedule-add-icon{width:16px;height:16px}.schedule-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.schedule-modal{background:var(--color-bg-primary);border-radius:var(--radius-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.schedule-modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.schedule-modal-title{display:flex;flex-direction:column;gap:var(--space-xs)}.schedule-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.schedule-modal-desc{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.schedule-modal-close{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:var(--color-text-primary);border:1px solid var(--color-border);background:var(--color-bg-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.schedule-modal-close:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover);box-shadow:none;transform:none}.schedule-modal-form,.schedule-modal-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.schedule-form-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.schedule-form-optional{font-weight:400;color:var(--color-text-tertiary)}.schedule-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.schedule-form-input,.schedule-form-select{padding:.75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .15s ease}.schedule-form-input:focus,.schedule-form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}.schedule-form-textarea{padding:.75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);min-height:80px;resize:vertical;font-family:inherit}.schedule-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}.schedule-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.schedule-modal-actions button,.schedule-modal-actions button[type=submit]{height:40px;padding:0 1.25rem;margin:0;font-size:.875rem}.schedule-modal-cancel{padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary);border:1px solid var(--color-border);background:var(--color-bg-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.schedule-modal-cancel:hover{background:var(--color-bg-secondary)}.schedule-modal-submit{padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;border:none;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.schedule-modal-submit:hover{background:var(--color-primary-hover)}.schedule-modal-submit:disabled{opacity:.6;cursor:not-allowed}.schedule-modal-lg{max-width:600px}.schedule-form-error{padding:var(--space-sm) var(--space-md);background:#fef2f2;color:#dc2626;border-radius:var(--radius-md);font-size:.875rem;border:1px solid #fecaca}.schedule-weekday-selector{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-xs)}.schedule-weekday-btn{padding:.5rem .75rem;font-size:.8125rem;font-weight:500;border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;min-width:3rem;text-align:center}.schedule-weekday-btn:hover{border-color:var(--color-primary)}.schedule-weekday-btn-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.schedule-monthly-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs)}.schedule-radio-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;cursor:pointer;flex-wrap:wrap}.schedule-radio-label input[type=radio]{accent-color:var(--color-primary)}.schedule-form-input-sm,.schedule-form-select-sm{padding:.5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);max-width:120px}.schedule-checkbox-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;cursor:pointer}.schedule-checkbox-label input[type=checkbox]{accent-color:var(--color-primary);width:1rem;height:1rem}.schedule-time-blocks{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs)}.schedule-time-block-row{display:flex;align-items:center;gap:var(--space-sm)}.schedule-time-block-row .schedule-form-input{max-width:140px}.schedule-time-separator{color:var(--color-text-secondary);font-weight:500}.schedule-add-block-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:var(--color-primary);background:transparent;border:1px dashed var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;width:fit-content}.schedule-add-block-btn:hover{background:#7c3aed0d}.schedule-detail-row{margin-bottom:var(--space-sm)}.schedule-detail-label{font-size:.75rem;color:var(--color-text-secondary);display:block;margin-bottom:2px}.schedule-detail-meta{font-size:.8125rem;color:var(--color-text-secondary)}@media(max-width:768px){.schedule-page{padding:var(--space-lg)}.schedule-header{flex-direction:column;align-items:stretch}.schedule-primary-btn{width:100%;justify-content:center}.schedule-calendar-header,.schedule-calendar-controls{flex-direction:column;align-items:stretch}.schedule-view-toggle,.schedule-nav-btns{width:100%}.schedule-toggle-btn,.schedule-nav-btn{flex:1;justify-content:center}.schedule-session-item{flex-direction:column;align-items:stretch}.schedule-session-actions{margin-top:var(--space-sm);align-items:flex-start}.schedule-session-status,.schedule-session-buttons{justify-content:flex-start}.schedule-form-row,.schedule-session-panels{grid-template-columns:1fr}.schedule-calendar-cell{min-height:80px}}.history-page{max-width:1200px}.history-header{margin-bottom:var(--space-xl)}.history-header-title{display:flex;align-items:flex-start;gap:var(--space-md)}.history-header-accent{width:4px;height:44px;background:linear-gradient(180deg,#7c3aed,#a78bfa);border-radius:999px;margin-top:.25rem;flex-shrink:0}.history-header h1{margin:0 0 var(--space-xs);font-size:1.875rem;font-weight:600}.history-header-subtitle{margin:0;color:var(--color-text-secondary);font-size:.9375rem}.history-patient-selection{display:flex;justify-content:center;padding:var(--space-2xl) 0}.history-patient-card{max-width:520px;width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl) 3rem;box-shadow:var(--shadow-sm);text-align:center}.history-patient-icon{width:72px;height:72px;margin:0 auto var(--space-lg);border-radius:50%;background:linear-gradient(135deg,#a78bfa33,#7c3aed1a);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.history-patient-card h2{margin:0 0 var(--space-sm);font-size:1.25rem;color:var(--color-text-primary)}.history-patient-desc{margin:0 0 var(--space-xl);color:var(--color-text-secondary);font-size:.875rem}.history-patient-form{display:flex;flex-direction:column;gap:var(--space-md)}.history-patient-label{text-align:left;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:-.5rem}.history-patient-select{height:48px;width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.9375rem;background:var(--color-bg-primary)}.history-patient-load-btn{height:48px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,opacity .2s;box-shadow:0 4px 12px #7c3aed40}.history-patient-load-btn:hover:not(:disabled){background:var(--color-primary-hover)}.history-patient-load-btn:disabled{opacity:.5;cursor:not-allowed;background:#d1d5db;color:#9ca3af;box-shadow:none}.history-patient-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.history-patient-info{display:flex;align-items:center;gap:var(--space-md)}.history-patient-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.history-patient-details{display:flex;flex-direction:column}.history-patient-email{font-weight:500;color:var(--color-text-primary);font-size:.9375rem}.history-patient-activity{font-size:.8125rem;color:var(--color-text-secondary)}.history-patient-actions{display:flex;align-items:center;gap:var(--space-md)}.history-patient-status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#22c55e1a;color:#16a34a;font-size:.75rem;font-weight:600;border:1px solid rgba(34,197,94,.2)}.history-summary-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm)}.history-section-title{margin:0 0 var(--space-sm);font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.history-summary-text{margin:0 0 var(--space-md);font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.history-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.history-stat-card{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.25rem}.history-stat-purple{background:linear-gradient(135deg,#9333ea14,#9333ea26);border:1px solid rgba(147,51,234,.2)}.history-stat-purple .history-stat-value,.history-stat-purple .history-stat-label{color:#7c3aed}.history-stat-blue{background:linear-gradient(135deg,#3b82f614,#3b82f626);border:1px solid rgba(59,130,246,.2)}.history-stat-blue .history-stat-value,.history-stat-blue .history-stat-label{color:#2563eb}.history-stat-green{background:linear-gradient(135deg,#22c55e14,#22c55e26);border:1px solid rgba(34,197,94,.2)}.history-stat-green .history-stat-value,.history-stat-green .history-stat-label{color:#16a34a}.history-stat-orange{background:linear-gradient(135deg,#f9731614,#f9731626);border:1px solid rgba(249,115,22,.2)}.history-stat-orange .history-stat-value,.history-stat-orange .history-stat-label{color:#ea580c}.history-stat-value{font-size:1.75rem;font-weight:600;line-height:1}.history-stat-label{font-size:.75rem;font-weight:500}.history-summary-section .history-stat-value{font-size:1.5rem}.history-summary-section .history-stat-label{font-size:.7rem}.history-calendar-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.history-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.history-calendar-subtitle{margin:var(--space-xs) 0 0;font-size:.875rem;color:var(--color-text-secondary)}.history-calendar-nav{display:flex;align-items:center;gap:var(--space-xs)}.history-nav-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.history-nav-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:none;box-shadow:none}.history-month-label{min-width:140px;text-align:center;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.history-calendar-grid-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.history-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.history-calendar-weekday{padding:var(--space-sm) var(--space-md);text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.history-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.history-calendar-cell{min-height:100px;padding:var(--space-sm);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);transition:background .15s}.history-calendar-cell:nth-child(7n){border-right:none}.history-calendar-cell:hover{background:#7c3aed05}.history-calendar-cell--empty{background:var(--color-bg-secondary)}.history-calendar-cell--today{background:#7c3aed0a}.history-calendar-day-number{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.history-calendar-day-number--today{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#7c3aed;color:#fff;border-radius:50%;font-size:.8125rem;font-weight:600}.history-calendar-event{display:flex;align-items:center;gap:4px;margin-bottom:2px}.history-calendar-event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.history-calendar-event-text{font-size:.6875rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-calendar-overflow{font-size:.625rem;color:var(--color-text-tertiary);margin-top:2px}.history-mood-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:var(--space-xl);margin-bottom:var(--space-xl)}.history-mood-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%}.history-mood-filter{height:36px;padding:0 var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.875rem;background:var(--color-bg-primary);min-width:100px}.history-mood-controls{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.history-mood-calendar-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;flex:1;display:flex;flex-direction:column}.history-mood-weekdays{font-size:.625rem}.history-mood-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1}.history-mood-cell{min-height:60px;padding:var(--space-xs);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);display:flex;flex-direction:column;align-items:center}.history-mood-cell:nth-child(7n){border-right:none}.history-mood-cell--empty{background:var(--color-bg-secondary)}.history-mood-day-number{font-size:.75rem;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.history-mood-emoji{font-size:1.5rem;line-height:1}.history-mood-trend-header{margin-bottom:var(--space-lg)}.history-mood-trend-header .history-section-title{margin-bottom:var(--space-sm)}.history-mood-trend-controls{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.history-mood-period-btns{display:flex;gap:var(--space-xs)}.history-period-btn{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.history-period-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:none;box-shadow:none}.history-period-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.history-period-btn--active:hover{background:var(--color-primary-hover);color:#fff}.history-mood-date-label{margin-left:auto;font-size:.8125rem;color:var(--color-text-tertiary)}.history-mood-chart{min-height:200px;flex:1;display:flex;flex-direction:column}.history-details-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.history-timeline{display:flex;flex-direction:column;gap:var(--space-xl)}.history-pagination-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.history-pagination-size{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--color-text-secondary)}.history-pagination-size select{min-width:72px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);padding:.3rem .5rem}.history-pagination-summary{font-size:.8125rem;color:var(--color-text-secondary)}.history-pagination-nav{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--color-text-secondary)}.history-day-group{display:flex;flex-direction:column;gap:var(--space-md)}.history-day-header{display:flex;align-items:center;gap:var(--space-md)}.history-day-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:#7c3aed1a;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.history-day-label{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.history-events{display:flex;flex-direction:column;gap:var(--space-xs);margin-left:56px}.history-event-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-sm);background:var(--color-bg-primary);transition:all .15s}.history-event-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.history-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.history-event-left{display:flex;align-items:flex-start;gap:var(--space-sm)}.history-event-icon-wrapper{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-event-info{display:flex;flex-direction:column;gap:2px}.history-event-title-row{display:flex;align-items:center;gap:var(--space-sm)}.history-event-title{font-weight:500;font-size:.875rem;color:var(--color-text-primary)}.history-event-time{font-size:.75rem;color:var(--color-text-tertiary)}.history-event-topic{font-size:.75rem;color:var(--color-text-secondary)}.history-event-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.history-event-details{margin-top:var(--space-md);margin-left:48px;padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.history-event-right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.history-event-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.history-event-action-btn{background:#fff;border:1px solid var(--color-border);color:var(--color-primary);font-weight:500;opacity:0;transition:opacity .2s ease,background .15s ease}.history-event-card:hover .history-event-action-btn,.history-event-card:focus-within .history-event-action-btn{opacity:1}.history-event-action-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover);color:var(--color-primary);transform:none;box-shadow:none}@media(hover:none),(pointer:coarse){.therapist-dashboard .reflection-item .button-secondary.button-small,.history-event-action-btn,.prompt-card-actions{opacity:1}}.history-modal{max-width:500px}.history-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.history-modal-header h2{margin:0;font-size:1.125rem;font-weight:600}.history-modal-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s}.history-modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:none;box-shadow:none}.history-modal-body{display:flex;flex-direction:column;gap:var(--space-lg)}.history-modal-section h3{margin:0 0 var(--space-md);font-size:1rem;font-weight:600}.history-modal-details{display:flex;flex-direction:column;gap:var(--space-sm)}.history-modal-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.history-modal-label{color:var(--color-text-secondary)}.history-modal-value{font-weight:500;color:var(--color-text-primary)}.history-modal-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);margin-top:var(--space-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-weight:500;font-size:.875rem;text-decoration:none;transition:all .15s}.history-modal-link:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}@media(max-width:1024px){.history-mood-grid{grid-template-columns:1fr}}@media(max-width:768px){.history-stats-grid{grid-template-columns:repeat(2,1fr)}.history-patient-bar{flex-direction:column;gap:var(--space-md)}.history-patient-actions{width:100%;justify-content:space-between}.history-events{margin-left:0}.history-calendar-cell{min-height:80px;padding:4px}.history-calendar-day-number{font-size:.75rem}.history-calendar-event-text{display:none}}@media(max-width:480px){.history-patient-card{padding:var(--space-xl)}.history-stats-grid{grid-template-columns:1fr 1fr;gap:var(--space-sm)}.history-stat-card{padding:var(--space-md)}.history-stat-value{font-size:1.5rem}}.history-calendar-cell{border:1px solid var(--color-border);border-collapse:collapse}.history-calendar-grid{border-collapse:collapse}.history-calendar-cell:nth-child(7n+1) .history-calendar-day-number{color:#ec4899}.history-calendar-event-dot{width:8px;height:8px}.history-stat-card{padding:var(--space-lg)}.history-stat-value{font-size:2rem;font-weight:700}.history-stat-label{font-size:.8125rem;margin-top:var(--space-xs)}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}
