.layout{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;width:240px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--color-border);padding:1.25rem 1rem}.sidebar-header h2{color:var(--color-primary);margin-bottom:.25rem;font-size:1.125rem}.role-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--color-primary-light);color:var(--color-primary);border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.nav-links{flex:1;padding:.5rem 0;list-style:none}.nav-links a{color:var(--color-text-secondary);padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:block}.nav-links a:hover{color:var(--color-text);background:var(--color-bg)}.nav-links a.active{color:var(--color-primary);background:var(--color-primary-light);border-right:3px solid var(--color-primary)}.sidebar-footer{border-top:1px solid var(--color-border);padding:1rem}.user-email{color:var(--color-text-secondary);word-break:break-all;margin-bottom:.5rem;font-size:.75rem;display:block}.btn-logout{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-text-secondary);padding:.5rem;font-size:.8125rem;transition:all .2s}.btn-logout:hover{background:var(--color-bg);color:var(--color-danger);border-color:var(--color-danger)}.main-content{flex:1;margin-left:240px;padding:1.5rem}@media (width<=768px){.sidebar{border-right:none;border-top:1px solid var(--color-border);flex-direction:row;width:100%;height:auto;position:fixed;inset:auto 0 0}.sidebar-header,.sidebar-footer{display:none}.nav-links{width:100%;padding:0;display:flex}.nav-links li{flex:1}.nav-links a{text-align:center;border-right:none;padding:.75rem .25rem;font-size:.75rem}.nav-links a.active{border-right:none;border-top:3px solid var(--color-primary)}.main-content{margin-bottom:60px;margin-left:0;padding:1rem}}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:400px;padding:2rem}.login-header{text-align:center;margin-bottom:1.5rem}.login-header h1{color:var(--color-primary);margin-bottom:.25rem;font-size:1.5rem}.login-header p{color:var(--color-text-secondary);font-size:.875rem}.login-tabs{border:1px solid var(--color-border);border-radius:var(--radius);gap:0;margin-bottom:1.5rem;display:flex;overflow:hidden}.login-tabs .tab{background:var(--color-surface);color:var(--color-text-secondary);border:none;flex:1;padding:.625rem;font-size:.875rem;font-weight:500;transition:all .2s}.login-tabs .tab.active{background:var(--color-primary);color:#fff}.login-error{color:var(--color-danger);border-radius:var(--radius);background:#fce4ec;margin-bottom:1rem;padding:.625rem .75rem;font-size:.875rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--color-text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:.625rem .75rem;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.btn{border-radius:var(--radius);border:none;justify-content:center;align-items:center;width:100%;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.page-header h1{font-size:1.5rem;font-weight:600}.filters-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search-input{border:1px solid var(--color-border);border-radius:var(--radius);flex:1;min-width:200px;padding:.5rem .75rem;font-size:.875rem}.search-input:focus{border-color:var(--color-primary);outline:none}.filter-select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.5rem .75rem;font-size:.875rem}.checkbox-label{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.patient-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.patient-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;padding:1rem;transition:box-shadow .2s;display:block}.patient-card:hover{box-shadow:var(--shadow-md)}.patient-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.patient-id{color:var(--color-primary);background:var(--color-primary-light);border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.active{background:#4caf50}.status-dot.inactive{background:#bdbdbd}.patient-name{margin-bottom:.25rem;font-size:1rem;font-weight:600}.patient-condition{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.8125rem}.patient-card-footer{color:var(--color-text-secondary);text-transform:capitalize;justify-content:space-between;font-size:.75rem;display:flex}.patient-id-large{color:var(--color-primary);background:var(--color-primary-light);border-radius:4px;margin-left:.75rem;padding:.125rem .625rem;font-size:.875rem;font-weight:600}.status-badge{text-transform:uppercase;border-radius:999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.status-badge.active{color:#2e7d32;background:#e8f5e9}.status-badge.inactive{color:#757575;background:#f5f5f5}.header-actions{gap:.5rem;display:flex}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;display:grid}.detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.detail-card h2{color:var(--color-primary);margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.detail-card dl{grid-template-columns:auto 1fr;gap:.375rem 1rem;font-size:.875rem;display:grid}.detail-card dt{color:var(--color-text-secondary);font-weight:500}.detail-card dd{color:var(--color-text)}.balance-due{color:var(--color-danger);font-weight:600}.wa-link{color:#25d366;margin-left:.5rem;font-size:.75rem;font-weight:600}.patient-form{max-width:720px}.patient-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem}.patient-form legend{color:var(--color-primary);padding:0 .5rem;font-size:.9375rem;font-weight:600}.form-row{align-items:flex-end;gap:1rem;display:flex}.form-row .form-group{flex:1}.form-row .flex-grow{flex:2}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem 1.25rem;font-size:.875rem;font-weight:500}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius);padding:.625rem 1.25rem;font-size:.875rem;font-weight:500}.btn-danger:hover{background:#fce4ec}.form-error{color:var(--color-danger);border-radius:var(--radius);background:#fce4ec;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.otp-inline{align-items:flex-end;gap:.375rem;padding-bottom:.25rem;display:flex}.otp-input{border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;width:80px;padding:.375rem .5rem;font-size:.875rem}.btn-small{border:1px solid var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius);white-space:nowrap;padding:.375rem .75rem;font-size:.8125rem}.btn-small:hover{background:var(--color-primary);color:#fff}.otp-badge{white-space:nowrap;border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.otp-badge.verified{color:#2e7d32;background:#e8f5e9;font-weight:600}.otp-badge.pending{color:#e65100;background:#fff3e0}.otp-error{color:var(--color-danger);font-size:.75rem}.whatsapp-parse{margin-bottom:1.25rem}.toggle-btn{color:var(--color-primary);border:1px dashed var(--color-primary);border-radius:var(--radius);text-align:left;background:#e8f5e9;width:100%;padding:.625rem 1rem;font-size:.875rem}.toggle-btn:hover{background:#c8e6c9}.parse-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-top:.75rem;padding:1rem}.parse-panel textarea{border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical;width:100%;margin-bottom:.75rem;padding:.625rem;font-size:.875rem}.parse-error{color:var(--color-danger);margin-top:.5rem;font-size:.8125rem}.parse-warning{color:var(--color-accent);margin-top:.5rem;font-size:.8125rem}.status-msg{text-align:center;color:var(--color-text-secondary);padding:2rem;font-size:.9375rem}.status-msg.error{color:var(--color-danger)}.loading{min-height:100vh;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}@media (width<=600px){.form-row{flex-direction:column;gap:0}.detail-grid,.patient-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.dash-header-info h1{margin-bottom:.25rem;font-size:1.5rem}.dash-header-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dash-condition{color:var(--color-text-secondary);font-size:.875rem}.wa-btn{color:#25d366;border-color:#25d366}.wa-btn:hover{background:#e8f5e9}.dash-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.summary-value.small{font-size:.9375rem}.dash-tabs{border-bottom:2px solid var(--color-border);gap:0;margin-bottom:1.25rem;display:flex}.dash-tabs .tab{color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s}.dash-tabs .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.dash-tabs .tab:hover{color:var(--color-text)}.session-timeline{flex-direction:column;display:flex}.timeline-item{border-bottom:1px solid var(--color-border);color:inherit;gap:1rem;padding:1rem 0;transition:background .2s;display:flex}.timeline-item:hover{background:var(--color-bg)}.timeline-item:last-child{border-bottom:none}.timeline-dot{background:var(--color-primary);border-radius:50%;width:12px;min-width:12px;height:12px;margin-top:.25rem}.timeline-content{flex:1}.timeline-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.timeline-date{font-size:.875rem;font-weight:600}.timeline-session{color:var(--color-text-secondary);font-size:.75rem}.timeline-domains{flex-wrap:wrap;gap:.25rem;margin-bottom:.375rem;display:flex}.timeline-milestone{color:var(--color-primary-dark);margin-bottom:.25rem;font-size:.8125rem;font-weight:500}.timeline-home{color:var(--color-text-secondary);font-size:.8125rem}.pay-hist-summary{background:var(--color-bg);border-radius:var(--radius);flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.appt-history{overflow-x:auto}@media (width<=600px){.dash-header{flex-direction:column}.dash-summary{grid-template-columns:repeat(2,1fr)}.dash-tabs{overflow-x:auto}.pay-hist-summary{flex-direction:column;gap:.5rem}}.booking-controls{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.booking-controls .form-group{min-width:160px}.booking-controls input,.booking-controls select{border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem}.view-toggle{border:1px solid var(--color-border);border-radius:var(--radius);display:flex;overflow:hidden}.view-toggle .tab{background:var(--color-surface);color:var(--color-text-secondary);border:none;padding:.5rem 1rem;font-size:.8125rem;font-weight:500}.view-toggle .tab.active{background:var(--color-primary);color:#fff}.booking-msg{border-radius:var(--radius);margin-bottom:1rem;padding:.625rem 1rem;font-size:.875rem}.booking-msg.error{color:var(--color-danger);background:#fce4ec}.booking-msg.success{color:#2e7d32;background:#e8f5e9}.slot-grid-container{margin-bottom:1.5rem}.slot-section{margin-bottom:1rem}.slot-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.8125rem}.slot-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.slot-btn{border-radius:var(--radius);border:2px solid #0000;flex-direction:column;align-items:center;padding:.75rem .5rem;transition:all .2s;display:flex}.slot-btn.available{color:#2e7d32;background:#e8f5e9;border-color:#a5d6a7}.slot-btn.available:hover:not(:disabled){border-color:var(--color-primary);background:#c8e6c9;transform:translateY(-1px)}.slot-btn.booked{color:#e65100;cursor:not-allowed;background:#fff3e0;border-color:#ffcc80}.slot-btn.blocked{color:#9e9e9e;cursor:not-allowed;background:#f5f5f5;border-color:#e0e0e0}.slot-time{font-size:1rem;font-weight:600}.slot-status{text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem;font-size:.6875rem}.slot-legend{color:var(--color-text-secondary);gap:1rem;margin-top:.75rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.25rem;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-dot.available{background:#a5d6a7}.legend-dot.booked{background:#ffcc80}.legend-dot.blocked{background:#e0e0e0}.patient-picker{margin-bottom:1rem;position:relative}.picker-input{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:.625rem .75rem;font-size:.875rem}.picker-input:focus{border-color:var(--color-primary);outline:none}.picker-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--radius) var(--radius);z-index:50;max-height:240px;box-shadow:var(--shadow-md);border-top:none;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.picker-option{cursor:pointer;justify-content:space-between;padding:.5rem .75rem;font-size:.875rem;display:flex}.picker-option:hover{background:var(--color-primary-light)}.picker-name{font-weight:500}.picker-id{color:var(--color-primary);font-size:.75rem}.picker-empty{color:var(--color-text-secondary);text-align:center;padding:.75rem;font-size:.875rem}.patient-picker-selected{background:var(--color-primary-light);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.625rem 1rem;font-size:.875rem;display:flex}.daily-schedule{overflow-x:auto}.schedule-table{border-collapse:collapse;width:100%;font-size:.875rem}.schedule-table th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.625rem .75rem;font-size:.75rem}.schedule-table td{border-bottom:1px solid var(--color-border);padding:.625rem .75rem}.schedule-table tr:hover{background:var(--color-bg)}.time-cell{white-space:nowrap;font-weight:600}.id-cell{color:var(--color-primary);font-size:.8125rem}.actions-cell{gap:.375rem;display:flex}.appt-status{text-transform:uppercase;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.appt-status.confirmed{color:#2e7d32;background:#e8f5e9}.appt-status.completed{color:#1565c0;background:#e3f2fd}.appt-status.cancelled{color:#c62828;background:#fce4ec}.appt-status.no-show{color:#e65100;background:#fff3e0}.appt-status.waiting{color:#7b1fa2;background:#f3e5f5}.appt-status.notified{color:#f57f17;background:#fff8e1}.waitlist-panel{margin-top:1rem}.waitlist-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-top:.75rem;padding:1rem}@media (width<=600px){.slot-grid{grid-template-columns:repeat(3,1fr)}.booking-controls{flex-direction:column}.schedule-table{font-size:.8125rem}.actions-cell{flex-direction:column}}.public-booking{background:var(--color-bg);max-width:480px;min-height:100vh;margin:0 auto;padding:1rem}.public-header{text-align:center;padding:2rem 0 1.5rem}.public-header h1{color:var(--color-primary);margin-bottom:.25rem;font-size:1.5rem}.public-header p{color:var(--color-text-secondary);font-size:.9375rem}.public-error{color:var(--color-danger);border-radius:var(--radius);background:#fce4ec;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.verify-form{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.verify-form h2{margin-bottom:.5rem;font-size:1.125rem}.verify-info{color:var(--color-text-secondary);margin-bottom:1.25rem;font-size:.8125rem}.verified-banner{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius);margin-bottom:1.25rem;padding:.625rem 1rem;font-size:.875rem}.slot-selection h2{margin-bottom:.75rem;font-size:1rem}.date-scroll{-webkit-overflow-scrolling:touch;gap:.375rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.date-chip{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);white-space:nowrap;flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem;transition:all .2s}.date-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.date-chip.sunday{color:var(--color-text-secondary);opacity:.5}.date-chip:hover:not(:disabled):not(.selected){border-color:var(--color-primary)}.public-slot-grid{grid-template-columns:repeat(5,1fr);gap:.375rem;margin-bottom:1rem;display:grid}.pub-slot{border-radius:var(--radius);text-align:center;border:2px solid #0000;padding:.75rem .25rem;font-size:.9375rem;font-weight:600;transition:all .2s}.pub-slot.available{color:#2e7d32;background:#e8f5e9;border-color:#a5d6a7}.pub-slot.available:hover{border-color:var(--color-primary);background:#c8e6c9}.pub-slot.selected{background:var(--color-primary);border-color:var(--color-primary-dark);color:#fff}.pub-slot.unavailable{color:#bdbdbd;cursor:not-allowed;background:#f5f5f5;text-decoration:line-through}.no-slots{text-align:center;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:1.5rem}.no-slots p{color:var(--color-text-secondary);margin-bottom:.75rem}.confirm-section{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius);text-align:center;padding:1rem}.confirm-section p{margin-bottom:.75rem;font-size:.9375rem}.booking-confirmation{text-align:center;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem 1.5rem}.confirm-icon{color:var(--color-primary);margin-bottom:.75rem;font-size:3rem}.booking-confirmation h2{color:var(--color-primary);margin-bottom:1rem;font-size:1.25rem}.confirm-details{text-align:left;margin:1rem 0 1.5rem}.confirm-row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.5rem 0;font-size:.875rem;display:flex}.confirm-row:last-child{border-bottom:none}.confirm-row span{color:var(--color-text-secondary)}.public-footer{text-align:center;color:var(--color-text-secondary);padding:2rem 0 1rem;font-size:.75rem}@media (width<=400px){.public-slot-grid{grid-template-columns:repeat(3,1fr)}}.accounts-filters{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.accounts-filters .form-group{min-width:140px}.accounts-filters input,.accounts-filters select{border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem}.accounts-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;padding:1rem;display:flex}.summary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.75rem}.summary-value{color:var(--color-text);font-size:1.25rem;font-weight:600}.summary-breakdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);grid-column:1/-1;padding:1rem}.summary-breakdown h4{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8125rem}.breakdown-items{flex-wrap:wrap;gap:1.5rem;display:flex}.breakdown-item{flex-direction:column;display:flex}.breakdown-label{color:var(--color-text-secondary);text-transform:capitalize;font-size:.8125rem}.breakdown-value{font-size:1rem;font-weight:600}.payment-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:720px;margin-bottom:1.5rem;padding:1.25rem}.payment-form h2{color:var(--color-primary);margin-bottom:1rem;font-size:1rem}.balance-preview{flex-direction:column;display:flex}.balance-preview span{padding-top:.375rem;font-size:1.125rem;font-weight:600}.payment-list{overflow-x:auto}.location-cell{text-transform:capitalize}.mode-badge{text-transform:uppercase;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.mode-badge.cash{color:#2e7d32;background:#e8f5e9}.mode-badge.gpay{color:#1565c0;background:#e3f2fd}.mode-badge.bank-transfer{color:#7b1fa2;background:#f3e5f5}.mode-badge.other{color:#616161;background:#f5f5f5}@media (width<=600px){.accounts-filters{flex-direction:column}.accounts-summary{grid-template-columns:repeat(2,1fr)}}.notes-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.note-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;padding:1rem;transition:box-shadow .2s;display:block}.note-card:hover{box-shadow:var(--shadow-md)}.note-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.note-date{color:var(--color-primary);font-size:.8125rem;font-weight:600}.note-session-num{color:var(--color-text-secondary);font-size:.75rem}.note-patient{margin-bottom:.5rem;font-size:.9375rem;font-weight:600}.note-domains{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.domain-tag{color:#1565c0;background:#e3f2fd;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.note-card-footer{color:var(--color-text-secondary);justify-content:space-between;font-size:.75rem;display:flex}.alertness-badge{text-transform:uppercase;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.alertness-badge.alert{color:#2e7d32;background:#e8f5e9}.alertness-badge.drowsy{color:#e65100;background:#fff3e0}.alertness-badge.agitated{color:#c62828;background:#fce4ec}.alertness-badge.fluctuating{color:#7b1fa2;background:#f3e5f5}.note-form{max-width:800px}.note-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem}.note-form legend{color:var(--color-primary);padding:0 .5rem;font-size:.9375rem;font-weight:600}.domain-picker{flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;display:flex}.domain-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:999px;padding:.375rem .75rem;font-size:.8125rem;transition:all .2s}.domain-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.domain-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.domain-detail{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.domain-detail h4{color:var(--color-primary);margin-bottom:.5rem;font-size:.875rem}.note-meta{color:var(--color-text-secondary);margin-left:.5rem;font-size:.8125rem}.full-width{grid-column:1/-1}.domain-details{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;display:grid}.domain-block{background:var(--color-bg);border-radius:var(--radius);padding:.75rem}.domain-block h4{color:var(--color-primary);margin-bottom:.375rem;font-size:.875rem}.domain-subs{flex-wrap:wrap;gap:.25rem;margin-bottom:.375rem;display:flex}.domain-note-text{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4}.empty-text{color:var(--color-text-secondary);font-size:.875rem}.capitalize{text-transform:capitalize}@media (width<=600px){.notes-list{grid-template-columns:1fr}.note-form .form-row{flex-direction:column;gap:0}.domain-details{grid-template-columns:1fr}}.protocol-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.protocol-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;padding:1rem;transition:box-shadow .2s;display:block}.protocol-card:hover{box-shadow:var(--shadow-md)}.protocol-card-header{margin-bottom:.5rem}.condition-badge{text-transform:uppercase;letter-spacing:.05em;color:#7b1fa2;background:#f3e5f5;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.condition-badge.large{margin-left:.75rem;padding:.25rem .75rem;font-size:.75rem}.protocol-title{margin-bottom:.5rem;font-size:.9375rem;font-weight:600;line-height:1.3}.protocol-focus{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.focus-tag{color:var(--color-primary);background:#e8f5e9;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.focus-tag.large{padding:.25rem .75rem;font-size:.8125rem}.protocol-steps-count{color:var(--color-text-secondary);font-size:.75rem}.focus-area-list{flex-wrap:wrap;gap:.375rem;margin-bottom:1.5rem;display:flex}.steps-list{counter-reset:step-counter;list-style:none}.step-item{border-bottom:1px solid var(--color-border);counter-increment:step-counter;align-items:flex-start;gap:.75rem;padding:.75rem 0;display:flex}.step-item:before{content:counter(step-counter);background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.8125rem;font-weight:600;display:flex}.step-item:last-child{border-bottom:none}.step-instruction{flex:1;font-size:.875rem;line-height:1.5}.step-duration-badge{color:#1565c0;white-space:nowrap;background:#e3f2fd;border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.watch-out-text{color:var(--color-danger);font-weight:500}.evidence-list{list-style:none}.evidence-list li{border-bottom:1px solid var(--color-border);padding:.375rem 0}.evidence-list li:last-child{border-bottom:none}.evidence-list a{word-break:break-all;font-size:.8125rem}.protocol-form{max-width:800px}.protocol-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem}.protocol-form legend{color:var(--color-primary);padding:0 .5rem;font-size:.9375rem;font-weight:600}.step-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.step-number{color:var(--color-primary);min-width:24px;font-weight:600}.step-duration{width:100px}.btn-remove{border:1px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.btn-remove:hover{color:var(--color-danger);border-color:var(--color-danger);background:#fce4ec}.claude-assistant{background:var(--color-surface);border-radius:var(--radius);border:1px solid #d1c4e9;margin-bottom:1.5rem;padding:1.25rem}.assistant-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.assistant-header h3{color:#5e35b1;font-size:1rem}.assistant-badge{color:#5e35b1;background:#ede7f6;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.assistant-form{flex-direction:column;gap:.5rem;display:flex}.assistant-form textarea{border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical;width:100%;padding:.625rem .75rem;font-size:.875rem}.assistant-form textarea:focus{border-color:#5e35b1;outline:none}.assistant-form .btn{align-self:flex-end;width:auto}.assistant-error{color:var(--color-danger);margin-top:.5rem;font-size:.8125rem}.assistant-answer{border-top:1px solid #d1c4e9;margin-top:1rem;padding-top:1rem}.assistant-answer h4{color:#5e35b1;margin-bottom:.5rem;font-size:.875rem}.answer-content{color:var(--color-text);font-size:.875rem;line-height:1.6}.answer-content p{margin-bottom:.5rem}.answer-content p:empty{display:none}@media (width<=600px){.protocol-grid{grid-template-columns:1fr}.step-row{flex-wrap:wrap}.step-duration{width:100%}}.period-select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.5rem .75rem;font-size:.875rem}.live-data-notice{color:#f57f17;border-radius:var(--radius);background:#fff8e1;margin-bottom:1.25rem;padding:.5rem 1rem;font-size:.8125rem}.analytics-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;padding:1.25rem;display:flex}.kpi-card.primary{border-color:var(--color-primary);background:var(--color-primary-light)}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.75rem}.kpi-value{color:var(--color-text);font-size:1.5rem;font-weight:700}.kpi-card.primary .kpi-value{color:var(--color-primary-dark)}.analytics-breakdowns{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.25rem;display:grid}.breakdown-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.breakdown-card h2{color:var(--color-primary);margin-bottom:1rem;font-size:.9375rem}.bar-chart{flex-direction:column;gap:.75rem;display:flex}.bar-row{align-items:center;gap:.75rem;display:flex}.bar-label{min-width:100px;font-size:.8125rem;font-weight:500}.bar-track{background:var(--color-bg);border-radius:4px;flex:1;height:24px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .3s}.bar-fill.location{background:var(--color-primary)}.bar-fill.mode{background:#5e35b1}.bar-value{text-align:right;min-width:120px;font-size:.8125rem;font-weight:600}@media (width<=600px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-breakdowns{grid-template-columns:1fr}.bar-label{min-width:70px;font-size:.75rem}.bar-value{min-width:80px;font-size:.75rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#2a7d4f;--color-primary-light:#e8f5e9;--color-primary-dark:#1b5e3b;--color-accent:#ff9800;--color-danger:#d32f2f;--color-text:#212121;--color-text-secondary:#757575;--color-bg:#fafafa;--color-surface:#fff;--color-border:#e0e0e0;--radius:8px;--shadow:0 1px 3px #0000001f;--shadow-md:0 4px 6px #0000001a}html{font-size:16px}body{color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-primary);text-decoration:none}
