:root{--primary: #4F6BED;--primary-dark: #3A51C7;--primary-light: #EEF1FD;--bg: #D0D8E8;--bg-card: #FFFFFF;--sidebar-bg: linear-gradient(180deg, #1E293B 0%, #0F172A 100%);--sidebar-text: #94A3B8;--sidebar-active: #60A5FA;--sidebar-active-bg: rgba(96,165,250,.12);--text: #1E293B;--text-secondary: #64748B;--border: #E2E8F0;--danger: #EF4444;--success: #10B981;--warning: #F59E0B;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-lg: 0 10px 25px rgba(0,0,0,.1), 0 4px 10px rgba(0,0,0,.05);--gum-pink: #FDE8E8;--tooth-bg: #F5E6E0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh}.sidebar{width:280px;background:linear-gradient(180deg,#1e293b,#0f172a);color:var(--sidebar-text);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;border-right:none}.sidebar-brand{padding:20px 18px;display:flex;align-items:center;gap:12px}.brand-text-wrap{display:flex;flex-direction:column;line-height:1.1}.brand-text{font-size:20px;font-weight:700;color:#60a5fa;letter-spacing:.5px}.brand-plus{color:#93c5fd}.brand-sub{font-size:9px;color:#64748b;letter-spacing:1.5px;font-weight:500;text-transform:uppercase}.branch-selector{display:flex;align-items:center;gap:8px;padding:6px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.branch-select{flex:1;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 10px;font-size:13px;color:#cbd5e1;background:#ffffff0f;outline:none}.branch-menu-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px;cursor:pointer;color:#64748b;display:flex;align-items:center}.branch-menu-btn:hover{color:#e2e8f0;border-color:#60a5fa}.sidebar-nav{padding:6px 0;flex:1;overflow-y:auto}.nav-section{padding:2px 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:0;color:var(--sidebar-text);font-size:14px;transition:all .15s;text-decoration:none;border-left:3px solid transparent;margin:0 0 0 -1px}.nav-item:hover{background:#60a5fa1f;color:#e2e8f0;text-decoration:none}.nav-item.active{background:#60a5fa2e;color:#60a5fa;font-weight:500;border-left-color:#60a5fa}.nav-icon-svg{flex-shrink:0}.nav-label{white-space:nowrap;font-size:14px}.nav-section-divider{padding:18px 20px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:#475569;opacity:1}.sidebar-footer{padding:8px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:center}.logout-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:6px}.logout-btn:hover{color:#f87171;background:#ef444426}.main-area{margin-left:280px;flex:1;display:flex;flex-direction:column;min-height:100vh}.top-bar{height:50px;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:50}.search-form{display:flex;align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;padding:0 10px;width:240px}.search-svg{color:var(--text-secondary);flex-shrink:0}.search-input{border:none;background:none;outline:none;padding:7px 8px;font-size:13px;color:var(--text);width:100%}.top-bar-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.top-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:4px;background:none;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.top-btn:hover{color:var(--primary)}.top-btn-accent{color:var(--danger)}.top-btn-accent:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--danger);margin-right:2px}.top-bar-sep{width:1px;height:24px;background:var(--border);margin:0 4px}.top-icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center}.top-icon-btn:hover{color:var(--primary);background:var(--primary-light)}.top-user-name{font-size:13px;font-weight:500;color:var(--text);margin-left:4px}.page-content{padding:24px;flex:1}.page-title{font-size:22px;font-weight:600;margin-bottom:20px;color:var(--text)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--primary)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-icon{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:16px;border-radius:4px;transition:background .15s}.btn-icon:hover{background:var(--bg)}.table-wrap{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);background:#f8fafc;border-bottom:1px solid var(--border)}.data-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #F1F5F9}.data-table tbody tr:last-child td{border-bottom:none}.data-table-wrap{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.data-table tbody tr{cursor:default;transition:background .1s}.data-table tbody tr:hover{background:#f8fafe}.link-cell{color:var(--primary);font-weight:500;cursor:pointer}.link-cell:hover{text-decoration:underline}.text-bold{font-weight:600}.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover{background:var(--primary-light)}.patient-name{font-weight:500}.card-number{color:var(--primary);font-weight:500}.empty-row{text-align:center;color:var(--text-secondary);padding:40px 16px!important}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-active{background:#e8f5e9;color:#2e7d32}.status-completed,.status-confirmed{background:#e3f2fd;color:#1565c0}.status-planned{background:#fff3e0;color:#e65100}.status-cancelled{background:#ffebee;color:#c62828}.page-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:16px}.page-tab{padding:10px 20px;background:none;border:none;font-size:14px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.page-tab:hover{color:var(--primary)}.page-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.records-count{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.row-action-menu{position:absolute;right:0;top:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;min-width:160px;padding:4px 0}.row-action-menu button{display:block;width:100%;text-align:left;padding:8px 16px;border:none;background:none;font-size:13px;cursor:pointer;color:var(--text)}.row-action-menu button:hover{background:#f5f7fa}.row-action-menu button.danger{color:#c62828}.row-action-menu button.danger:hover{background:#ffebee}.complexes-list{display:flex;flex-direction:column;gap:2px}.complex-bullet{display:flex;align-items:baseline;gap:6px;font-size:13px}.complex-bullet .bullet{font-size:8px;color:#90a4ae}.column-settings-list{display:flex;flex-direction:column;gap:8px;padding:8px 0}.column-setting-item{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;padding:4px 0}.page-header-actions{display:flex;gap:8px;align-items:center}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);font-size:13px;cursor:pointer}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.cashbox-date-row{margin-bottom:20px}.cashbox-date-row label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.cashbox-date-input{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;max-width:300px}.cashbox-date-input input{border:none;outline:none;font-size:14px;color:var(--text);flex:1;background:none}.cashbox-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.cashbox-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.cashbox-card-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.cashbox-card-value{font-size:18px;font-weight:600;color:var(--text)}.cashbox-actions{display:flex;gap:12px;margin-bottom:24px}.cashbox-action-btn{padding:10px 24px;border:1px solid var(--primary);border-radius:var(--radius);background:#fff;color:var(--primary);font-size:14px;cursor:pointer;transition:all .15s}.cashbox-action-btn:hover{background:var(--primary);color:#fff}.cashbox-kkm{background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.cashbox-kkm-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--primary);color:#fff;border-radius:var(--radius) var(--radius) 0 0;font-size:14px;font-weight:500}.kkm-toggle{font-size:12px}.cashbox-kkm-body{padding:16px}.kkm-label{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.cashbox-kkm-actions{display:flex;gap:12px}.discount-desc{font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.discount-form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px}.discount-form-card h3{font-size:16px;margin-bottom:14px}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:20px;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px}.icon-btn:hover{color:var(--primary);background:var(--primary-light)}.icon-btn-danger:hover{color:var(--danger);background:#fee2e2}.inline-input{border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:13px;outline:none;width:100%}.inline-input:focus{border-color:var(--primary)}.pagination{display:flex;align-items:center;gap:4px;padding:12px 0}.pagination-btn{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);font-size:13px;cursor:pointer}.pagination-btn:hover{border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-dots{font-size:13px;color:var(--text-secondary);padding:0 4px}.pagination-info{font-size:13px;color:var(--text-secondary);margin-left:auto}.pagination-select{border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:13px;margin-left:6px}.page-subtitle{font-size:14px;color:var(--text-secondary);font-weight:400}.filter-bar{display:flex;gap:12px;margin-bottom:16px}.filter-input{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;outline:none;transition:border-color .15s}.filter-input:focus{border-color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .15s}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:560px;max-height:85vh;overflow-y:auto;padding:24px;animation:slideUp .2s}.condition-modal{max-width:960px;width:95vw;max-height:92vh}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:28px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.modal-close:hover{color:var(--text)}.modal-divider{height:1px;background:var(--border);margin:0 -24px 16px}.tooth-badge{background:var(--primary-light);color:var(--primary);font-size:13px;padding:2px 10px;border-radius:10px;font-weight:500}.conditions-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.condition-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;cursor:pointer;transition:background .1s}.condition-item:hover{background:#f8fafc}.condition-item.active{background:var(--primary-light)}.condition-circle{width:20px;height:20px;border-radius:50%;flex-shrink:0}.condition-name-group{flex:1;display:flex;align-items:center;gap:3px;min-width:0}.condition-label{font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.condition-code{font-size:12px;color:var(--text-secondary);flex-shrink:0}.norm-label{color:var(--primary);font-weight:500}.condition-item-actions{display:flex;gap:2px;flex-shrink:0}.condition-item-actions button{background:none;border:none;cursor:pointer;padding:3px 4px;border-radius:4px;color:var(--text-secondary);display:flex;align-items:center;line-height:1}.condition-item-actions button:hover{background:var(--border);color:var(--text)}.apply-whole-wrap{display:flex;align-items:center;gap:8px;padding:6px 0 10px;font-size:14px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.apply-whole-wrap input[type=checkbox]{width:16px;height:16px;cursor:pointer}.condition-edit-row{display:flex;align-items:center;gap:6px;padding:4px 8px;grid-column:1 / -1}.condition-color-picker{width:32px;height:28px;border:none;border-radius:4px;cursor:pointer;padding:2px;flex-shrink:0}.condition-edit-input{flex:1;border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px;outline:none}.condition-edit-input:focus{border-color:var(--primary)}.condition-add-form{display:flex;align-items:center;gap:8px;padding:12px 0 4px;border-top:1px solid var(--border);margin-top:8px}.condition-add-input{flex:1;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;outline:none}.condition-add-input:focus{border-color:var(--primary)}.cond-btn-ok{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.cond-btn-ok:disabled{opacity:.5;cursor:default}.cond-btn-ok:hover:not(:disabled){background:var(--primary-dark, #039BE5)}.cond-btn-cancel{background:none;border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.cond-btn-cancel:hover{border-color:var(--text-secondary);color:var(--text)}.modal-footer-conditions{display:flex;align-items:center;padding-top:12px;margin-top:4px;border-top:1px solid var(--border)}.selected-conditions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 0 12px}.selected-label{font-size:13px;color:var(--text-secondary);margin-right:4px}.selected-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.selected-tag button{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0;line-height:1;opacity:.8}.selected-tag button:hover{opacity:1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;outline:none;font-family:inherit;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group textarea{min-height:80px;resize:vertical}.form-actions{grid-column:1 / -1;display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .15s}.stat-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}.stat-icon{font-size:32px}.stat-value{font-size:28px;font-weight:700;color:var(--text)}.stat-label{font-size:14px;color:var(--text-secondary)}.breadcrumb{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.breadcrumb a{color:var(--primary)}.breadcrumb-sep{margin:0 8px;color:var(--text-secondary)}.patient-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:16px}.patient-card-header{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;display:flex;align-items:center;gap:16px;margin-bottom:16px}.patient-avatar{width:52px;height:52px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;flex-shrink:0}.patient-main-info h2{font-size:18px;font-weight:600;margin-bottom:2px}.gender-badge{color:var(--text-secondary);font-weight:400;font-size:15px}.patient-sub{display:flex;gap:8px;font-size:14px;color:var(--text-secondary)}.patient-source{font-size:13px;color:var(--text-secondary);font-style:italic;margin-top:2px}.patient-contact{margin-left:auto}.phone-link{font-size:15px;font-weight:500;color:var(--primary)}.info-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.info-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.info-row{display:flex;justify-content:space-between;padding:4px 0}.info-label{font-size:13px;color:var(--text-secondary)}.info-value{font-size:13px;font-weight:500;color:var(--text)}.info-detail-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.info-detail-grid .info-row{padding:8px 0;border-bottom:1px solid #F1F5F9}.detail-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px;overflow-x:auto}.detail-tab{padding:10px 18px;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;margin-bottom:-2px;transition:all .15s}.detail-tab:hover{color:var(--text)}.detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-planned{background:#fef3c7;color:#92400e}.status-completed{background:#d1fae5;color:#065f46}.status-cancelled{background:#fee2e2;color:#991b1b}.dental-formula{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 16px}.formula-tabs{display:flex;justify-content:center;gap:0;margin-bottom:28px}.formula-tab{padding:10px 28px;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border:2px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.formula-tab:first-child{border-radius:20px 0 0 20px}.formula-tab:last-child{border-radius:0 20px 20px 0}.formula-tab:not(:first-child){border-left:none}.formula-tab:hover{border-color:var(--primary);color:var(--primary)}.formula-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.jaw-section{margin-bottom:4px}.jaw-row{display:flex;justify-content:center;align-items:flex-start}.jaw-half{display:flex;gap:6px}.jaw-divider{width:2px;background:var(--border);align-self:stretch;margin:0 10px;min-height:160px;opacity:.4}.jaw-separator{border-top:2px dashed var(--border);margin:16px 40px;opacity:.4}.tooth-cell{display:flex;flex-direction:column;align-items:center;width:55px;cursor:pointer;overflow:hidden}.tooth-cell:hover{background:#0000000a;border-radius:6px}.tooth-cell:hover .tooth-number{color:var(--primary)}.tooth-number{font-size:13px;font-weight:600;color:#90a4ae;margin:4px 0;transition:color .15s;width:100%;text-align:center}.tooth-number.has-cond{color:var(--primary)}.tooth-svg-wrap{width:55px;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden}.tooth-surface-wrap{cursor:pointer}.tooth-xray-indicator{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;margin-top:2px;color:#9e9e9e;transition:color .15s}.tooth-xray-indicator:hover{color:var(--primary, #2196F3)}.tooth-xray-badge{position:absolute;top:-4px;right:-8px;background:#2196f3;color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0 3px}.tooth-xray-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.tooth-xray-modal{background:#fff;border-radius:12px;width:480px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.tooth-xray-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.tooth-xray-modal-header h3{margin:0;font-size:16px;font-weight:600}.tooth-xray-modal-close{background:none;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px}.tooth-xray-modal-close:hover{background:#f5f5f5;color:#333}.tooth-xray-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.xray-upload-section{display:flex;flex-direction:column;gap:12px;padding:0 0 16px}.xray-upload-row{display:flex;align-items:center;gap:10px}.xray-upload-label{font-size:13px;font-weight:600;color:#475569;min-width:55px}.xray-file-input-label{cursor:pointer;flex:1}.xray-file-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:2px dashed #CFD8DC;border-radius:8px;text-align:center;color:#546e7a;font-size:13px;transition:all .2s;width:100%;box-sizing:border-box}.xray-file-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.xray-file-btn-image{border-color:#81d4fa}.xray-file-btn-file{border-color:#b0bec5;border-style:dashed}.xray-upload-preview{position:relative;width:100%;max-height:220px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.xray-upload-preview img{width:100%;max-height:220px;object-fit:contain;background:#f8fafc;display:block}.xray-preview-remove{position:absolute;top:6px;right:6px;background:#00000080;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;padding:0}.xray-preview-remove:hover{background:#000000b3}.xray-attachment-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f1f5f9;border-radius:6px;font-size:13px;color:#475569}.xray-attachment-info .xray-preview-remove{position:static;background:#94a3b8;width:20px;height:20px;flex-shrink:0}.xray-item-file-icon{width:60px;height:50px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:6px;color:#94a3b8;flex-shrink:0}.xray-desc-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;transition:border-color .15s}.xray-desc-input:focus{border-color:var(--primary, #2196F3)}.xray-divider{height:1px;background:#e2e8f0;margin:0 0 8px}.tooth-xray-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:var(--primary, #2196F3);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s;width:100%}.tooth-xray-add-btn:hover{opacity:.9}.tooth-xray-add-btn:disabled{opacity:.5;cursor:not-allowed}.tooth-xray-list{display:flex;flex-direction:column;gap:10px}.tooth-xray-empty{text-align:center;color:#999;font-size:13px;padding:20px 0}.xray-item{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fafbfc}.xray-item-preview{width:80px;height:60px;border-radius:6px;overflow:hidden;cursor:pointer;flex-shrink:0}.xray-item-preview img{width:100%;height:100%;object-fit:cover}.xray-item-preview:hover{opacity:.8}.tooth-xray-file-link{flex-shrink:0;width:80px;height:60px;border-radius:6px;background:#e3f2fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#1976d2;text-decoration:none;font-size:10px}.xray-item-info{flex:1;min-width:0}.xray-item-name{font-weight:500;font-size:13px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xray-item-desc{font-size:12px;color:#64748b;margin-top:2px}.xray-item-date{font-size:11px;color:#94a3b8;margin-top:2px}.xray-item-actions{display:flex;gap:6px;flex-shrink:0}.tooth-xray-download-btn{flex-shrink:0;background:none;border:none;cursor:pointer;color:#64748b;padding:4px;border-radius:4px}.tooth-xray-download-btn:hover{background:#e3f2fd;color:#1976d2}.tooth-xray-delete-btn{flex-shrink:0;background:none;border:none;cursor:pointer;color:#e57373;padding:4px;border-radius:4px}.tooth-xray-delete-btn:hover{background:#ffebee;color:#c62828}.xray-viewer-overlay{position:fixed;inset:0;background:#000000d9;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer}.xray-viewer-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;cursor:default}.xray-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#00000080;border-radius:8px 8px 0 0;color:#fff;font-size:14px}.xray-viewer-actions{display:flex;align-items:center;gap:8px}.xray-viewer-download-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:background .15s}.xray-viewer-download-btn:hover{background:#ffffff1a}.xray-viewer-close{background:none;border:none;color:#fff;cursor:pointer;padding:0 4px;display:flex;align-items:center}.xray-viewer-close:hover{opacity:.7}.xray-viewer-img{max-width:90vw;max-height:calc(90vh - 50px);object-fit:contain;border-radius:0 0 8px 8px}.gum-section{margin-top:20px;background:var(--tooth-bg);border-radius:var(--radius);padding:16px;min-height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.gum-section:hover{background:#f0d8d0}.gum-section-label{font-size:13px;color:var(--text-secondary);font-weight:500}.calendar-page{display:flex;flex-direction:column;height:calc(100vh - 104px)}.cal-staff-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:0}.cal-staff-tab{padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-2px;transition:all .15s}.cal-staff-tab:hover{color:var(--text)}.cal-staff-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.cal-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 0;flex-wrap:wrap;gap:10px}.cal-controls-left{display:flex;align-items:center;gap:6px}.cal-view-label{font-size:14px;color:var(--text-secondary);margin-right:4px}.cal-view-btn{padding:5px 12px;font-size:13px;border:1px solid var(--border);background:var(--bg-card);color:var(--primary);border-radius:4px;cursor:pointer;text-decoration:underline;transition:all .15s}.cal-view-btn:hover{background:var(--primary-light)}.cal-view-btn.active{background:var(--primary-light);font-weight:600;border-color:var(--primary)}.cal-controls-right{display:flex;align-items:center;gap:8px}.cal-doc-count{font-size:13px;color:var(--text-secondary);padding:5px 12px;background:var(--bg);border-radius:4px;border:1px solid var(--border)}.cal-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-card);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.cal-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.cal-date-display{font-size:14px;font-weight:500;color:var(--text);padding:5px 12px;cursor:pointer;border:1px solid var(--border);border-radius:4px;background:var(--bg-card)}.cal-date-display:hover{border-color:var(--primary)}.cal-new-btn{border-radius:20px;padding:8px 20px;font-size:13px;gap:6px}.cal-grid-wrap{flex:1;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.cal-grid{min-width:600px}.cal-header{display:none}.cal-date-row{display:flex;border-bottom:1px solid var(--border)}.cal-time-col{width:60px;flex-shrink:0}.cal-doc-col-header{flex:1;padding:10px 12px;color:#fff;font-size:13px;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px}.cal-doc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cal-body{display:flex;position:relative}.cal-time-labels{width:60px;flex-shrink:0}.cal-time-label{height:48px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary);border-bottom:1px solid #f1f5f9;border-right:1px solid var(--border)}.cal-columns{flex:1;display:flex}.cal-column{flex:1;position:relative;border-right:1px solid #f1f5f9;min-height:1008px}.cal-column:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 47px,#f1f5f9 47px,#f1f5f9 48px);pointer-events:none}.cal-column:last-child{border-right:none}.cal-visit{position:absolute;left:2px;right:2px;border-radius:4px;padding:3px 6px;color:#fff;font-size:11px;cursor:pointer;overflow:hidden;z-index:2;transition:opacity .15s;display:flex;flex-direction:column;gap:1px}.cal-visit:hover{opacity:.85}.cal-visit-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-visit-time{font-size:10px;opacity:.85}.service-category{margin-bottom:20px}.category-title{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text)}.empty-state{text-align:center;padding:40px;color:var(--text-secondary);font-size:15px}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.placeholder-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;color:var(--text-secondary)}.placeholder-card h3{font-size:18px;margin:16px 0 8px;color:var(--text)}.placeholder-card p{font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e3f2fd,#edf2f7);padding:20px}.login-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:400px}.login-brand{text-align:center;margin-bottom:32px}.login-icon{font-size:48px;display:block;margin-bottom:8px}.login-brand h1{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}.login-brand p{font-size:14px;color:var(--text-secondary)}.login-form .form-group{margin-bottom:16px}.login-form .form-group input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;outline:none;transition:border-color .15s}.login-form .form-group input:focus{border-color:var(--primary)}.login-error{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.login-btn{width:100%;padding:12px;font-size:16px;justify-content:center}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-hint{text-align:center;margin-top:16px;font-size:13px;color:var(--text-secondary)}.mobile-close{display:none;background:none;border:none;color:var(--sidebar-text);cursor:pointer;padding:4px}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;color:var(--text)}.patient-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.patient-top-row .breadcrumb,.patient-top-row .patient-actions{margin-bottom:0}.patient-badges{display:flex;gap:6px;margin-bottom:2px}.badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600}.badge-primary{background:var(--primary);color:#fff}.info-panels.two-col{grid-template-columns:1fr 1fr}.info-label-lg{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.info-value-lg{font-size:14px;font-weight:500;color:var(--text)}.tab-actions{display:flex;align-items:center;gap:12px;margin-bottom:16px}.records-count{font-size:13px;color:var(--text-secondary)}.visit-date{font-size:14px;color:var(--primary);font-weight:500}.visit-doctor{font-size:12px;color:var(--text-secondary)}.mobile-overlay{position:fixed;inset:0;background:#0006;z-index:99}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.settings-section-title{font-size:16px;font-weight:600;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.success-msg{background:#d1fae5;color:#065f46;padding:10px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.report-title{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.report-rows{display:flex;flex-direction:column;gap:0}.report-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #F1F5F9}.report-row:last-child{border-bottom:none}.report-label{font-size:14px;color:var(--text-secondary)}.report-value{font-size:14px;font-weight:600;color:var(--text)}@media(max-width:1024px){.sidebar{width:56px}.sidebar .nav-label,.sidebar .brand-text-wrap,.sidebar .nav-section-divider,.sidebar .branch-selector{display:none}.sidebar .nav-item{justify-content:center;padding:10px;border-left:none}.sidebar-brand{justify-content:center;padding:12px 8px}.sidebar-footer{justify-content:center}.logout-btn{display:flex}.main-area{margin-left:56px}.info-panels,.settings-grid,.reports-grid,.info-panels.two-col{grid-template-columns:1fr}.jaw-half{gap:3px}.tooth-cell,.tooth-svg-wrap{width:50px}.tooth-number{font-size:12px;margin:5px 0}.jaw-divider{min-height:140px;margin:0 6px}.jaw-separator{margin:12px 20px}}@media(max-width:768px){.sidebar{position:fixed;width:260px;transform:translate(-100%);transition:transform .25s;z-index:100}.sidebar.open{transform:translate(0)}.sidebar .nav-label,.sidebar .brand-text,.sidebar .nav-section-divider,.sidebar .user-info{display:block}.sidebar .nav-item{justify-content:flex-start;padding:10px 12px}.sidebar-brand{justify-content:flex-start;padding:20px 16px}.sidebar-footer{justify-content:space-between}.mobile-close{display:block;margin-left:auto}.logout-btn,.hamburger{display:flex}.main-area{margin-left:0}.top-user-name{display:none}.search-form{width:auto;flex:1}.top-bar-actions .top-btn span{display:none}.page-content{padding:16px}.patient-card-header{flex-direction:column;align-items:flex-start}.patient-contact{margin-left:0;margin-top:8px}.patient-actions{flex-wrap:wrap}.form-grid,.conditions-grid{grid-template-columns:1fr}.jaw-row{overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.tooth-cell{width:46px;min-width:46px}.tooth-svg-wrap{width:46px}.tooth-number{font-size:11px;margin:4px 0}.jaw-half{gap:3px}.jaw-divider{min-height:120px;margin:0 4px}.jaw-separator{margin:10px}}.payments-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:4px}.payment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}.payment-card-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin-bottom:6px}.payment-card-value{font-size:18px;font-weight:700;color:var(--text)}.payment-card-value.paid{color:#2e7d32}.payment-card-value.debt{color:var(--danger)}.deposit-header{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:16px}.deposit-balance-block{flex:1}.deposit-balance-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.deposit-balance-value{font-size:24px;font-weight:700;color:var(--primary)}.deposit-actions-row{display:flex;gap:8px}.deposit-form-inline{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:16px}.deposit-form-inline h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--text)}.form-inline-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.form-inline-row .form-group{margin-bottom:0;flex:1;min-width:180px}.form-inline-row .form-actions{margin-top:0;display:flex;gap:8px}.totals-row td{background:#f8fafc;border-top:2px solid var(--border)!important}.text-success{color:#2e7d32}.text-danger{color:var(--danger)}.activity-active{color:#2e7d32;font-weight:500}.activity-new{color:var(--primary);font-weight:500}.activity-lost{color:var(--text-secondary)}.btn-sm{padding:4px 12px!important;font-size:12px!important}.cashbox-op-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:16px}.cashbox-op-form h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--text)}.cashbox-ops-section{margin-top:16px}.cashbox-section-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:10px}.cashbox-report-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:4px}.cashbox-report-controls .form-group{margin-bottom:0}.cashbox-card-value.paid{color:#2e7d32}.cashbox-card-value.danger{color:var(--danger)}.cashbox-currency{font-size:12px;font-weight:400;color:var(--text-secondary)}.formula-reset-btn{margin-left:auto;padding:5px 14px;font-size:12px;font-weight:500;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .15s}.formula-reset-btn:hover{border-color:var(--danger);color:var(--danger)}@media(max-width:768px){.payments-summary{grid-template-columns:1fr 1fr}.deposit-header{flex-direction:column;gap:12px;align-items:flex-start}.form-inline-row{flex-direction:column}}.modal-visit{max-width:740px;width:100%;max-height:90vh;display:flex;flex-direction:column}.visit-modal-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 24px}.visit-modal-tab{padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all .15s}.visit-modal-tab:hover{color:var(--primary)}.visit-modal-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.visit-modal-body{padding:20px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.visit-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border)}.visit-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visit-form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.visit-patient-row{display:flex;gap:12px;align-items:flex-end}.btn-create-patient{white-space:nowrap;flex-shrink:0;align-self:flex-end;padding:8px 16px;font-size:13px}.time-input-wrap{display:flex;align-items:center;position:relative}.time-input-wrap input{flex:1;padding-right:28px}.time-clear-btn{position:absolute;right:6px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);line-height:1;padding:0}.time-clear-btn:hover{color:var(--danger)}.duration-input{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.duration-input input{border:none;border-radius:0;flex:1;text-align:center;outline:none;min-width:0}.duration-btns{display:flex;flex-direction:column;border-left:1px solid var(--border)}.duration-btns button{background:var(--bg);border:none;border-bottom:1px solid var(--border);cursor:pointer;padding:0 8px;font-size:13px;line-height:1.6;transition:background .1s}.duration-btns button:last-child{border-bottom:none}.duration-btns button:hover{background:var(--primary-light);color:var(--primary)}.crm-tabs{flex-wrap:wrap}.btn-filter-active{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.crm-active-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 14px}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:var(--primary-light);color:var(--primary-dark);border:1px solid var(--primary);border-radius:14px;font-size:12px;font-weight:500}.filter-chip button{display:inline-flex;align-items:center;background:none;border:none;color:var(--primary-dark);cursor:pointer;padding:0 2px;opacity:.7}.filter-chip button:hover{opacity:1;color:var(--danger)}.filter-chip-clear{background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;text-decoration:underline}.filter-chip-clear:hover{color:var(--danger)}.kanban-card{cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card-dragging{opacity:.4;box-shadow:0 8px 20px #00000026}.kanban-col{min-height:180px;transition:background .15s,outline .15s}.kanban-col-active{background:#4f6bed0a;outline:2px dashed rgba(79,107,237,.3);outline-offset:-2px;border-radius:10px}.kanban-col-drop{background:#4f6bed1f;outline:2px dashed var(--primary);outline-offset:-2px;border-radius:10px}.kanban-col-active .kanban-card{pointer-events:none}.kanban-col-active .kanban-card-dragging{pointer-events:auto}.crm-stub-tab{margin-top:18px}.crm-stub-head h3{font-size:18px;font-weight:700;color:var(--text);margin:0 0 4px}.crm-stub-head p{color:var(--text-secondary);font-size:14px;margin:0 0 18px}.crm-stub-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px}.crm-stat-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;padding:14px 16px}.crm-stat-val{font-size:22px;font-weight:700;color:var(--text);line-height:1}.crm-stat-lbl{font-size:12px;color:var(--text-secondary);margin-top:4px}.crm-stub-list{display:flex;flex-direction:column;gap:6px}.crm-stub-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:background .15s}.crm-stub-row:hover{background:var(--primary-light)}.crm-stub-name{font-size:13px;font-weight:600;color:var(--text)}.crm-stub-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.crm-stub-date{font-size:12px;color:var(--text-secondary)}.crm-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px}.crm-settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.crm-settings-card h4{font-size:14px;font-weight:600;color:var(--text);margin:0 0 10px}.crm-settings-card ul{list-style:none;margin:0;padding:0;font-size:13px;color:var(--text)}.crm-settings-card li{padding:4px 0;display:flex;align-items:center;gap:6px}.crm-settings-card code{background:var(--bg);padding:1px 6px;border-radius:4px;font-size:11px;color:var(--text-secondary)}.crm-search-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.crm-search{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;width:220px;outline:none;transition:border-color .15s}.crm-search:focus{border-color:var(--primary)}.crm-kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.kanban-col{min-width:200px;width:200px;flex-shrink:0;background:#f8fafc;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:3px solid var(--border);background:var(--bg-card)}.kanban-count{font-size:12px;color:var(--text-secondary);background:var(--bg);border-radius:10px;padding:1px 8px}.kanban-card{margin:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;cursor:pointer;transition:box-shadow .15s}.kanban-card:hover{box-shadow:0 2px 8px #00000014}.kanban-card-name{font-size:13px;font-weight:600;color:var(--primary);margin-bottom:3px}.kanban-card-phone{font-size:12px;color:var(--text-secondary);margin-bottom:3px}.kanban-card-reason{font-size:12px;color:var(--text);margin-bottom:3px}.kanban-card-date{font-size:11px;color:var(--primary)}.kanban-stage-select{width:100%;margin-top:6px;font-size:11px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-secondary);cursor:pointer}.crm-lead-actions{white-space:nowrap}.text-primary{color:var(--primary)}.crm-pagination{display:flex;align-items:center;gap:4px;margin-top:16px;flex-wrap:wrap}.crm-page-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--border);background:var(--bg-card);border-radius:4px;font-size:13px;cursor:pointer;transition:all .15s}.crm-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.crm-page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-page-btn:disabled{opacity:.4;cursor:not-allowed}.crm-page-ellipsis{font-size:13px;color:var(--text-secondary);padding:0 4px}.crm-page-info{font-size:13px;color:var(--text-secondary);margin-left:8px}.crm-page-info select{margin-left:4px;font-size:13px;border:1px solid var(--border);border-radius:4px;padding:2px 4px}.staff-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.staff-modal{max-width:780px;width:95vw}.permissions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 16px;padding:4px 16px;background:#fafafa;border-radius:4px}@media(max-width:700px){.permissions-grid{grid-template-columns:1fr}}.form-select{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.form-select:focus{outline:none;border-color:var(--primary)}.visit-detail-page{padding:0}.breadcrumb{padding:12px 24px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;background:#fff;border-bottom:1px solid var(--border)}.breadcrumb a{color:var(--primary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.visit-detail-tabs{display:flex;border-bottom:2px solid var(--border);background:#fff;padding:0 24px}.visit-detail-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:all .15s}.visit-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.visit-detail-tab:hover:not(.active){color:var(--text-primary)}.visit-detail-body{padding:20px 24px;max-width:900px}.btn-start-visit{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:background .15s}.btn-start-visit:hover{background:#0086c3}.btn-fill-anamnesis{width:100%;padding:12px;background:none;color:var(--primary);border:1.5px solid var(--primary);border-radius:8px;font-size:14px;cursor:pointer;margin:8px 0 20px;transition:all .15s}.btn-fill-anamnesis:hover{background:#e3f6ff}.visit-main-fields{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}.visit-field-group{display:flex;flex-direction:column;gap:4px;min-width:140px}.visit-field-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.visit-field-group input,.visit-field-group select,.visit-field-group textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff;width:100%}.visit-field-group.wide{flex:1;min-width:200px}.visit-field-group.full-width{flex:1 0 100%}.visit-section{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;overflow:hidden}.visit-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--primary);color:#fff;font-weight:600;font-size:13px;cursor:pointer;border:none;width:100%;text-align:left}.visit-section-body{padding:14px 16px;background:#fff}.visit-section-body textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:10px;font-size:13px;resize:vertical;font-family:inherit}.textarea-mic-icon{position:absolute;right:10px;bottom:10px;color:#bbb;pointer-events:none}.visit-tooth-section{border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.visit-formula-row{display:flex;gap:4px;justify-content:center;flex-wrap:nowrap;overflow:visible;padding:14px 4px}.visit-tooth{cursor:pointer;padding:3px;border-radius:4px;border:2px solid transparent;transition:transform .15s,background .15s,border-color .15s;position:relative}.visit-tooth:hover{background:#e3f6ff;border-color:var(--primary);transform:scale(1.18);z-index:2}.visit-tooth.selected{background:#cce9f8;border-color:var(--primary)}.tooth-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#e3f6ff;color:var(--primary);border-radius:12px;font-size:12px;font-weight:600}.plan-detail-modal{background:#fff;border-radius:12px;width:96vw;max-width:1200px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #0000002e;overflow:hidden}.plan-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.plan-detail-header h2{font-size:18px;font-weight:600;color:var(--text);margin:0}.plan-last-modified{font-size:11px;color:var(--text-secondary);margin-top:4px}.plan-detail-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.plan-detail-footer{display:flex;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid var(--border);flex-shrink:0;background:#fafbfc}.plan-footer-totals{font-size:14px;color:var(--text);margin-right:12px}.plan-footer-totals strong{color:var(--primary-dark);font-size:15px}.plan-meta-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.plan-meta-field{display:flex;flex-direction:column;gap:4px}.plan-meta-field.wide{grid-column:span 3}.plan-meta-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.plan-meta-field input,.plan-meta-field select,.plan-meta-field textarea{padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff;width:100%;font-family:inherit}.plan-meta-field input.readonly{background:#f5f5f5;color:#888;cursor:default}.plan-meta-field textarea{resize:vertical}.plan-total-display{padding:7px 10px;background:var(--primary-light);border-radius:6px;font-size:14px;font-weight:600;color:var(--primary-dark)}.plan-discount-totals-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.plan-discount-group{display:flex;flex-direction:column;gap:4px}.plan-discount-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.plan-discount-inputs{display:flex;gap:4px;align-items:center}.plan-discount-value{width:70px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;text-align:center}.plan-discount-type{padding:7px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.plan-totals-summary{text-align:right;font-size:13px;color:var(--text);line-height:1.8}.plan-total-line strong{font-weight:700}.plan-total-final{font-size:14px}.plan-complex-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);flex-wrap:wrap;align-items:center}.plan-complex-tab{padding:8px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;display:flex;align-items:center;gap:6px}.plan-complex-tab:hover{color:var(--primary)}.plan-complex-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.plan-complex-tab.add-tab{display:flex;align-items:center;gap:4px;color:var(--primary);font-weight:500}.plan-complex-tab.add-tab:hover{background:var(--primary-light);border-radius:6px 6px 0 0}.plan-complex-dot{width:10px;height:10px;border-radius:50%;background:#aaa;display:inline-block}.plan-complex-dot.green{background:var(--success)}.plan-complex-content{display:flex;flex-direction:column;gap:14px}.plan-complex-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.plan-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.plan-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:#f8f9fb;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);text-align:left;transition:background .15s}.plan-section-header:hover{background:#eef1f5}.plan-section-body{padding:12px 14px;background:#fff}.plan-section-body textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;resize:vertical;font-family:inherit}.plan-section-header-blue{background:var(--primary);color:#fff}.plan-section-header-blue:hover{background:var(--primary-dark)}.plan-formula{display:flex;flex-direction:column;gap:4px;align-items:center}.plan-formula-tabs{display:flex;gap:0;justify-content:center;margin-bottom:12px}.plan-formula-tab{padding:8px 20px;border:1px solid var(--border);background:#fff;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.plan-formula-tab:first-child{border-radius:6px 0 0 6px}.plan-formula-tab:last-child{border-radius:0 6px 6px 0}.plan-formula-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.plan-formula-jaw-selectors{display:flex;gap:24px;justify-content:center;margin-bottom:12px;font-size:13px;color:var(--text)}.plan-formula-jaw-selectors label{display:flex;align-items:center;gap:6px;cursor:pointer}.plan-formula-jaw-selectors input[type=checkbox]{width:16px;height:16px;cursor:pointer}.plan-formula-row{display:flex;gap:0;justify-content:center;flex-wrap:nowrap;overflow-x:auto;padding:4px 0}.plan-formula-divider{height:0;width:100%;margin:4px 0;border-top:2px dashed #ddd}.plan-tooth-cell{display:flex;flex-direction:column;align-items:center;gap:1px;cursor:default;padding:2px 1px;border-radius:4px;transition:all .15s;min-width:44px;position:relative}.plan-tooth-cell:hover{background:#e3f6ff}.plan-tooth-cell.selected{background:#d4effc;border:1px solid var(--primary)}.plan-tooth-num{font-size:10px;font-weight:700;color:var(--text-secondary)}.plan-tooth-checkbox{width:16px;height:16px;border:2px solid #ccc;border-radius:3px;transition:all .15s;cursor:pointer}.plan-tooth-checkbox.checked{background:var(--primary);border-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.5 12L2 7.5l1.4-1.4 3.1 3.1 5.6-5.6L13.5 5z'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}.plan-selected-teeth-body{padding:0!important}.plan-tooth-row{display:flex;gap:0;border-bottom:1px solid var(--border)}.plan-tooth-row:last-child{border-bottom:none}.plan-tooth-row-left{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;min-width:100px;border-right:1px solid var(--border);background:#fafbfc}.plan-tooth-row-num{font-size:20px;font-weight:700;color:var(--text)}.plan-tooth-row-num-small{font-size:11px;color:var(--text-secondary)}.plan-tooth-row-svg{flex-shrink:0}.plan-tooth-row-circle{margin:4px 0}.plan-tooth-row-actions{display:flex;gap:4px;margin-top:4px}.plan-tooth-row-right{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:14px}.plan-tooth-field{display:flex;flex-direction:column;gap:4px}.plan-tooth-field label{font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px}.plan-tooth-field input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff;width:100%}.plan-tooth-field input:focus{border-color:var(--primary);outline:none}.plan-diag-container{position:relative}.plan-diag-tags-input{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;min-height:36px;cursor:text;position:relative}.plan-diag-tags-input:focus-within{border-color:var(--primary)}.plan-diag-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--primary);color:#fff;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.plan-diag-tag-x{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff4d;color:#fff;width:16px;height:16px;border-radius:50%;cursor:pointer;padding:0;transition:background .15s}.plan-diag-tag-x:hover{background:#ffffff80}.plan-diag-search-input{border:none!important;outline:none;font-size:13px;padding:2px 4px!important;flex:1;min-width:60px;background:transparent}.plan-diag-chevron{color:var(--text-secondary);margin-left:auto;flex-shrink:0}.plan-tooth-add-link{font-size:12px;color:var(--primary);cursor:pointer;text-align:right;margin-top:2px}.plan-tooth-add-link:hover{text-decoration:underline}.plan-tooth-services-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.plan-svc-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--primary);color:#fff;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.plan-svc-tag-qty{padding:1px 6px;background:#ffffff40;border-radius:3px;font-size:11px}.plan-svc-tag-x{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff4d;color:#fff;width:18px;height:18px;border-radius:50%;cursor:pointer;padding:0;transition:background .15s}.plan-svc-tag-x:hover{background:#ffffff80}.plan-tooth-add-svc-wrap{position:relative}.plan-tooth-add-svc-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;width:100%;background:#fff}.plan-tooth-add-svc-input:focus{border-color:var(--primary);outline:none}.btn-icon-sm{width:28px;height:28px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-secondary);transition:all .15s}.btn-icon-sm:hover{background:#eee;color:var(--text)}.btn-icon-sm.danger{color:var(--danger)}.btn-icon-sm.danger:hover{background:#fee;color:var(--danger)}.plan-services-section{display:flex;flex-direction:column;gap:10px}.plan-services-header{display:flex;justify-content:space-between;align-items:center}.plan-services-header h4{font-size:13px;font-weight:600;color:var(--text)}.plan-service-search-wrap{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:6px;padding:5px 10px;background:#fff;min-width:260px;position:relative}.plan-service-search-wrap input{border:none;outline:none;font-size:13px;flex:1;background:transparent}.plan-service-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto;z-index:20}.plan-service-dropdown-item{display:flex;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:13px;transition:background .1s}.plan-service-dropdown-item:hover{background:var(--primary-light)}.plan-service-dropdown-empty{padding:12px;text-align:center;color:var(--text-secondary);font-size:13px}.plan-service-price{color:var(--text-secondary);font-size:12px}.plan-services-table-wrap{overflow-x:auto}.plan-services-table{width:100%;border-collapse:collapse;font-size:12px}.plan-services-table th{padding:8px;text-align:left;font-weight:600;font-size:11px;color:var(--text-secondary);border-bottom:2px solid var(--border);white-space:nowrap;background:#fafbfc}.plan-services-table td{padding:8px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.plan-services-table tfoot td{padding:8px;border-top:2px solid var(--border);font-size:13px}.plan-svc-code{color:var(--text-secondary);font-size:11px;white-space:nowrap}.plan-svc-num{text-align:right;white-space:nowrap}.plan-svc-amount{font-weight:600;color:var(--primary-dark)}.plan-svc-input{width:60px;padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;text-align:center}.plan-svc-input.sm{width:50px}.plan-svc-qty-wrap{display:flex;align-items:center;gap:0}.plan-svc-qty-wrap .plan-svc-input{border-radius:4px 0 0 4px}.plan-svc-qty-btn{border:1px solid var(--primary);border-left:none;background:var(--primary);color:#fff;width:24px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0 4px 4px 0;padding:0;transition:background .15s}.plan-svc-qty-btn:hover{background:var(--primary-dark)}.plan-svc-discount-wrap{display:flex;align-items:center;gap:0}.plan-svc-discount-wrap .plan-svc-input{border-radius:4px 0 0 4px}.plan-svc-discount-type{border:1px solid var(--border);border-left:none;background:#f5f5f5;padding:5px 6px;font-size:11px;border-radius:0 4px 4px 0;cursor:default}.plan-svc-teeth-row td{padding:0 8px 8px;border-bottom:1px solid var(--border)}.plan-svc-teeth-assign{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0;cursor:pointer}.plan-svc-teeth-icon{font-size:14px}.plan-svc-tooth-label{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--primary);font-weight:500;cursor:pointer}.plan-svc-tooth-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);cursor:pointer}.plan-complex-totals-block{padding:12px 16px;font-size:13px;color:var(--text);line-height:1.8}.plan-complex-total-bold{font-weight:700;font-size:14px}.plan-add-service-block{padding:12px 16px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border)}.plan-add-service-block label{font-size:12px;color:var(--text-secondary)}.plan-add-service-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;width:100%;background:#fff}.plan-add-service-input:focus{border-color:var(--primary);outline:none}.plan-empty-complexes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center;gap:12px}.btn-danger-outline{padding:8px 16px;border:1px solid var(--danger);color:var(--danger);background:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.btn-danger-outline:hover{background:#fee}.plan-pricelist-modal{background:#fff;border-radius:12px;width:90vw;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #0000002e;overflow:hidden}.plan-pricelist-items{max-height:50vh;overflow-y:auto}.plan-pricelist-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .1s}.plan-pricelist-item:hover{background:var(--primary-light)}.plan-pricelist-code{font-size:12px;color:var(--text-secondary);min-width:60px}.plan-pricelist-name{flex:1;font-size:13px}.plan-pricelist-price{font-size:13px;font-weight:600;color:var(--primary-dark);white-space:nowrap}@media(max-width:768px){.plan-detail-modal{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.plan-meta-grid{grid-template-columns:1fr}.plan-meta-field.wide{grid-column:span 1}.plan-complex-meta{grid-template-columns:1fr 1fr}.plan-formula-row{overflow-x:auto;justify-content:flex-start}.plan-discount-totals-row{flex-direction:column}}.patient-modal{background:#fff;border-radius:12px;width:96vw;max-width:900px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #0000002e;overflow:hidden}.patient-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 12px;flex-shrink:0}.patient-modal-header h2{font-size:20px;font-weight:600;color:var(--text);margin:0}.patient-modal-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);padding:0 28px;flex-shrink:0}.patient-modal-tab{padding:10px 18px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.patient-modal-tab:hover{color:var(--primary)}.patient-modal-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.patient-modal-body{flex:1;overflow-y:auto;padding:20px 28px;display:flex;flex-direction:column}.patient-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.patient-form-field{display:flex;flex-direction:column;gap:6px}.patient-form-field.full-width{grid-column:span 3}.patient-form-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.patient-form-field input,.patient-form-field select,.patient-form-field textarea{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;width:100%;font-family:inherit;transition:border-color .15s}.patient-form-field input:focus,.patient-form-field select:focus,.patient-form-field textarea:focus{border-color:var(--primary);outline:none}.patient-form-field input.readonly{background:#f5f5f5;color:#888;cursor:default}.patient-form-field textarea{resize:vertical}.patient-form-section-title{font-size:13px;font-weight:600;color:var(--text);margin-top:8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.patient-form-checkboxes{display:flex;flex-direction:column;gap:10px;padding:8px 0}.patient-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.patient-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.patient-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 0 0;margin-top:20px;border-top:1px solid var(--border)}.patient-modal-footer .btn-save{background:#e53935;border-color:#e53935}.patient-modal-footer .btn-save:hover{background:#c62828}@media(max-width:768px){.patient-modal{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.patient-form-grid{grid-template-columns:1fr}.patient-form-field.full-width{grid-column:span 1}}.svc-search-wrap{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:20px;padding:6px 14px;background:#fff;min-width:200px}.svc-search-wrap input{border:none;outline:none;font-size:13px;flex:1;background:transparent}.svc-actions-cell{display:flex;gap:4px;align-items:center;white-space:nowrap}.btn-sm{padding:4px 12px;font-size:12px;border:1px solid var(--primary);color:var(--primary);background:none;border-radius:4px;cursor:pointer}.btn-sm:hover{background:var(--primary-light)}.modal-plan-detail{width:96vw;max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.modal-body-scroll{flex:1;overflow-y:auto;padding:0}.analytics-dashboard{padding:0}.dash-banner{background:linear-gradient(135deg,#1e293b,#334155,#1e293b);border-radius:16px;padding:28px 32px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.dash-banner:before{content:"";position:absolute;top:-40px;right:-20px;width:200px;height:200px;border-radius:50%;background:#4f6bed33}.dash-banner:after{content:"";position:absolute;bottom:-60px;right:80px;width:140px;height:140px;border-radius:50%;background:#10b98126}.dash-banner-text h2{color:#f8fafc;font-size:22px;font-weight:700;margin-bottom:6px}.dash-banner-text p{color:#94a3b8;font-size:14px}.dash-banner-stats{display:flex;gap:32px;z-index:1}.dash-banner-stat{text-align:center}.dash-banner-stat-value{font-size:28px;font-weight:700;color:#f8fafc}.dash-banner-stat-label{font-size:12px;color:#94a3b8;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.dash-kpi-card{background:var(--bg-card);border-radius:14px;padding:22px;border:none;box-shadow:0 2px 12px #0000000f;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.dash-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.dash-kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000001a}.dash-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dash-kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-kpi-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px}.dash-kpi-value{font-size:28px;font-weight:800;color:var(--text);line-height:1;margin-bottom:4px}.dash-kpi-label{font-size:13px;color:var(--text-secondary);font-weight:500}.dash-section-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:10px}.dash-section-title:before{content:"";width:4px;height:20px;border-radius:2px;background:var(--primary)}.dash-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.dash-chart-card{background:var(--bg-card);border-radius:14px;border:none;box-shadow:0 2px 12px #0000000f;padding:24px;transition:box-shadow .2s}.dash-chart-card:hover{box-shadow:0 6px 24px #0000001a}.dash-chart-wide{grid-column:1 / -1}.dash-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dash-chart-title{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.dash-chart-title-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dash-chart-subtitle{font-size:12px;color:var(--text-secondary)}.dash-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;height:220px;color:var(--text-secondary);font-size:14px;gap:8px}.dash-no-data svg{opacity:.3}.dash-mini-stats{display:flex;gap:20px;padding-top:16px;border-top:1px solid var(--border);margin-top:16px}.dash-mini-stat{display:flex;align-items:center;gap:8px}.dash-mini-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dash-mini-label{font-size:12px;color:var(--text-secondary)}.dash-mini-val{font-size:13px;font-weight:600;color:var(--text)}.recharts-default-tooltip{border-radius:10px!important;border:none!important;box-shadow:0 8px 30px #00000026!important;padding:12px 16px!important}@media(max-width:1200px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-banner-stats{gap:20px}}@media(max-width:900px){.dash-charts-grid{grid-template-columns:1fr}.dash-banner{flex-direction:column;gap:20px;align-items:flex-start}.dash-banner-stats{width:100%;justify-content:space-between}}@media(max-width:500px){.dash-kpi-grid{grid-template-columns:1fr}}
