.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg);text-align:center;background-color:var(--bg-light);animation:fadeIn .5s ease-out}.login-card{background:var(--bg-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.03);width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.login-header{margin-bottom:var(--spacing-md)}.login-title{font-size:32px;font-weight:800;color:var(--primary-color);margin-bottom:var(--spacing-xs);letter-spacing:-.5px}.login-subtitle{font-size:16px;color:var(--text-muted);font-weight:500}.login-form{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md)}.login-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:left}.login-input{width:100%;text-align:center;font-size:18px;padding:var(--spacing-md);letter-spacing:.5px;background-color:var(--bg-input);border:1px solid transparent;border-radius:var(--radius);color:var(--text-dark);transition:all .2s ease}.login-input:focus{outline:none;background-color:var(--bg-white);border-color:var(--primary-color);box-shadow:0 0 0 3px #00c4b426}.login-input::placeholder{color:var(--text-muted);opacity:.7}.code-input{font-size:24px;letter-spacing:8px;font-family:monospace;font-weight:700}.login-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.btn-block{width:100%;justify-content:center}.btn-text{background:none;border:none;color:var(--primary-color);font-size:14px;font-weight:500;padding:var(--spacing-sm);cursor:pointer;transition:all .2s;border-radius:var(--radius)}.btn-text:hover{color:var(--primary-dark);background-color:var(--bg-light);text-decoration:none}.btn-text:disabled{color:var(--text-muted);cursor:not-allowed;background-color:transparent}.login-footer{margin-top:var(--spacing-lg);font-size:13px;color:var(--text-muted);line-height:1.5}.login-footer strong{color:var(--text-dark);font-weight:600}.login-error{color:var(--error-color);background:#fff3f3;padding:var(--spacing-md);border-radius:var(--radius);font-size:14px;width:100%;border:1px solid var(--error-color);animation:shake .4s ease-in-out;display:flex;align-items:center;justify-content:center}.logout-icon{font-size:64px;color:var(--success-color);margin-bottom:var(--spacing-md);animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275)}.logout-message{color:var(--text-muted);margin-bottom:var(--spacing-xl);line-height:1.6}.input-hint{font-size:12px;color:var(--text-muted);margin-top:var(--spacing-xs)}.input-hint-error{color:var(--error-color)}.code-expiry{color:var(--primary-color);font-weight:600;font-size:14px;margin-top:var(--spacing-sm)}.code-sent-success{font-size:48px;color:var(--success-color);margin-bottom:var(--spacing-sm);animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275)}.login-hint-box{background:var(--bg-light);padding:var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);border:1px solid var(--border-color)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.login-promo{margin-top:var(--spacing-lg);padding:12px 16px;background:linear-gradient(135deg,#00c4b41a,#00a8961a);border-radius:var(--radius);text-align:center;border:1px solid rgba(0,196,180,.2)}.login-promo p{margin:0;font-size:14px;color:var(--text-dark)}.login-promo strong{color:var(--primary-color)}.login-legal-footer{margin-top:auto;padding:32px 16px 24px;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--text-muted);font-family:inherit}.login-legal-footer .footer-requisites{font-size:14px;color:var(--text-muted)}.login-legal-footer .footer-contacts{font-size:14px}.login-legal-footer .footer-contacts a{color:var(--primary-color);text-decoration:none;margin:0 4px}.login-legal-footer .footer-contacts a:hover{text-decoration:underline}.login-legal-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:4px 0}.login-legal-footer .footer-links a,.login-legal-footer .footer-links span{color:var(--text-muted);text-decoration:none;font-size:14px;cursor:pointer}.login-legal-footer .footer-links a:hover,.login-legal-footer .footer-links span:hover{color:var(--primary-color)}.login-legal-footer .footer-copyright{font-size:12px;opacity:.6;margin-top:8px}.subscription-banner{display:flex;align-items:center;gap:12px;padding:10px var(--spacing-md);border-radius:var(--radius);margin:12px auto;font-size:13px;line-height:1.4;max-width:568px;width:calc(100% - 32px);box-shadow:var(--shadow-sm);transition:all .2s ease}.subscription-banner.info{background-color:#e3f2fd;border:1px solid #bbdefb;color:#0d47a1}.subscription-banner.warning{background-color:#fff3e0;border:1px solid #ffe0b2;color:#e65100}.subscription-banner.error{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828}.banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff9;border-radius:50%}.banner-content{flex:1;min-width:0}.banner-text{margin:0;font-weight:600;font-size:14px}.banner-subtext{margin:2px 0 0;font-size:12px;opacity:.9}.banner-action{flex-shrink:0;padding:6px 16px;border-radius:var(--radius-pill);border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.subscription-banner.info .banner-action{background-color:#1976d2;color:#fff}.subscription-banner.info .banner-action:hover{background-color:#1565c0;transform:translateY(-1px);box-shadow:0 2px 4px #1976d233}.subscription-banner.warning .banner-action{background-color:#f57c00;color:#fff}.subscription-banner.warning .banner-action:hover{background-color:#ef6c00;transform:translateY(-1px);box-shadow:0 2px 4px #f57c0033}.subscription-banner.error .banner-action{background-color:#d32f2f;color:#fff}.subscription-banner.error .banner-action:hover{background-color:#c62828;transform:translateY(-1px);box-shadow:0 2px 4px #d32f2f33}.banner-action:active{transform:translateY(0)}.subscription-banner.compact{padding:6px 10px;margin:4px 8px;font-size:12px;width:auto}.subscription-banner.compact .banner-icon{width:24px;height:24px}.subscription-banner.compact .banner-icon svg{width:14px;height:14px}.subscription-banner.compact .banner-action{padding:4px 10px;font-size:11px}@media(max-width:600px){.subscription-banner{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 12px;align-items:center;padding:12px}.banner-icon{grid-column:1;grid-row:1}.banner-content{grid-column:2;grid-row:1;margin-bottom:0}.banner-action{grid-column:1 / -1;grid-row:2;width:100%;margin-top:4px;padding:8px}}.sync-status-banner{position:sticky;top:0;left:0;right:0;z-index:1000;padding:12px var(--spacing-md);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:var(--shadow-sm);animation:slideDown .3s ease-out}.sync-status-banner.offline{background:linear-gradient(135deg,#f093fb,#f5576c)}.sync-status-banner.syncing{background:linear-gradient(135deg,#4facfe,#00f2fe)}.sync-status-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center}.sync-status-message{display:flex;align-items:center;gap:var(--spacing-sm);font-size:14px;font-weight:500}.sync-status-message.error{color:#ffebee}.sync-status-message.success{color:#e8f5e9}.sync-status-icon{font-size:18px;line-height:1}.sync-status-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.sync-retry-button{margin-left:12px;padding:6px 12px;background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.sync-retry-button:hover{background:#ffffff4d;border-color:#fff9}.sync-retry-button:active{transform:scale(.95)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.sync-status-banner{padding:10px 12px}.sync-status-message{font-size:13px}.sync-retry-button{padding:4px 8px;font-size:12px}}.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-md);background:var(--bg-light);color:var(--text-dark)}.error-content{text-align:center;max-width:480px;padding:var(--spacing-xl);background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.03)}.error-icon{font-size:64px;margin-bottom:var(--spacing-lg);color:var(--text-muted)}.error-content h1{font-size:24px;font-weight:700;color:var(--text-dark);margin:0 0 var(--spacing-sm)}.error-content p{font-size:16px;color:var(--text-muted);line-height:1.5;margin:0 0 var(--spacing-lg)}.error-details{text-align:left;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-light);border-radius:var(--radius);font-size:12px}.error-details summary{cursor:pointer;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.error-details pre{margin:var(--spacing-sm) 0 0;padding:var(--spacing-sm);background:var(--bg-white);border-radius:var(--spacing-xs);overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--error-color);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;border:1px solid var(--border-color)}.error-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.error-btn{padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all .2s ease;font-family:inherit}.error-btn:hover{transform:translateY(-1px)}.error-btn:active{transform:translateY(0)}.error-btn.primary{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #3390ec4d}.error-btn.primary:hover{background:var(--primary-dark);box-shadow:0 6px 16px #3390ec66}.error-btn.secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.error-btn.secondary:hover{background:var(--bg-input);color:var(--text-dark);border-color:#d1d5db}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #00C4B4;--primary-dark: #009E91;--secondary-color: #6c757d;--success-color: #4caf50;--error-color: #f44336;--warning-color: #ff9800;--bg-light: #f0f2f5;--bg-white: #ffffff;--bg-input: #f5f7fa;--text-dark: #1a1d21;--text-muted: #6c757d;--border-color: #eef0f2;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .12);--shadow-soft: 0 4px 20px rgba(0, 0, 0, .05);--radius: 12px;--radius-lg: 20px;--radius-pill: 999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:var(--bg-light);color:var(--text-dark)}.card{background:var(--bg-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.03);margin-bottom:var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease}input[type=text],input[type=date],input[type=number],select,textarea{background-color:var(--bg-input);border:1px solid transparent;border-radius:var(--radius);padding:12px 16px;font-size:16px;width:100%;transition:all .2s ease;color:var(--text-dark)}input:focus,select:focus,textarea:focus{outline:none;background-color:#fff;border-color:var(--primary-color);box-shadow:0 0 0 3px #3390ec26}button{cursor:pointer;font-family:inherit;transition:all .2s ease}.btn-primary{background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-pill);padding:12px 24px;font-weight:600;font-size:15px;box-shadow:0 4px 12px #3390ec4d}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px #3390ec66}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:11px 23px;font-weight:500}.btn-secondary:hover{background:var(--bg-input);color:var(--text-dark);border-color:#d1d5db}.btn-danger{background:#ffebee;color:#d32f2f;border:1px solid #ffcdd2;border-radius:var(--radius-pill);padding:11px 23px;font-weight:500;transition:all .2s ease}.btn-danger:hover{background:#ffcdd2;color:#b71c1c;border-color:#ef9a9a;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;display:flex;flex-direction:column}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md);color:var(--text-muted)}.spinner-large{font-size:48px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.app-header{background:var(--bg-white);color:var(--text-dark);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.header-title{text-align:left}.app-title{font-size:24px;font-weight:700;margin-bottom:4px;color:var(--primary-color)}.app-subtitle{font-size:14px;color:var(--text-muted);font-weight:400}.header-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.btn-header-action{background:transparent;border:none;color:var(--text-muted);width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;text-decoration:none}.btn-header-action:hover{background:var(--bg-light);color:var(--primary-color)}.btn-settings{background:transparent;border:none;color:var(--text-muted);width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-settings:hover{background:var(--bg-light);color:var(--primary-color);transform:rotate(30deg)}.btn-settings:active{transform:rotate(30deg) scale(.95)}.app-main{flex:1;padding:var(--spacing-md);max-width:1200px;margin:0 auto;width:100%}.patient-list{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.list-header h2{font-size:24px;color:var(--text-dark);margin:0}.search-form{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.search-input{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius);font-size:16px;transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3390ec1a}.btn-search{padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius);font-size:20px;cursor:pointer;transition:background .2s}.btn-search:hover{background:var(--primary-dark)}.patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.patient-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.patient-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.patient-card:active{transform:translateY(0)}.patient-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.patient-name{font-size:18px;font-weight:600;color:var(--text-dark);margin:0;flex:1}.consent-badge{background:var(--success-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.patient-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.patient-info{display:flex;justify-content:space-between;align-items:center;font-size:14px;gap:var(--spacing-sm)}.info-label{color:var(--text-muted);flex-shrink:0}.info-value{color:var(--text-dark);font-weight:500;text-align:right}.empty-state{text-align:center;padding:var(--spacing-xl);background:var(--bg-white);border-radius:var(--radius-lg);border:2px dashed var(--border-color)}.empty-message{color:var(--text-muted);font-size:16px;margin-bottom:var(--spacing-lg)}.loading,.error{text-align:center;padding:var(--spacing-xl)}.spinner{font-size:18px;color:var(--text-muted)}.error-message{background:#fff3f3;border:1px solid var(--error-color);border-radius:var(--radius);padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.error-icon{font-size:32px}.error-message p{color:var(--error-color);margin:0}.patient-form-container{background:var(--bg-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);animation:fadeIn .3s ease-in;max-width:600px;margin:0 auto}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.form-header h2{font-size:22px;margin:0;color:var(--text-dark)}.btn-close{background:transparent;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all .2s}.btn-close:hover:not(:disabled){background:var(--bg-light);color:var(--text-dark)}.btn-close:disabled{opacity:.5;cursor:not-allowed}.error-banner{background:#fff3f3;border:1px solid var(--error-color);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--error-color)}.patient-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-label.required:after{content:" *";color:var(--error-color)}.form-input{padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius);font-size:16px;transition:all .2s;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3390ec1a}.form-input:disabled{background:var(--bg-light);cursor:not-allowed;opacity:.6}.form-hint{font-size:12px;color:var(--text-muted);font-style:italic}.checkbox-label{display:flex;align-items:start;gap:var(--spacing-sm);cursor:pointer;font-size:14px;color:var(--text-dark)}.form-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:var(--primary-color)}.form-checkbox:disabled{cursor:not-allowed;opacity:.6}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.btn-primary,.btn-secondary,.btn-retry{padding:12px 24px;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-light);color:var(--text-dark);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:#e9ecef;border-color:var(--secondary-color)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-retry{background:var(--error-color);color:#fff}.btn-retry:hover{background:#d32f2f}@media(max-width:768px){.app-main{padding:var(--spacing-sm)}.patient-grid{grid-template-columns:1fr}.list-header{flex-direction:column;align-items:stretch}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.patient-detail{animation:fadeIn .3s ease-in}.detail-header{margin-bottom:var(--spacing-lg)}.btn-back{background:transparent;border:1px solid var(--border-color);color:var(--text-dark);padding:10px 16px;border-radius:var(--radius);font-size:14px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.btn-back:hover{background:var(--bg-light);border-color:var(--primary-color);color:var(--primary-color)}.patient-card-full{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.patient-detail-content{margin-top:var(--spacing-lg)}.visit-list{animation:fadeIn .3s ease-in}.visit-list .list-header h3{font-size:20px;color:var(--text-dark);margin:0}.visit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.visit-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.visit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.visit-card:active{transform:translateY(0)}.visit-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.visit-date{font-size:16px;font-weight:600;color:var(--text-dark);margin:0}.visit-status{font-size:12px;padding:4px 8px;border-radius:var(--radius);background:var(--bg-light);color:var(--text-dark);white-space:nowrap}.visit-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.visit-notes{display:flex;flex-direction:column;gap:4px;font-size:14px;margin-bottom:var(--spacing-sm)}.notes-label{font-weight:600;color:var(--text-muted);font-size:12px}.notes-text{color:var(--text-dark);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.visit-info{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:var(--spacing-sm)}.tooth-map-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--border-color)}.tooth-map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);gap:var(--spacing-md);flex-wrap:wrap}.btn-mass-apply{white-space:nowrap;flex-shrink:0}.saving-indicator{background:#fff3cd;color:#856404;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);font-size:14px;text-align:center;border:1px solid #ffeaa7}.info-message{background:#e3f2fd;color:#1976d2;padding:var(--spacing-md);border-radius:var(--radius);margin-top:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);border-left:4px solid var(--primary-color)}.info-icon{font-size:20px;flex-shrink:0}.info-message p{margin:0;font-size:14px}@media(max-width:768px){.brush-picker-overlay{padding:0}.brush-picker-overlay .brush-picker{max-height:100vh;border-radius:0}.recommendation-item{flex-wrap:wrap;gap:var(--spacing-xs)}.gap-label{min-width:auto}.recommendation-details{flex-basis:100%}}@media(min-width:1025px){.app-main,.header-content{max-width:90vw}.patient-form-container,.patient-detail{max-width:960px}.patient-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}
