.app{background-color:var(--color-bg);display:flex;flex-direction:column;height:100vh}.app-container{display:flex;flex:1 1;overflow:hidden}.main-content{background-color:var(--color-bg);flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}@media (max-width:768px){.app-container{flex-direction:column}.main-content{padding:var(--spacing-md)}}.auth-gate-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:100vh;padding:var(--spacing-lg);text-align:center}.auth-gate-logo{height:auto;max-width:260px;width:100%}.auth-gate-error-text{color:var(--color-text-light);max-width:360px}.auth-fullpage{align-items:center;background-color:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-lg)}.auth-card{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:420px;width:100%}.auth-card-logo{align-self:center;height:auto;margin-bottom:var(--spacing-sm);max-width:220px;width:100%}.auth-card h1{font-size:var(--font-size-xl)}.auth-card h1,.auth-card-hint{margin-bottom:0;text-align:center}.auth-card-hint{font-size:var(--font-size-sm)}.auth-card .form-group{margin-bottom:0}.auth-card form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-password-field{align-items:center;display:flex;position:relative}.auth-password-field input{padding-right:44px}.auth-password-toggle{align-items:center;background:none;border:none;color:var(--color-text-light);cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;right:2px;width:44px}.auth-password-toggle:hover{color:var(--color-primary)}.auth-submit-btn{justify-content:center;min-height:44px;width:100%}.auth-checklist{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0}.auth-checklist li{align-items:center;color:var(--color-text-light);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.auth-checklist li.auth-check-ok{color:var(--color-success)}.auth-strength-hint{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.auth-overlay{align-items:center;background-color:rgba(0,0,0,.88);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:2000}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.auth-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-color:rgba(0,0,0,.6)}}.auth-app{display:contents}.auth-idle-banner{align-items:center;background-color:#fff;border:1px solid var(--color-warning);border-radius:var(--radius-md);bottom:var(--spacing-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-md);left:50%;max-width:calc(100vw - 32px);padding:var(--spacing-md) var(--spacing-lg);position:fixed;transform:translateX(-50%);z-index:500}.auth-idle-banner span{color:var(--color-text);font-size:var(--font-size-sm)}@media (max-width:640px){.auth-idle-banner{align-items:stretch;flex-direction:column;text-align:center}}.header{background-color:var(--color-primary-light);border-bottom:3px solid var(--color-primary);box-shadow:var(--shadow-sm);padding:var(--spacing-md) var(--spacing-lg);position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin:0 auto;max-width:1600px}.header-menu-toggle{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:none;flex-shrink:0;height:44px;justify-content:center;width:44px}.header-menu-toggle:hover{background-color:rgba(0,0,0,.05)}.logo-container{align-items:center;display:flex;gap:var(--spacing-sm);height:64px;position:relative;text-decoration:none}.logo-image{height:100%;max-width:260px;object-fit:contain;object-position:left center;transition:opacity .2s ease}.logo-image:hover{opacity:.85}.logo-fallback{align-items:center;display:flex;gap:var(--spacing-sm)}.logo-fallback h1{color:var(--color-primary);font-size:28px;font-weight:700;letter-spacing:2px;margin:0}.logo-text{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:600}.header-nav{align-items:center;display:flex;flex:1 1;gap:var(--spacing-lg);justify-content:flex-end}.practice-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.header-logout{flex-shrink:0;min-height:44px;min-width:44px}@media (max-width:900px){.header{padding:var(--spacing-sm) var(--spacing-md)}.logo-container{height:48px}.practice-name{display:none}}@media (max-width:768px){.header-menu-toggle{display:flex}.header{z-index:201}}@media (max-width:480px){.logo-image{max-width:180px}.header-logout-text{display:none}}.sidebar{background-color:#fff;border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--spacing-lg) 0;width:250px}.sidebar-nav{flex:1 1;padding:0 var(--spacing-md)}.nav-section{margin-bottom:var(--spacing-lg)}.nav-section h3{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-md);padding:0 var(--spacing-md);text-transform:uppercase}.nav-link{align-items:center;border-radius:var(--radius-md);color:var(--color-text);display:flex;gap:var(--spacing-md);margin-bottom:4px;padding:var(--spacing-md);text-decoration:none;transition:all .2s ease}.nav-link:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.nav-link.active{background-color:var(--color-primary);color:#fff;font-weight:600}.nav-icon{display:flex;font-size:18px;width:24px}.nav-badge,.nav-icon{align-items:center;justify-content:center}.nav-badge{background-color:var(--color-primary);border-radius:999px;color:#fff;display:inline-flex;font-size:var(--font-size-xs);font-weight:700;height:20px;margin-left:auto;min-width:20px;padding:0 6px}.nav-link.active .nav-badge{background-color:#fff;color:var(--color-primary)}.nav-badge-danger{background-color:var(--color-error)}.nav-link.active .nav-badge-danger{background-color:#fff;color:var(--color-error)}.sidebar-footer{border-top:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-md)}.app-version{color:var(--color-text-light);font-size:var(--font-size-xs);text-align:center}@media (max-width:768px){.sidebar-overlay{background-color:rgba(0,0,0,.4);inset:0;position:fixed;z-index:199}.sidebar{border-right:1px solid var(--color-border);box-shadow:var(--shadow-lg);height:100vh;left:0;max-width:85vw;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:280px;z-index:200}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-nav{padding:0 var(--spacing-md)}.nav-section{margin-bottom:var(--spacing-lg)}.sidebar-footer{display:block}}.home{display:flex;flex-direction:column;gap:var(--spacing-2xl);margin:0 auto;max-width:1100px}.home-hero{background-color:var(--color-primary-light);border-radius:var(--radius-lg);overflow:hidden;padding:var(--spacing-2xl);position:relative}.home-hero-watermark{height:220px;opacity:.5;pointer-events:none;position:absolute;right:-40px;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none;width:auto}.home-hero-content{max-width:520px;position:relative}.home-hero-content h1{color:var(--color-primary);margin:0 0 var(--spacing-sm) 0}.home-hero-content p{color:var(--color-text);font-size:var(--font-size-base);margin:0}.home-warning-card{align-items:center;background-color:#fff9f4;border:1px solid #ffe0b2;border-radius:var(--radius-lg);color:var(--color-warning);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg)}.home-warning-text{flex:1 1}.home-warning-text h3{color:var(--color-text);margin:0 0 4px}.home-warning-text p{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.home-warning-card .btn{flex-shrink:0;white-space:nowrap}.home-dashboard-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}.home-dashboard-tile{align-items:flex-start;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-primary);display:flex;font-family:inherit;gap:var(--spacing-md);min-height:44px;padding:var(--spacing-lg);text-align:left;text-decoration:none}.home-dashboard-tile.clickable{cursor:pointer;transition:all .2s ease}.home-dashboard-tile.clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.home-dashboard-tile-icon{display:flex;flex-shrink:0}.home-dashboard-tile-body{display:flex;flex-direction:column;min-width:0}.home-dashboard-tile-value{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:700;line-height:1.1}.home-dashboard-tile-label{color:var(--color-text-light);font-size:var(--font-size-sm);margin-top:2px}.home-dashboard-tile-secondary{color:var(--color-text-light);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.home-dashboard-tile.tone-warning{background-color:#fff9f4;border-color:#ffe0b2;color:var(--color-warning)}.home-dashboard-tile.tone-danger{background-color:#fef5f5;border-color:#ffcdd2;color:var(--color-error)}.home-dashboard-tile.tone-danger .home-dashboard-tile-value,.home-dashboard-tile.tone-warning .home-dashboard-tile-value{color:inherit}@media (min-width:1024px){.home-dashboard-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.home-dashboard-grid{grid-template-columns:1fr}}.home-recipe-alerts-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.home-recipe-alert-item{align-items:center;background-color:#fff;border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);color:var(--color-text);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all .2s ease}.home-recipe-alert-item:hover{box-shadow:var(--shadow-md)}.home-recipe-alert-item.level-warn{border-left-color:var(--color-warning)}.home-recipe-alert-item.level-expired{border-left-color:var(--color-error)}.home-recipe-alert-item.level-ok{border-left-color:var(--color-success)}.home-recipe-alert-main{display:flex;flex-direction:column;gap:2px;min-width:0}.home-recipe-alert-patient{font-weight:600}.home-recipe-alert-message{color:var(--color-text-light);font-size:var(--font-size-sm)}.home-recipe-alert-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.home-recipe-alert-badge{background-color:var(--color-bg);border-radius:999px;color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;white-space:nowrap}.level-warn .home-recipe-alert-badge{background-color:#fff3e0;color:var(--color-warning)}.level-expired .home-recipe-alert-badge{background-color:#fef5f5;color:var(--color-error)}.level-ok .home-recipe-alert-badge{background-color:#f1f8f4;color:var(--color-success)}.home-recipe-alert-remaining{color:var(--color-text-light);font-size:var(--font-size-xs);white-space:nowrap}.home-actions{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.home-action-card{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);text-decoration:none;transition:all .2s ease}.home-action-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.home-action-card svg:first-child{color:var(--color-primary);flex-shrink:0}.home-action-card h3{font-size:var(--font-size-lg);margin:0 0 4px}.home-action-card p{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.home-action-arrow{color:var(--color-text-light);flex-shrink:0;margin-left:auto}.home-recent-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.home-recent-header h2{margin:0}.home-recent-link{align-items:center;color:var(--color-primary);display:flex;font-size:var(--font-size-sm);font-weight:600;gap:4px;text-decoration:none}.home-recent-link:hover{text-decoration:underline}.home-recent-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.home-recent-item{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all .2s ease}.home-recent-item:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.home-recent-name{font-weight:500}.home-recent-badge{align-items:center;background-color:var(--color-primary-light);border-radius:4px;color:var(--color-primary);display:flex;font-size:var(--font-size-xs);font-weight:600;gap:4px;padding:4px 8px}@media (max-width:768px){.home-hero{padding:var(--spacing-lg)}.home-hero-watermark{height:140px;opacity:.35}.home-action-arrow{display:none}.home-warning-card{align-items:flex-start;flex-direction:column}.home-warning-card .btn{justify-content:center;width:100%}}.invite-dialog{max-width:480px}.invite-url-row{display:flex;gap:var(--spacing-sm)}.invite-url-row input{flex:1 1;font-family:monospace;font-size:var(--font-size-sm)}.invite-url-row .btn{flex-shrink:0}.page{margin:0 auto;max-width:1200px;width:100%}.page-header{align-items:center;border-bottom:2px solid var(--color-primary-light);display:flex;justify-content:space-between;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg)}.page-header h1{margin:0}.header-actions{display:flex;gap:var(--spacing-md)}.header-actions .btn{white-space:nowrap}.search-bar{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md)}.search-bar input{border:none;flex:1 1;padding:var(--spacing-xs) 0}.search-bar input:focus{box-shadow:none}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.loading-container p{color:var(--color-text-light);margin-top:var(--spacing-md)}.empty-state{align-items:center;background-color:#fff;border:2px dashed var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-icon{color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.empty-state h2{margin-bottom:var(--spacing-md)}.empty-state p{margin-bottom:var(--spacing-lg);max-width:400px}.patients-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.patient-card{color:inherit;cursor:pointer;text-decoration:none;transition:all .2s ease}.patient-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.patient-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.patient-header h3{flex:1 1;margin:0}.patient-type{align-items:center;background-color:var(--color-primary-light);border-radius:4px;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:4px;padding:4px 8px;white-space:nowrap}.patient-info p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.patient-info strong{color:var(--color-text)}.modal-overlay{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:999}.modal{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;background-color:var(--color-primary-light);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{margin:0}.modal-header .btn-close{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.modal-header .btn-close:hover{color:var(--color-primary)}.modal .form{padding:var(--spacing-lg)}.form-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.form-actions .btn{flex:1 1}.tabs{border-bottom:2px solid var(--color-border);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.tab-button{align-items:center;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-light);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);gap:var(--spacing-sm);margin-bottom:-2px;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s ease}.tab-button:hover{color:var(--color-text)}.tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.step-number{align-items:center;background-color:var(--color-border);border-radius:50%;color:var(--color-text-light);display:inline-flex;font-size:var(--font-size-xs);font-weight:700;height:20px;justify-content:center;width:20px}.tab-button.active .step-number{background-color:var(--color-primary);color:#fff}.tab-content{display:none}.tab-content.active{display:block}.confirmed-summary{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.confirmed-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.confirmed-summary-header h4{margin:0}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;padding:0;text-decoration:underline}.link-button:hover{color:var(--color-primary-dark)}.confirmed-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.confirmed-row{border-bottom:1px solid var(--color-border);display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--spacing-xs) 0}.confirmed-row:last-child{border-bottom:none}.confirmed-row-desc{color:var(--color-text)}.confirmed-row-desc strong{color:var(--color-primary);margin-right:var(--spacing-sm)}.confirmed-row-amount{color:var(--color-text);font-weight:600;white-space:nowrap}.confirmed-total{border-top:2px solid var(--color-primary-light);display:flex;font-size:var(--font-size-lg);font-weight:700;justify-content:space-between;padding-top:var(--spacing-md)}.confirmed-total strong{color:var(--color-primary)}.dashboard-pending-banner{align-items:center;cursor:pointer;font-weight:600;text-decoration:none}.dashboard-pending-banner:hover{text-decoration:underline}.card-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.card-header-row h2{margin:0}.card-header-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.info-section{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.info-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-section h3{color:var(--color-primary);margin-bottom:var(--spacing-md)}.info-grid{grid-gap:var(--spacing-md) var(--spacing-lg);display:grid;gap:var(--spacing-md) var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.info-row{display:flex;flex-direction:column;gap:2px}.info-row-label{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:600}.info-row-value{color:var(--color-text);white-space:pre-wrap}.chip-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.chip{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-sm);padding:4px 10px}.chip-warning{background-color:#fff3e0;border:1px solid #ffe0b2;color:var(--color-warning)}.consent-status-granted{color:var(--color-success);font-weight:600}.consent-status-denied{color:var(--color-text-light)}@media (max-width:640px){.modal-fullscreen-mobile{border-radius:0;height:100vh;margin:0;max-height:100vh;max-width:100vw;width:100vw}}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-lg)}.header-actions{flex-direction:column;width:100%}.header-actions .btn{width:100%}.patients-grid{grid-template-columns:1fr}.modal{max-width:calc(100vw - 32px)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.services-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:var(--spacing-md)}.service-checkbox{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);transition:all .2s ease}.service-checkbox:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.service-checkbox input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;width:auto}.service-checkbox span{font-weight:500;-webkit-hyphens:auto;hyphens:auto;min-width:0;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}.physio-suggest-row{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.physio-suggest-label{align-items:center;color:var(--color-text-light);display:flex;font-size:var(--font-size-sm);font-weight:600;gap:6px}.physio-suggest-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.physio-suggest-chip{align-items:center;background-color:#fff;border:1px solid var(--color-primary);border-radius:999px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:4px;min-height:36px;padding:var(--spacing-xs) var(--spacing-md);transition:all .15s ease}.physio-suggest-chip:hover{background-color:var(--color-primary-light)}.physio-session-sum{color:var(--color-text-light);font-size:var(--font-size-sm);margin-bottom:0;margin-top:var(--spacing-md)}.physio-session-sum strong{color:var(--color-text)}.physio-session-sum.out-of-band,.physio-session-sum.out-of-band strong{color:var(--color-warning)}.contraindication-warnings{margin-top:var(--spacing-md)}textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-md);width:100%}textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.recipe-upload{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:1000}.recipe-upload-container{background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.recipe-upload-header{align-items:center;background-color:var(--color-primary-light);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg);position:sticky;top:0}.recipe-upload-header h2{font-size:var(--font-size-xl);margin:0}.btn-close{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.btn-close:hover{color:var(--color-primary)}.ocr-result,.upload-section{padding:var(--spacing-lg)}.upload-area{background-color:rgba(227,29,29,.05);border:2px dashed var(--color-primary);border-radius:var(--radius-lg);cursor:pointer;padding:var(--spacing-2xl);text-align:center;transition:all .2s ease}.upload-area:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-dark)}.upload-icon{color:var(--color-primary);margin-bottom:var(--spacing-md)}.upload-area p{color:var(--color-text);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.upload-hint{color:var(--color-text-light);display:block;font-size:var(--font-size-sm)}.ocr-loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl) 0 0;text-align:center}.ocr-loading-state p{color:var(--color-text-light);margin:0}.pdf-notice{align-items:flex-start;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.pdf-notice-title{color:var(--color-text);font-weight:600;margin:0 0 4px}.pdf-notice-text{margin:0}.preview-section{margin-bottom:var(--spacing-lg)}.preview-section h3{margin-bottom:var(--spacing-md)}.recipe-preview{border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:300px;max-width:100%}.hint-text{margin:0 0 var(--spacing-md)}.recipe-meta-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:var(--spacing-lg)}.recipe-meta-grid .form-group{margin-bottom:0}.confidence-badge{background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:var(--radius-md);color:var(--color-success);display:inline-block;font-weight:600;padding:var(--spacing-sm) var(--spacing-md)}.confidence-badge,.ocr-hint{margin-bottom:var(--spacing-lg)}.ocr-hint{color:var(--color-text-light);font-size:var(--font-size-sm)}.services-editor{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.service-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.service-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.service-input{flex:2 1}.service-count,.service-input{padding:var(--spacing-sm) var(--spacing-md)!important}.service-count{flex:0.5 1;width:80px}.manual-badge{align-items:center;background-color:#fff3e0;border:1px solid #ffe0b2;border-radius:12px;color:var(--color-warning);display:inline-flex;font-size:var(--font-size-xs);gap:3px;padding:2px 8px;white-space:nowrap}.btn-remove{align-items:center;background:none;border:1px solid #ffcdd2;border-radius:var(--radius-sm);color:var(--color-error);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.btn-remove:hover{background-color:#ffebee}.ocr-raw-text{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.raw-text-toggle{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);padding:0}.raw-text-box{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);font-family:Courier New,monospace;font-size:var(--font-size-sm);line-height:1.6;margin-top:var(--spacing-md);max-height:150px;overflow-y:auto;padding:var(--spacing-md)}.upload-actions{background-color:var(--color-bg);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}@media (max-width:768px){.recipe-upload{padding:var(--spacing-md)}.recipe-upload-container{max-width:100%}.service-row{flex-wrap:wrap}.service-input{flex:100% 1}.upload-actions{flex-direction:column}.recipe-upload .btn{width:100%}}.diagnose-select{position:relative;width:100%}.diagnose-dropdown{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);left:0;max-height:320px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.diagnose-empty{color:var(--color-text-light);font-size:var(--font-size-sm);padding:var(--spacing-md)}.diagnose-group-header{background-color:var(--color-bg);color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.04em;padding:var(--spacing-xs) var(--spacing-md);position:sticky;text-transform:uppercase;top:0}.diagnose-option{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.diagnose-option.highlighted,.diagnose-option:hover{background-color:var(--color-primary-light)}.diagnose-option-label{color:var(--color-text);font-size:var(--font-size-sm)}.diagnose-option-icd10,.diagnose-option-synonym{color:var(--color-text-light);font-size:var(--font-size-xs)}.diagnose-option-icd10{white-space:nowrap}.confirm-dialog{max-width:440px}.confirm-dialog-icon{color:var(--color-warning);vertical-align:-3px}.confirm-dialog-body{padding:var(--spacing-lg)}.confirm-dialog-body p{color:var(--color-text);margin-bottom:0}.confirm-dialog .form-actions{border-top:none;margin-top:0;padding:0 var(--spacing-lg) var(--spacing-lg)}.leistungs-selector{display:flex;flex-direction:column;gap:var(--spacing-md)}.hint-text{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.auto-fit-toggle,.erstbehandlung-toggle{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-weight:600;gap:var(--spacing-sm);margin-bottom:0}.auto-fit-toggle input,.erstbehandlung-toggle input{cursor:pointer;width:auto}.loading-state{padding:var(--spacing-xl);text-align:center}.loading-state p{color:var(--color-text-light);margin-bottom:0;margin-top:var(--spacing-md)}.match-info{align-items:center;color:var(--color-primary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin:0}.match-info.muted{color:var(--color-text-light)}.package-cards{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.package-card{background-color:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;padding:var(--spacing-md);transition:all .2s ease}.package-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.package-card.selected{background-color:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(227,29,29,.1)}.package-card-header{align-items:flex-start;display:flex;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-sm)}.package-card-header h4{color:var(--color-text);flex:1 1;font-size:var(--font-size-base);margin:0}.package-total{color:var(--color-primary);font-weight:700;white-space:nowrap}.package-card-delete{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-light);cursor:pointer;display:inline-flex;justify-content:center;padding:2px}.package-card-delete:hover{background-color:#fef5f5;color:var(--color-error)}.package-chips{display:flex;flex-wrap:wrap;gap:6px}.package-card.infeasible{opacity:.55}.package-infeasible-hint{align-items:center;color:var(--color-warning);display:flex;font-size:var(--font-size-xs);gap:4px;margin:var(--spacing-sm) 0 0}.learned-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.package-section-heading{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.03em;margin:0;text-transform:uppercase}.learned-section .package-card{border-color:var(--color-primary)}.templates-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.templates-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.templates-section-header .package-section-heading{margin:0}.template-diagnose-checkbox{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-weight:500;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.template-diagnose-checkbox input{cursor:pointer;width:auto}.chip{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:2px 10px}.package-card.selected .chip{background-color:#fff;border-color:var(--color-primary);color:var(--color-primary)}.editor-section{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;padding:var(--spacing-lg)}.editor-section,.editor-toolbar{display:flex;gap:var(--spacing-md)}.editor-toolbar{align-items:center;flex-wrap:wrap;justify-content:space-between}.positions-table{background-color:#fff;border-radius:var(--radius-md);margin-bottom:0;overflow:hidden}.positions-table td,.positions-table th{font-size:var(--font-size-sm)}.factor-input{padding:var(--spacing-xs) var(--spacing-sm);width:80px}.factor-input.invalid{background-color:#fef5f5;border-color:var(--color-error)}.btn-icon{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-light);padding:var(--spacing-xs);transition:all .15s ease}.btn-icon:hover{color:var(--color-error)}.catalog-picker{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.catalog-picker-header{border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.catalog-picker-header,.catalog-search{align-items:center;display:flex;gap:var(--spacing-sm)}.catalog-search{color:var(--color-text-light);flex:1 1}.catalog-search input{border:none;padding:var(--spacing-xs) 0}.catalog-search input:focus{box-shadow:none}.catalog-list{max-height:320px;overflow-y:auto}.catalog-group-header{background-color:var(--color-bg);color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.04em;padding:var(--spacing-xs) var(--spacing-md);position:sticky;text-transform:uppercase;top:0}.catalog-row{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.catalog-row:last-child{border-bottom:none}.catalog-row:hover:not(.disabled){background-color:var(--color-primary-light)}.catalog-row.disabled{cursor:not-allowed;opacity:.5}.catalog-code{color:var(--color-primary);font-weight:700;min-width:42px}.catalog-description{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm)}.catalog-price{color:var(--color-text);font-weight:600;white-space:nowrap}.role-badge{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-light);font-size:var(--font-size-xs);padding:2px 8px;white-space:nowrap}.role-badge.role-untersuchung{border-color:var(--color-primary-light);color:var(--color-primary)}.role-badge.role-haupttherapie{color:var(--color-success)}.catalog-reason{color:var(--color-text-light);font-size:var(--font-size-xs);white-space:nowrap}.catalog-empty{color:var(--color-text-light);font-size:var(--font-size-sm);padding:var(--spacing-lg);text-align:center}.contraindication-warnings{background-color:#fff9f4;border-left:3px solid var(--color-warning);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.contraindication-warnings p{align-items:flex-start;color:var(--color-warning);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin:0}.contraindication-warnings svg{flex-shrink:0;margin-top:2px}.summary-bar{align-items:center;background-color:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg)}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-item span{color:var(--color-text-light);font-size:var(--font-size-xs);letter-spacing:.03em;text-transform:uppercase}.summary-item strong{color:var(--color-text);font-size:var(--font-size-lg)}.summary-icon{align-items:center;display:flex;margin-left:auto}.summary-bar.summary-success{border-color:var(--color-success)}.summary-bar.summary-success .summary-icon{color:var(--color-success)}.summary-bar.summary-warning{border-color:var(--color-warning)}.summary-bar.summary-error{border-color:var(--color-error)}.summary-bar.summary-error .summary-icon{color:var(--color-error)}.summary-message{align-items:center;border-radius:var(--radius-md);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin:0;padding:var(--spacing-sm) var(--spacing-md)}.summary-message.error{background-color:#fef5f5;border-left:3px solid var(--color-error);color:var(--color-error)}.summary-message.warning{background-color:#fff9f4;border-left:3px solid var(--color-warning);color:var(--color-warning)}.btn-confirm{align-self:flex-end}@media (max-width:768px){.package-cards{grid-template-columns:1fr}.summary-bar{flex-wrap:wrap;gap:var(--spacing-md)}.btn-confirm{align-self:stretch;justify-content:center}}.session-billing-modal{max-width:820px}.session-billing-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.session-billing-success{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-lg);text-align:center}.session-billing-success-icon{color:var(--color-success)}.session-billing-success p{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.session-billing-success .form-actions{flex-wrap:wrap;width:100%}@media (max-width:768px){.session-billing-success .form-actions .btn{width:100%}}.invoice-list-header-card{margin-bottom:var(--spacing-lg)}.invoice-list-header{align-items:center;display:flex;justify-content:space-between}.invoice-list-header h2{margin:0}.invoice-table-wrapper{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.invoice-table{margin-bottom:0}.invoice-table th{white-space:nowrap}.invoice-row{cursor:pointer}.invoice-expand-cell,.invoice-row-cancelled{color:var(--color-text-light)}.invoice-expand-cell{width:32px}.invoice-number-draft{color:var(--color-text-light);font-style:italic}.invoice-type-meta{color:var(--color-text-light);font-size:var(--font-size-xs);white-space:nowrap}.invoice-list-error{align-items:center;flex-wrap:wrap}.invoice-amount-cancelled{color:var(--color-text-light);text-decoration:line-through}.invoice-actions{display:flex;gap:var(--spacing-xs);white-space:nowrap}.btn-icon{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-icon:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.btn-icon-danger:hover{background-color:#fef5f5;border-color:var(--color-error);color:var(--color-error)}.invoice-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:600;gap:4px;padding:4px 10px;white-space:nowrap}.status-draft{background-color:#eee;color:var(--color-text-light)}.status-sent{background-color:#e3f0fb;color:#1565c0}.status-overdue{background-color:#fef5f5;color:var(--color-error)}.status-paid{background-color:#f1f8f4;color:var(--color-success)}.status-cancelled{background-color:#f0f0f0;color:var(--color-text-light);text-decoration:line-through}.invoice-status-cell{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacing-xs)}.reminder-count-badge{align-items:center;background-color:#fff3e0;border:1px solid #ffe0b2;border-radius:999px;color:var(--color-warning);display:inline-flex;font-size:var(--font-size-xs);font-weight:700;gap:3px;padding:2px 8px;white-space:nowrap}.invoice-reminders{border-top:1px solid var(--color-border);font-size:var(--font-size-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.invoice-reminders-list{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.invoice-reminder-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:4px}.invoice-detail-row td{background-color:var(--color-bg);padding:0}.invoice-detail{padding:var(--spacing-lg)}.invoice-detail-diagnose,.invoice-positions-table{margin-bottom:var(--spacing-md)}.invoice-positions-table{background-color:#fff;border-radius:var(--radius-md);overflow:hidden}.invoice-positions-table td,.invoice-positions-table th{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.invoice-detail-dates{color:var(--color-text-light);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-lg)}.invoice-detail-dates strong{color:var(--color-text)}@media (max-width:768px){.invoice-table-wrapper{overflow-x:auto}.invoice-table{min-width:640px}.invoice-detail-dates{flex-direction:column;gap:var(--spacing-xs)}}.patient-form-fields{display:flex;flex-direction:column;gap:var(--spacing-xl)}.patient-form-section h3{color:var(--color-primary);margin-bottom:var(--spacing-md)}.patient-form-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.patient-form-grid .form-group{margin-bottom:0}.patient-form-span-2{grid-column:span 2}.field-error,.field-hint{font-size:var(--font-size-sm)}@media (max-width:600px){.patient-form-span-2{grid-column:span 1}}.anamnesis-fields{display:flex;flex-direction:column}.pain-level-row{align-items:center;display:flex;gap:var(--spacing-lg)}.pain-level-slider{accent-color:var(--color-primary);flex:1 1;height:44px;width:auto}.pain-level-value{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:700;min-width:2.5em;text-align:center}.pain-level-unknown{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.pain-level-unknown input{height:20px;width:20px}.conditions-checklist{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.tri-state-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.tri-state-label{color:var(--color-text);font-weight:500}.tri-state-options{border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;flex-shrink:0;overflow:hidden}.tri-state-option{background-color:#fff;border:none;border-right:1px solid var(--color-border);color:var(--color-text-light);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;min-height:44px;padding:var(--spacing-sm) var(--spacing-md)}.tri-state-option:last-child{border-right:none}.tri-state-option.selected{background-color:var(--color-primary);color:#fff}.tri-state-option:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.tri-state-row{align-items:flex-start;flex-direction:column}.tri-state-options{width:100%}.tri-state-option{flex:1 1}}.contraindication-checklist{grid-gap:var(--spacing-sm);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:var(--spacing-md)}.contraindication-checkbox{align-items:flex-start;cursor:pointer;display:flex;font-weight:400;gap:var(--spacing-sm);min-height:44px;padding:var(--spacing-xs)}.contraindication-checkbox input{flex-shrink:0;height:20px;margin-top:2px;width:20px}.signature-pad{display:flex;flex-direction:column;gap:var(--spacing-sm)}.signature-pad-header{align-items:center;display:flex;justify-content:space-between}.signature-pad-label{color:var(--color-text);font-weight:600}.signature-pad-canvas-wrap{background-color:#fff;border:2px dashed var(--color-border);border-radius:var(--radius-md);overflow:hidden;position:relative;width:100%}.signature-pad-canvas{cursor:crosshair;display:block;touch-action:none;width:100%}.signature-pad-disabled .signature-pad-canvas{cursor:not-allowed;opacity:.6}.signature-pad-placeholder{color:var(--color-text-light);font-size:var(--font-size-sm);left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.consent-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.consent-card{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.consent-card-header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-sm)}.consent-card-header h4{margin:0}.consent-badge-required{background-color:var(--color-primary-light);border-radius:999px;color:var(--color-primary);flex-shrink:0;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.consent-text-box{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);max-height:180px;overflow-y:auto;padding:var(--spacing-md)}.consent-text-box p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.consent-text-box p:last-child{margin-bottom:0}.consent-checkbox{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:var(--spacing-sm);min-height:44px}.consent-checkbox input{flex-shrink:0;height:22px;width:22px}.consent-check-icon{color:var(--color-success)}.consent-signature-block{border-top:2px solid var(--color-primary-light);display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-lg)}.info-notes{margin-top:var(--spacing-md)}.anamnesis-stand{color:var(--color-text-light);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.consent-modal{max-width:640px}.recipe-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between}.recipe-card-header h3{margin-bottom:var(--spacing-xs)}.recipe-card-prescriber{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.recipe-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.recipe-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:700;padding:4px 10px;white-space:nowrap}.recipe-status-badge.status-aktiv{background-color:var(--color-primary-light);color:var(--color-primary)}.recipe-status-badge.status-abgeschlossen{background-color:#eee;color:var(--color-text-light)}.recipe-deadline-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:600;padding:4px 10px;white-space:nowrap}.recipe-deadline-badge.deadline-ok{background-color:#eee;color:var(--color-text-light)}.recipe-deadline-badge.deadline-warn{background-color:#fff3e0;border:1px solid #ffe0b2;color:var(--color-warning)}.recipe-deadline-badge.deadline-expired{background-color:#fef5f5;border:1px solid #ffcdd2;color:var(--color-error)}.recipe-usage{margin-top:var(--spacing-md)}.recipe-usage-label{color:var(--color-text-light);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.recipe-usage-bar{background-color:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.recipe-usage-bar-fill{background-color:var(--color-primary);border-radius:999px;height:100%;transition:width .2s ease}.recipe-card-notes{color:var(--color-text-light);margin-top:var(--spacing-md);white-space:pre-wrap}.recipe-card-actions{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.recipe-edit-form .form-group:last-of-type{margin-bottom:0}.treatment-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md)}.treatment-card-heading{align-items:center;display:flex;gap:var(--spacing-sm)}.treatment-card-heading h3{margin:0}.treatment-kind-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:700;padding:4px 10px;white-space:nowrap}.treatment-kind-badge.kind-physio{background-color:var(--color-primary-light);color:var(--color-primary)}.treatment-kind-badge.kind-heilpraktiker{background-color:#e3f0fb;color:#1565c0}.treatment-open-badge{align-items:center;background-color:#fff3e0;border-radius:999px;color:var(--color-warning);display:inline-flex;font-size:var(--font-size-xs);font-weight:700;padding:4px 10px;white-space:nowrap}.treatment-diagnose{margin-bottom:var(--spacing-md)}.treatment-recipe-link{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md)}.treatment-notes{color:var(--color-text-light);margin-bottom:var(--spacing-md);white-space:pre-wrap}.treatment-card-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md)}.card .form-actions{align-items:center}.card .form-actions .link-button{flex:0 0 auto;margin-right:auto;padding:var(--spacing-sm) var(--spacing-md)}@media (max-width:768px){.card .form-actions .link-button{margin-right:0;order:3}}.settings-sections{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-explainer{color:var(--color-text-light);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);margin-top:calc(var(--spacing-md)*-1)}.settings-grid{grid-gap:var(--spacing-lg) var(--spacing-xl);display:grid;gap:var(--spacing-lg) var(--spacing-xl);grid-template-columns:repeat(2,1fr)}.settings-grid .form-group{margin-bottom:0}.input-invalid{border-color:var(--color-error)!important}.input-invalid:focus{box-shadow:0 0 0 3px rgba(244,67,54,.12)!important}.field-error{color:var(--color-error)}.field-error,.field-warning{display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.field-warning{color:var(--color-warning)}.field-hint{color:var(--color-text-light);display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.toggle-field-label{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-weight:600;gap:var(--spacing-md);min-height:44px}.toggle-checkbox{height:0;opacity:0;position:absolute;width:0}.toggle-switch{background-color:var(--color-border);border-radius:999px;display:inline-block;flex-shrink:0;height:24px;position:relative;transition:background-color .2s ease;width:44px}.toggle-switch:after{background-color:#fff;border-radius:50%;box-shadow:var(--shadow-sm);content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:20px}.toggle-checkbox:checked+.toggle-switch{background-color:var(--color-primary)}.toggle-checkbox:checked+.toggle-switch:after{transform:translateX(20px)}.toggle-checkbox:focus-visible+.toggle-switch{box-shadow:0 0 0 3px rgba(227,29,29,.25)}.settings-save-bar{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:var(--spacing-lg);justify-content:flex-end;margin-top:var(--spacing-xl);padding:var(--spacing-lg);position:sticky}.settings-unsaved{color:var(--color-warning)}.settings-saved,.settings-unsaved{align-items:center;display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:6px}.settings-saved{color:var(--color-success)}.security-password-section{border-top:1px solid var(--color-border);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.security-password-section h3{margin-bottom:var(--spacing-md)}.password-change-form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:420px}.password-change-form .form-group{margin-bottom:0}.password-checklist{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0}.password-checklist li{align-items:center;color:var(--color-text-light);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.password-checklist li.password-check-ok{color:var(--color-success)}.contraindication-rows{display:flex;flex-direction:column;gap:var(--spacing-lg)}.contraindication-row{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.contraindication-row-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}.contraindication-row-actions{align-items:center;display:flex;gap:var(--spacing-md);justify-content:flex-end}@media (max-width:768px){.contraindication-row-grid,.settings-grid{grid-template-columns:1fr}.settings-save-bar{align-items:stretch;flex-direction:column}.settings-save-bar .btn{justify-content:center;width:100%}}.diagnose-create-form,.diagnose-create-toggle{margin-bottom:var(--spacing-lg)}.diagnose-create-form{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.diagnose-create-fields{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}.diagnose-create-fields .form-group{margin-bottom:0}.diagnose-create-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-sm)}.diagnose-entry-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.diagnose-entry{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.diagnose-entry-inactive{opacity:.65}.diagnose-entry-summary{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-family);gap:var(--spacing-sm);min-height:44px;padding:var(--spacing-sm) var(--spacing-md);text-align:left;width:100%}.diagnose-entry-summary:hover{background-color:var(--color-bg)}.diagnose-entry-summary-text{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--spacing-sm);min-width:0}.diagnose-entry-label{font-weight:600}.diagnose-entry-icd10{color:var(--color-text-light);font-size:var(--font-size-sm)}.diagnose-entry-badge{align-items:center;background-color:#fff3e0;border:1px solid #ffe0b2;border-radius:999px;color:var(--color-warning);display:inline-flex;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px}.diagnose-entry-count{color:var(--color-text-light);font-size:var(--font-size-sm);white-space:nowrap}.diagnose-entry-details{border-top:1px solid var(--color-border);padding:var(--spacing-md)}.diagnose-entry-fields-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.diagnose-entry-actions{flex-wrap:wrap;justify-content:space-between;margin-top:var(--spacing-md)}.diagnose-entry-actions,.diagnose-entry-actions-save{align-items:center;display:flex;gap:var(--spacing-sm)}.diagnose-code-select{display:flex;flex-direction:column;gap:var(--spacing-sm)}.diagnose-code-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.diagnose-code-empty{color:var(--color-text-light);font-size:var(--font-size-sm)}.diagnose-code-chip{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;display:inline-flex;font-size:var(--font-size-sm);gap:6px;padding:4px 8px}.diagnose-code-chip-inactive{opacity:.6;text-decoration:line-through}.diagnose-code-chip-remove{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-light);cursor:pointer;display:inline-flex;height:20px;justify-content:center;width:20px}.diagnose-code-chip-remove:hover{background-color:#fff;color:var(--color-error)}.diagnose-code-picker{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:480px}.diagnose-code-picker-header{align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-text-light);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.diagnose-code-picker-header input{border:none;padding:var(--spacing-xs) 0}.diagnose-code-picker-header input:focus{box-shadow:none}.diagnose-code-picker-close{align-items:center;background:none;border:none;color:var(--color-text-light);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.diagnose-code-picker-list{-webkit-overflow-scrolling:touch;max-height:240px;overflow-y:auto}.diagnose-code-picker-empty{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0;padding:var(--spacing-md)}.diagnose-code-picker-row{align-items:center;background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-sm);gap:var(--spacing-md);min-height:44px;padding:var(--spacing-sm) var(--spacing-md);text-align:left;width:100%}.diagnose-code-picker-row:last-child{border-bottom:none}.diagnose-code-picker-row:hover{background-color:var(--color-bg)}.diagnose-code-picker-code{color:var(--color-primary);font-weight:700;white-space:nowrap}@media (max-width:768px){.diagnose-create-fields,.diagnose-entry-fields-row{grid-template-columns:1fr}.diagnose-entry-summary{flex-wrap:wrap}.diagnose-entry-count{padding-left:calc(18px + var(--spacing-sm));width:100%}}.service-catalog-search{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md)}.service-catalog-search input{border:none;padding:var(--spacing-xs) 0}.service-catalog-search input:focus{box-shadow:none}.service-catalog-section{margin-bottom:var(--spacing-lg)}.service-catalog-group{margin-top:var(--spacing-lg)}.service-catalog-group h3{color:var(--color-primary)}.service-catalog-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.service-catalog-table{margin-bottom:0;min-width:680px}.service-catalog-table th{white-space:nowrap}.service-catalog-table td{vertical-align:middle}.service-catalog-code{color:var(--color-primary);font-weight:700;white-space:nowrap}.service-catalog-input-narrow{width:90px}.service-row-inactive{opacity:.55}.service-catalog-toggle{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:var(--spacing-sm);margin-bottom:0;min-height:44px;white-space:nowrap}.service-catalog-toggle input{cursor:pointer;height:20px;width:20px}.service-catalog-row-actions{align-items:center;display:flex;gap:var(--spacing-sm);white-space:nowrap}.service-catalog-saved-icon{color:var(--color-success);flex-shrink:0}.service-catalog-row-error{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs);max-width:220px;white-space:normal}@media (max-width:768px){.service-catalog-table{min-width:760px}}.intake-row{cursor:pointer}.intake-link-hint{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:400}.intake-collapsible-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:var(--spacing-sm);min-height:44px;padding:0;text-align:left;width:100%}.invite-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.invite-status-open{background-color:var(--color-primary-light);color:var(--color-primary)}.invite-status-submitted{background-color:#e3f2fd;color:#1565c0}.invite-status-approved{background-color:#f1f8f4;color:var(--color-success)}.invite-status-expired,.invite-status-rejected{background-color:#f5f5f5;color:var(--color-text-light)}.compare-row-diff{background-color:#fff9f4}.compare-row-diff td:nth-child(2){color:var(--color-primary-dark);font-weight:700}.intake-summary{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.intake-summary-section{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.intake-summary-section-header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md)}.intake-summary-section-header h3{color:var(--color-primary);margin:0}.intake-summary-edit-btn{flex-shrink:0;min-height:44px}.intake-summary-empty{color:var(--color-text-light);margin:0}.intake-summary-contraindications{gap:var(--spacing-sm);margin-top:var(--spacing-md)}.intake-summary-consents,.intake-summary-contraindications{display:flex;flex-direction:column}.intake-summary-consent-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-sm) 0}.intake-summary-consent-row:last-child{border-bottom:none}.intake-summary-signer{margin-bottom:0;margin-top:var(--spacing-md)}.intake-summary-signature{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-block;margin-top:var(--spacing-sm);padding:var(--spacing-xs)}.intake-summary-signature img{display:block;max-height:60px;width:auto}@media (max-width:480px){.intake-summary-section-header{flex-wrap:wrap}}.public-intake-page{align-items:center;background-color:var(--color-bg);display:flex;flex-direction:column;min-height:100vh;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-2xl)}.public-intake-header{display:flex;justify-content:center;margin-bottom:var(--spacing-xl);max-width:640px;width:100%}.public-intake-header img{height:auto;max-width:260px;width:100%}.public-intake-content{max-width:640px;width:100%}.public-intake-message{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-light);display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.public-intake-message svg{color:var(--color-warning)}.public-intake-success svg{color:var(--color-success)}.public-intake-message p{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.public-intake-progress{margin-bottom:var(--spacing-lg)}.public-intake-progress-bar{background-color:var(--color-border);border-radius:999px;height:8px;margin-bottom:var(--spacing-sm);overflow:hidden;width:100%}.public-intake-progress-fill{background-color:var(--color-primary);height:100%;transition:width .2s ease}.public-intake-progress-label{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:600}@media (max-width:480px){.public-intake-page{padding:var(--spacing-md) var(--spacing-sm) var(--spacing-xl)}}.treatment-groups{display:flex;flex-direction:column;gap:var(--spacing-lg)}.treatment-group-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.treatment-group-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;padding-bottom:var(--spacing-md)}.treatment-group-patient-link{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.treatment-group-patient-link:hover{color:var(--color-primary)}.treatment-mode-select{min-height:44px;min-width:160px;width:auto}.treatment-mode-hint{align-items:center;color:var(--color-text-light);display:flex;font-weight:600;min-height:44px}.treatment-rows{display:flex;flex-direction:column;gap:var(--spacing-xs)}.treatment-row{align-items:flex-start;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);min-height:44px;padding:var(--spacing-sm) var(--spacing-sm)}.treatment-row:hover{background-color:var(--color-bg)}.treatment-row input[type=checkbox]{cursor:pointer;height:20px;margin-top:2px;min-width:20px;width:20px}.treatment-row-text{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);min-width:0}.treatment-row-date{color:var(--color-text);font-weight:600;white-space:nowrap}.treatment-row-notes,.treatment-row-services{color:var(--color-text-light)}.treatment-row-notes{flex-basis:100%;font-size:var(--font-size-sm);font-style:italic}.treatment-group-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;padding-top:var(--spacing-md)}.treatment-group-total{color:var(--color-text-light)}.treatment-group-total strong{color:var(--color-text);font-size:var(--font-size-lg)}.treatment-group-success{align-items:center;color:var(--color-success);display:flex;font-weight:600;gap:var(--spacing-md)}@media (max-width:768px){.treatment-group-footer{align-items:stretch;flex-direction:column}.treatment-group-footer .btn{justify-content:center;width:100%}.treatment-group-success{flex-wrap:wrap}}.open-invoice-treatment-count{color:var(--color-text-light);font-size:var(--font-size-xs);white-space:nowrap}.open-invoices-summary{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--spacing-lg)}.open-invoices-summary-card{align-items:center;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-primary);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.open-invoices-summary-card.danger{background-color:#fef5f5;border-color:#ffcdd2;color:var(--color-error)}.open-invoices-summary-value{color:var(--color-text);display:block;font-size:var(--font-size-2xl);font-weight:700;line-height:1.1}.open-invoices-summary-card.danger .open-invoices-summary-value{color:inherit}.open-invoices-summary-label{color:var(--color-text-light);display:block;font-size:var(--font-size-sm);margin-top:2px}.open-invoices-filter{margin-bottom:var(--spacing-lg)}.open-invoices-filter-toggle{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-weight:500;gap:var(--spacing-sm);margin-bottom:0;min-height:44px}.open-invoices-filter-toggle input{cursor:pointer;height:20px;width:20px}.open-invoices-table-wrapper{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.open-invoices-table{margin-bottom:0}.open-invoices-table th{white-space:nowrap}.open-invoice-row-overdue td{background-color:#fffbfa}.open-invoice-status{color:var(--color-text-light);font-weight:600}.open-invoice-status.status-danger{color:var(--color-error)}.open-invoice-reminder-toggle{align-items:center;background:none;border:none;color:var(--color-primary);cursor:pointer;display:inline-flex;font-weight:600;gap:2px;padding:var(--spacing-xs) var(--spacing-sm)}.open-invoice-actions{display:flex;gap:var(--spacing-xs);white-space:nowrap}.open-invoice-detail-row td{background-color:var(--color-bg);padding:0}.open-invoice-reminder-list{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.open-invoice-reminder-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:6px}@media (max-width:768px){.open-invoices-table-wrapper{overflow-x:auto}.open-invoices-table{min-width:720px}}:root{--color-primary:#e31d1d;--color-primary-dark:#b8151a;--color-primary-light:#f5e6e6;--color-text:#333;--color-text-light:#666;--color-bg:#f9f9f9;--color-bg-header:#e8d5d8;--color-border:#ddd;--color-success:#4caf50;--color-warning:#ff9800;--color-error:#f44336;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f9f9;background-color:var(--color-bg);color:#333;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);line-height:1.6}a{color:#e31d1d;color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:2rem;font-size:var(--font-size-3xl);font-weight:700}h1,h2{margin-bottom:1rem;margin-bottom:var(--spacing-md)}h2{font-size:1.5rem;font-size:var(--font-size-2xl)}h2,h3{font-weight:600}h3{font-size:1.25rem;font-size:var(--font-size-xl);margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}p{color:#666;color:var(--color-text-light);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:1rem;font-size:var(--font-size-base);font-weight:600;gap:.5rem;gap:var(--spacing-sm);padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.btn-primary{background-color:#e31d1d;background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:#b8151a;background-color:var(--color-primary-dark);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.btn-secondary{background-color:#f9f9f9;background-color:var(--color-bg);border:2px solid #e31d1d;border:2px solid var(--color-primary);color:#e31d1d;color:var(--color-primary)}.btn-secondary:hover{background-color:#f5e6e6;background-color:var(--color-primary-light)}.btn-danger{background-color:#f44336;background-color:var(--color-error);color:#fff}.btn-danger:hover{background-color:#c62828;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.btn-small{font-size:.875rem;font-size:var(--font-size-sm);padding:.25rem 1rem;padding:var(--spacing-xs) var(--spacing-md)}.btn:disabled{cursor:not-allowed;opacity:.5}.form-group{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}label{display:block;font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}input,label,select,textarea{color:#333;color:var(--color-text)}input,select,textarea{background-color:#fff;border:1px solid #ddd;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-md);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s ease;width:100%}input:focus,select:focus,textarea:focus{border-color:#e31d1d;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(227,29,29,.1);outline:none}textarea{min-height:100px;resize:vertical}.card{background-color:#fff;border:1px solid #ddd;border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--spacing-lg)}.card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);box-shadow:var(--shadow-md);transition:box-shadow .2s ease}table{border-collapse:collapse;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);width:100%}thead{background-color:#f5e6e6;background-color:var(--color-primary-light);border-bottom:2px solid #e31d1d;border-bottom:2px solid var(--color-primary)}td,th{border-bottom:1px solid #ddd;border-bottom:1px solid var(--color-border);padding:1rem;padding:var(--spacing-md);text-align:left}th{color:#333;color:var(--color-text);font-weight:600}tr:hover{background-color:#f9f9f9;background-color:var(--color-bg)}.alert{border-radius:8px;border-radius:var(--radius-md);display:flex;gap:1rem;gap:var(--spacing-md);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.alert-success{background-color:#f1f8f4;border:1px solid #c8e6c9;color:#4caf50;color:var(--color-success)}.alert-error{background-color:#fef5f5;border:1px solid #ffcdd2;color:#f44336;color:var(--color-error)}.alert-warning{background-color:#fff9f4;border:1px solid #ffe0b2;color:#ff9800;color:var(--color-warning)}.loading{animation:spin 1s linear infinite;border:3px solid #ddd;border-top-color:#e31d1d;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){:root{--font-size-3xl:1.5rem;--font-size-2xl:1.25rem}.card{padding:1rem;padding:var(--spacing-md)}table{font-size:.875rem;font-size:var(--font-size-sm)}td,th{padding:.5rem;padding:var(--spacing-sm)}}