.login-page{align-items:center;background:#fff;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;left:0;overflow:hidden;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));right:0;top:0;width:100%}.language-switcher-wrapper,.login-page{position:fixed;transition:all .4s cubic-bezier(.4,0,.2,1)}.language-switcher-wrapper{left:20px;top:calc(20px + env(safe-area-inset-top));z-index:10}.logo-container{display:flex;justify-content:center;margin-bottom:24px}.logo-container,.logo-svg{transition:all .4s cubic-bezier(.4,0,.2,1)}.logo-svg{height:200px;width:auto}.app-subtitle{color:#64748b;font-size:14px;font-weight:500;margin:0 0 32px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.app-subtitle,.login-form{max-width:440px;width:100%}.login-form{margin-top:0}.input-group{margin-bottom:24px}.input-label{color:#334155;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-field{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;font-size:16px;padding:14px 16px;transition:all .3s ease;width:100%}.input-field:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.input-field:disabled{background:#f1f5f9;cursor:not-allowed}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:24px;padding:14px;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 10px 30px #667eea66;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.button-loading{align-items:center;display:flex;gap:8px;justify-content:center}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;display:flex;gap:8px;margin-top:16px;padding:12px 16px}.error-icon{font-size:18px}.sms-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:24px;padding:16px;text-align:center}.sms-icon{display:block;font-size:32px;margin-bottom:8px}.sms-notice p{color:#1e40af;font-size:14px;line-height:1.5;margin:0}.back-button{background:#0000;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:12px;transition:all .3s ease;width:100%}.back-button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.back-button:disabled{cursor:not-allowed;opacity:.5}.login-footer{border-top:1px solid #e2e8f0;margin-top:32px;max-width:440px;padding-top:24px;text-align:center;width:100%}.powered-by{color:#94a3b8;font-size:12px;margin:0}@media (max-width:768px){.login-page{padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.login-page.keyboard-open{padding-top:calc(134px + env(safe-area-inset-top))}.login-page.keyboard-open .logo-svg{height:140px}.login-page.keyboard-open .logo-container{margin-bottom:5px}.login-page.keyboard-open .app-subtitle{font-size:13px;margin-bottom:5px}.language-switcher-wrapper{left:16px;top:calc(16px + env(safe-area-inset-top))}}@media (max-width:480px){.login-page{padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.login-form{max-width:100%}.logo-svg{height:180px}.login-page.keyboard-open{padding-top:calc(134px + env(safe-area-inset-top))}.login-page.keyboard-open .logo-svg{height:110px}.login-page.keyboard-open .logo-container{margin-bottom:5px}.login-page.keyboard-open .app-subtitle{font-size:12px;margin-bottom:5px}.language-switcher-wrapper{left:16px;top:calc(16px + env(safe-area-inset-top))}}@media (min-width:769px){.login-page.keyboard-open .logo-svg{height:200px}.login-page.keyboard-open .logo-container{margin-bottom:24px}.login-page.keyboard-open .app-subtitle{font-size:14px;margin-bottom:32px}}.dashboard-container{background:#f8fafc;bottom:0;display:flex;flex-direction:column;height:100vh;height:100dvh;height:-webkit-fill-available;left:0;overflow:hidden;position:fixed;right:0;top:0;width:100%;z-index:1}@supports (-webkit-touch-callout:none){.dashboard-container{height:-webkit-fill-available}}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #0000001a;display:flex;flex-shrink:0;justify-content:space-between;padding:calc(20px + env(safe-area-inset-top)) 32px 20px;position:relative;z-index:100}.dashboard-content{-webkit-overflow-scrolling:touch;flex:1 1;height:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:32px 32px calc(32px + env(safe-area-inset-bottom));position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}body{overscroll-behavior-y:contain}.dashboard-title,.header-left{align-items:center;display:flex}.dashboard-title{color:#fff;font-size:24px;font-weight:700;gap:8px;margin:0}.logo-emoji{font-size:28px}.header-right{gap:16px}.header-middle,.header-right{align-items:center;display:flex}.header-middle{flex:1 1;justify-content:center}.user-name{font-weight:500}.logout-btn,.user-name{color:#fff;font-size:14px}.logout-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 20px;transition:all .3s ease}.logout-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.back-nav-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .3s ease;white-space:nowrap}.back-nav-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.welcome-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:32px;padding:24px}.welcome-section h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0 0 8px}.welcome-section p{color:#64748b;font-size:16px;margin:0}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:24px;padding-bottom:32px}.dashboard-card{align-items:flex-start;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;flex-direction:column;padding:28px;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 8px 24px #667eea26;transform:translateY(-4px)}.card-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;box-shadow:0 4px 12px #667eea4d;display:flex;font-size:28px;height:56px;justify-content:center;margin-bottom:16px;width:56px}.dashboard-card h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 8px}.dashboard-card p{color:#64748b;flex:1 1;font-size:14px;line-height:1.5;margin:0 0 20px}.card-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease;width:100%}.card-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.card-button:active{transform:translateY(0)}.dashboard-card:has([style*="animation: pulse"]):hover{box-shadow:0 8px 24px #ef444433;transform:translateY(-8px)}@media (max-width:768px){.validation-summary-grid{grid-template-columns:1fr!important}.dashboard-header{flex-wrap:wrap;gap:12px;padding:calc(16px + env(safe-area-inset-top)) 20px 16px}.header-left{flex:0 0 auto}.header-middle{flex:1 1 auto;justify-content:flex-end;margin-left:12px;min-width:0}.header-right{flex:1 1 100%;gap:12px;justify-content:space-between;margin-top:4px}.dashboard-title{font-size:20px}.dashboard-content{padding:20px 20px calc(40px + env(safe-area-inset-bottom))}.welcome-section{padding:20px}.welcome-section h2{font-size:24px}.dashboard-grid{gap:16px;grid-template-columns:1fr;padding-bottom:40px}.dashboard-card{padding:20px}.user-name{font-size:13px}.back-nav-btn,.logout-btn{font-size:13px;padding:6px 14px}}@media (max-width:480px){.dashboard-header{padding:calc(12px + env(safe-area-inset-top)) 20px 12px}.dashboard-title{font-size:18px}.logo-emoji{font-size:24px}.dashboard-content{padding:16px 16px calc(40px + env(safe-area-inset-bottom))}.welcome-section h2{font-size:20px}.welcome-section p{font-size:14px}}.occupancy-manager{box-sizing:border-box;margin:0 auto;max-width:1400px;overflow-x:hidden;width:100%}.occupancy-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.occupancy-header h2{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 20px}.week-navigation{margin-bottom:16px}.nav-btn{word-wrap:break-word;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;color:#475569;font-size:14px;font-weight:600;line-height:1.4;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 24px;text-align:center;white-space:normal}.nav-btn:hover{background:#e2e8f0;border-color:#cbd5e1;color:#1e293b}.nav-btn-today{word-wrap:break-word;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;line-height:1.4;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 24px;text-align:center;transition:all .2s;white-space:normal}.nav-btn-today:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.week-display{background:#f8fafc;border-radius:8px;color:#475569;padding:8px 16px}.view-tabs{-webkit-overflow-scrolling:touch;box-sizing:border-box;max-width:100%;overflow-x:auto;width:100%}.view-tabs .tab{word-wrap:break-word;line-height:1.4;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:normal}.occupancy-overview{display:flex;flex-direction:column;gap:24px}.kindergarten-totals{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.kindergarten-totals h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 20px}.occupancy-table{background:#fff;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.occupancy-table thead{background:#f8fafc}.occupancy-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:13px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-align:center;text-transform:uppercase}.occupancy-table th:first-child{padding-left:20px;text-align:left}.occupancy-table tbody tr{transition:background .2s}.occupancy-table tbody tr:hover{background:#f8fafc}.occupancy-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:15px;padding:14px 16px;text-align:center}.occupancy-table td:first-child{font-weight:600;padding-left:20px;text-align:left}.occupancy-legend{grid-gap:32px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #cbd5e1;border-radius:12px;box-shadow:0 4px 12px #00000014;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px;padding:24px}.legend-section{display:flex;flex-direction:column;gap:16px}.legend-title{border-bottom:2px solid #667eea;color:#1e293b;font-size:16px;font-weight:700;margin:0;padding-bottom:8px}.legend-items{flex-direction:column;gap:12px}.legend-color-box{border:1px solid #0000001a;border-radius:6px;box-shadow:0 2px 4px #00000026;flex-shrink:0;height:24px;width:24px}.legend-text{color:#334155;font-size:14px;line-height:1.4}.legend-metrics{display:flex;flex-direction:column;gap:12px}.metric-explanation{display:flex;flex-direction:column;gap:4px}.metric-label{color:#1e293b;font-size:14px;font-weight:600}.metric-description{color:#64748b;font-size:13px;line-height:1.4;padding-left:12px}.kindergarten-total-section{margin-bottom:32px}.kindergarten-total-section h3{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 8px}.section-description{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 20px}.kindergarten-occupancy-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 24px #667eea4d;padding:32px}.total-stats-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;box-shadow:0 2px 8px #0000001a;gap:16px;padding:20px;transition:all .3s}.stat-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.stat-icon{flex-shrink:0;font-size:36px}.stat-content{flex:1 1}.stat-content .stat-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.stat-content .stat-value{color:#1e293b;font-size:28px;font-weight:700}.kindergarten-grid{background:#fff;border-radius:12px;padding:20px}.kindergarten-cell{border-width:3px;box-shadow:0 2px 6px #0000001a}.kindergarten-cell:hover{box-shadow:0 6px 16px #0003;transform:scale(1.05)}.available-value{color:#22c55e!important;font-size:16px;font-weight:700}.groups-detail h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 20px}.group-occupancy-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;padding:24px;transition:transform .2s,box-shadow .2s}.group-occupancy-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.group-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.group-header,.group-header h4{align-items:center;display:flex}.group-header h4{color:#1e293b;font-size:18px;font-weight:700;gap:10px;margin:0}.group-color-dot{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0000001a;display:inline-block;height:16px;width:16px}.group-stats{color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:20px}.capacity-stat{align-items:center;display:flex;gap:8px}.capacity-warning-banner{background:#fef3c7;border:2px solid #fbbf24;border-radius:8px;margin:16px 0;padding:12px 16px}.capacity-warning-banner .warning-item{color:#92400e;font-size:14px;line-height:1.6;margin:4px 0}.capacity-warning-banner .warning-item strong{color:#78350f}.time-slot-grid{margin-top:20px;overflow-x:auto;width:100%}.grid-header,.grid-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:120px repeat(5,1fr);margin-bottom:8px}.grid-cell{align-items:center;border-radius:8px;display:flex;justify-content:center;min-height:60px;transition:all .3s ease}.header-cell{color:#475569;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.header-cell,.row-header{background:#f8fafc;border:2px solid #e2e8f0;font-size:14px}.row-header{color:#334155;font-weight:600;padding:0 12px;text-align:left}.capacity-cell{border:2px solid #e2e8f0;cursor:pointer;overflow:hidden;position:relative}.capacity-cell:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.02);z-index:10}.capacity-cell.expanded{background:#fff!important;border-width:3px;min-height:100px}.cell-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:8px;width:100%}.capacity-cell:not(.expanded) .cell-content{flex-direction:row;gap:8px}.capacity-cell .percentage{font-size:16px;font-weight:700}.capacity-cell .emoji{font-size:20px}.details{flex-direction:column;gap:6px}.detail-row,.details{display:flex;width:100%}.detail-row{align-items:center;font-size:13px;justify-content:space-between;min-width:0;padding:0 4px}.detail-row .label{color:#64748b;flex-shrink:0;font-weight:500;white-space:nowrap}.detail-row .value{color:#1e293b;font-weight:700}.detail-row.percentage-row{border-top:1px solid #e2e8f0;justify-content:center;margin-top:4px;padding-top:6px}.detail-row.percentage-row .percentage{font-size:16px;font-weight:700}@media (max-width:768px){.grid-header,.grid-row{gap:3px;grid-template-columns:80px repeat(5,1fr)}.grid-cell{font-size:11px;min-height:45px;padding:4px}.capacity-cell .percentage,.detail-row.percentage-row .percentage{font-size:13px}.capacity-cell .emoji{font-size:14px}.row-header{font-size:11px;padding:0 6px}.header-cell{font-size:11px;padding:0 4px}.detail-row{font-size:10px;gap:2px;padding:0 2px}.detail-row .label{flex-shrink:0;font-size:9px;max-width:45px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-row .value{font-size:10px;font-weight:700}.capacity-cell.expanded{min-height:100px;padding:6px 4px}.capacity-cell.expanded button{font-size:9px!important;margin-top:6px!important;overflow:hidden;padding:4px 6px!important;text-overflow:ellipsis;white-space:nowrap}.cell-content{padding:6px 4px}.details{gap:3px;width:100%}}@media (max-width:480px){.time-slot-grid{overflow-x:visible}.grid-header,.grid-row{gap:2px;grid-template-columns:60px repeat(5,1fr);margin-bottom:4px}.grid-cell{border-radius:4px;font-size:10px;min-height:40px;padding:2px}.capacity-cell .percentage,.detail-row.percentage-row .percentage{font-size:11px}.capacity-cell .emoji{font-size:12px}.row-header{font-size:9px;padding:0 4px;writing-mode:horizontal-tb}.header-cell{font-size:9px;padding:0 2px}.detail-row{font-size:9px;gap:1px;padding:0 1px}.detail-row .label{flex-shrink:0;font-size:8px;max-width:35px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-row .value{font-size:9px;font-weight:700}.capacity-cell.expanded{min-height:95px;padding:4px 2px}.capacity-cell.expanded button{font-size:8px!important;line-height:1.2;margin-top:4px!important;overflow:hidden;padding:3px 4px!important;text-overflow:ellipsis;white-space:nowrap}.cell-content{padding:4px 2px}.details{gap:2px;width:100%}}.group-occupancy-table{border-collapse:collapse;margin-bottom:16px;width:100%}.group-occupancy-table thead{background:#f8fafc}.group-occupancy-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:12px;font-weight:700;letter-spacing:.5px;padding:10px 12px;text-align:center;text-transform:uppercase}.group-occupancy-table th:first-child{text-align:left}.group-occupancy-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:14px;padding:12px;text-align:center}.group-occupancy-table td:first-child{font-weight:600;text-align:left}.group-average{background:#f8fafc;border-radius:8px;color:#475569;font-size:14px;font-weight:600;padding:12px 16px;text-align:center}.loading-message{color:#64748b;font-size:18px;font-weight:600}.error-message{background:#fee2e2;border:2px solid #fca5a5;border-radius:12px;margin:20px 0;padding:24px;text-align:center}.error-message p{font-size:16px;margin:0 0 16px}.retry-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.retry-btn:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-2px)}.capacity-settings-view,.children-list-view{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 40px;text-align:center}.capacity-settings-view p,.children-list-view p{color:#64748b;font-size:18px;font-weight:600;margin:0}@media (max-width:768px){.occupancy-manager{padding:0 12px}.occupancy-header{padding:16px}.occupancy-header h2{font-size:20px}.week-navigation{flex-wrap:wrap;gap:6px}.nav-btn,.nav-btn-today{flex:1 1;font-size:13px;max-width:100%;min-width:0;padding:10px 12px}.week-display{flex:1 1 100%;font-size:13px;padding:6px 12px}.kindergarten-selector{align-items:stretch;flex-direction:column}.kindergarten-selector .form-select{min-width:auto;width:100%}.view-tabs{gap:4px;overflow-x:auto;padding:6px}.view-tabs .tab{flex-shrink:1;font-size:12px;min-width:0;padding:10px 12px}.group-header{align-items:flex-start;flex-direction:column;gap:8px}.group-occupancy-card{padding:16px}.group-occupancy-table,.occupancy-table{font-size:12px}.group-occupancy-table td,.group-occupancy-table th,.occupancy-table td,.occupancy-table th{padding:8px 6px}.total-stats-summary{gap:12px;grid-template-columns:1fr}.kindergarten-occupancy-card,.stat-card{padding:16px}.kindergarten-grid{padding:12px}.kindergarten-grid .detail-row .label{max-width:55px}.occupancy-legend{gap:24px;grid-template-columns:1fr;padding:20px}.legend-title{font-size:15px}.legend-text,.metric-label{font-size:13px}.metric-description{font-size:12px}}@media (max-width:480px){.occupancy-header{padding:12px}.occupancy-header h2{font-size:18px}.week-navigation{gap:4px}.nav-btn,.nav-btn-today{font-size:12px;max-width:100%;min-width:0;padding:8px 10px}.week-display{font-size:11px;padding:6px 10px}.view-tabs .tab{flex-shrink:1;font-size:11px;min-width:0;padding:8px 10px}.group-occupancy-card,.kindergarten-totals{padding:12px}.group-header h4{font-size:16px}.group-occupancy-table,.occupancy-table{font-size:11px}.group-occupancy-table td,.group-occupancy-table th,.occupancy-table td,.occupancy-table th{padding:6px 4px}.stat-card{gap:12px;padding:12px}.stat-icon{font-size:28px}.stat-content .stat-value{font-size:22px}.stat-content .stat-label{font-size:10px}.kindergarten-occupancy-card{padding:12px}.kindergarten-grid{padding:8px}.kindergarten-grid .detail-row .label{max-width:42px}.occupancy-legend{gap:20px;padding:16px}.legend-title{font-size:14px}.legend-items{gap:10px}.legend-color-box{height:20px;width:20px}.legend-text{font-size:12px}.legend-metrics{gap:10px}.metric-label{font-size:12px}.metric-description{font-size:11px;padding-left:8px}}.child-booking-list{display:flex;flex-direction:column;gap:24px}.filters-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.filters-section h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 20px}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.filters-grid .filter-item:first-child{grid-column:1/-1}.filters-container{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.filter-row{grid-gap:16px;align-items:end;gap:16px}.filter-actions-row{border-top:1px solid #e2e8f0;display:flex;justify-content:flex-start;padding-top:8px}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{color:#475569;font-size:13px;font-weight:600}.filter-input,.filter-select{border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:14px;padding:10px 14px;transition:all .2s}.filter-input:focus,.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-actions{align-items:flex-end}.clear-filters-btn{background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;width:100%}.clear-filters-btn:hover{background:#e2e8f0;color:#1e293b}.results-count{background:#f8fafc;border-radius:8px;color:#64748b;font-size:14px;font-weight:600;padding:12px 16px;text-align:center}.children-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.children-table{border-collapse:collapse;width:100%}.children-table thead{background:#f8fafc}.children-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.children-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .2s}.children-table tbody tr:hover{background:#f8fafc}.children-table td{color:#334155;font-size:14px;padding:14px 16px}.child-row{cursor:pointer}.child-photo{border-radius:50%;height:40px;overflow:hidden;width:40px}.child-photo img{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:14px;font-weight:700;height:100%;justify-content:center;width:100%}.child-name{color:#1e293b}.booking-badge,.group-badge,.type-badge{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.group-badge{background:#3b82f6}.type-badge{background:#64748b;color:#fff}.schedule-cell{font-family:Courier New,monospace}.schedule-code{background:#f1f5f9;border-radius:4px;color:#475569;font-size:13px;font-weight:600;padding:4px 8px}.no-results{color:#64748b;font-weight:600;padding:40px;text-align:center}.children-table-container{display:none}.children-cards-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.child-card{background:#fff;border:2px solid #f1f5f9;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease}.child-card:hover{border-color:#667eea;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.child-card-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #f1f5f9;display:flex;gap:16px;padding:20px}.child-card-title{display:flex;flex:1 1;flex-direction:column;gap:8px}.child-card-title h4{color:#1e293b;font-size:18px;font-weight:700;margin:0}.child-card-body{gap:16px;padding:20px}.card-detail-row,.child-card-body{display:flex;flex-direction:column}.card-detail-row{gap:8px}.card-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.card-value{color:#1e293b;font-size:14px;font-weight:500}.booking-progress{width:100%}.booking-progress-bar{background:#f1f5f9;border-radius:8px;box-shadow:inset 0 2px 4px #0000000f;height:32px;overflow:hidden;position:relative;width:100%}.booking-progress-bar>div{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .3s ease}.booking-progress-bar>div span{color:#fff;font-size:13px;font-weight:700;position:relative;text-shadow:0 1px 2px #0003;z-index:2}.child-card-footer{background:#f8fafc;border-top:2px solid #f1f5f9;display:flex;justify-content:flex-end;padding:16px 20px}.card-edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.card-edit-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.no-results-card{color:#64748b;font-size:16px;font-weight:600;padding:60px 20px;text-align:center}.no-results-card,.schedule-legend{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.schedule-legend{padding:20px}.schedule-legend h4{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 12px}.legend-items{display:flex;flex-wrap:wrap;gap:24px}.schedule-boxes{gap:4px}.schedule-box,.schedule-boxes{align-items:center;display:flex}.schedule-box{background:#fff;border:2px solid #cbd5e1;border-radius:6px;height:32px;justify-content:center;overflow:hidden;position:relative;width:36px}.schedule-box.legend-box{height:36px;width:40px}.box-fill-left,.box-fill-right{background:#64748b;bottom:0;position:absolute;top:0;transition:all .3s;width:50%;z-index:1}.box-fill-left{border-radius:4px 0 0 4px;left:0}.box-fill-right{border-radius:0 4px 4px 0;right:0}.box-label{color:#475569;font-size:11px;font-weight:700;position:relative;text-transform:uppercase;transition:color .3s;z-index:2}.schedule-box.none .box-fill-left,.schedule-box.none .box-fill-right{background:#0000}.schedule-box.morning .box-fill-left{background:#3b82f6}.schedule-box.morning .box-fill-right{background:#0000}.schedule-box.morning .box-label{color:#fff;text-shadow:0 1px 2px #0000004d}.schedule-box.afternoon .box-fill-left{background:#0000}.schedule-box.afternoon .box-fill-right{background:#f59e0b}.schedule-box.afternoon .box-label{color:#fff;text-shadow:0 1px 2px #0000004d}.schedule-box.full .box-fill-left,.schedule-box.full .box-fill-right{background:#22c55e}.schedule-box.full .box-label{color:#fff;text-shadow:0 1px 2px #0000004d}.schedule-box:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.1);z-index:10}.legend-box{cursor:default}.legend-item{color:#475569;font-size:14px;gap:12px}.booking-editor-form{display:flex;flex-direction:column;gap:24px}.form-error{background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:14px;padding:12px 16px}.child-info-header{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:16px;padding:16px}.child-photo-large{border-radius:50%;flex-shrink:0;height:64px;overflow:hidden;width:64px}.child-photo-large img{height:100%;object-fit:cover;width:100%}.photo-placeholder-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:24px;font-weight:700;height:100%;justify-content:center;width:100%}.child-details h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 8px}.child-details p{color:#64748b;font-size:14px;margin:0}.schedule-editor{display:flex;flex-direction:column;gap:12px}.schedule-day{align-items:center;display:flex;gap:12px}.day-label{color:#475569;font-size:14px;font-weight:600;min-width:100px}.schedule-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;flex:1 1;font-size:14px;padding:10px 14px;transition:all .2s}.schedule-select:hover{border-color:#cbd5e1}.schedule-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.fte-display{grid-gap:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px}.fte-item{text-align:center}.fte-item label{color:#ffffffe6;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.fte-value{color:#fff;font-size:28px;font-weight:700}.form-group label{color:#475569}.form-input,.form-select,.form-textarea{padding:10px 14px}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#cbd5e1}.form-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-actions{border-top:2px solid #f1f5f9;justify-content:flex-end;padding-top:16px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.cancel-btn{background:#f1f5f9;color:#475569}.cancel-btn:hover:not(:disabled){background:#e2e8f0}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.save-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.5}.capacity-settings{display:flex;flex-direction:column;gap:24px}.settings-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.settings-header h3{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 8px}.settings-header p{color:#64748b;font-size:14px;margin:0}.success-message{background:#dcfce7;border:2px solid #86efac;border-radius:8px;color:#166534}.error-banner,.success-message{font-size:14px;font-weight:600;padding:12px 16px}.error-banner{background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;color:#991b1b}.groups-settings-list{display:flex;flex-direction:column;gap:16px}.group-settings-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;transition:transform .2s,box-shadow .2s}.group-settings-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.group-settings-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.group-settings-header h4{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:700;gap:10px;margin:0}.edit-capacity-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.edit-capacity-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.edit-actions{display:flex;gap:10px}.cancel-edit-btn,.save-edit-btn{border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.cancel-edit-btn{background:#f1f5f9;border:2px solid #e2e8f0;color:#475569}.save-edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.capacity-form{gap:20px}.capacity-form,.form-field{display:flex;flex-direction:column}.form-field{gap:8px}.capacity-input{border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:14px;padding:10px 14px;transition:all .2s}.capacity-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.field-hint{color:#94a3b8;font-size:12px;font-style:italic}.visual-capacity-editor{background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:32px;padding:24px}.capacity-explanation{text-align:center}.capacity-explanation h5{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 8px}.explanation-text{color:#64748b;font-size:14px;line-height:1.6;margin:0}.slider-container{display:flex;flex-direction:column;gap:12px}.slider-label{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:600;justify-content:space-between}.slider-value{background:#fff;border-radius:20px;box-shadow:0 2px 8px #667eea33;color:#667eea;font-size:20px;font-weight:700;padding:6px 16px}.capacity-slider{-webkit-appearance:none;background:linear-gradient(90deg,#22c55e,#eab308 50%,#ef4444);border-radius:6px;cursor:pointer;height:12px;outline:none;width:100%}.capacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:4px solid #667eea;border-radius:50%;box-shadow:0 4px 12px #0003;cursor:pointer;height:28px;-webkit-transition:all .2s;transition:all .2s;width:28px}.capacity-slider::-webkit-slider-thumb:hover{box-shadow:0 6px 16px #667eea66;transform:scale(1.2)}.capacity-slider::-moz-range-thumb{background:#fff;border:4px solid #667eea;border-radius:50%;box-shadow:0 4px 12px #0003;cursor:pointer;height:28px;-moz-transition:all .2s;transition:all .2s;width:28px}.capacity-slider::-moz-range-thumb:hover{box-shadow:0 6px 16px #667eea66;transform:scale(1.2)}.slider-markers{color:#94a3b8;display:flex;font-size:12px;font-weight:600;justify-content:space-between;margin-top:4px}.slider-hint{background:#fff;border-radius:8px;color:#64748b;font-size:13px;margin-top:8px;padding:12px;text-align:center}.slider-hint strong{color:#667eea;font-size:16px}.capacity-scenarios{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:8px 0}.scenario-card{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:20px;transition:all .3s}.scenario-card:hover{border-color:#667eea;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.scenario-card.closed-group{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;width:100%}.scenario-card.closed-group:hover{border-color:#ef4444;box-shadow:0 8px 24px #ef444433}.scenario-icon{flex-shrink:0;font-size:32px}.scenario-content{flex:1 1}.scenario-content h6{color:#1e293b;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.scenario-value{color:#667eea;font-size:24px;font-weight:700;margin-bottom:4px}.scenario-description{color:#64748b;font-size:12px;line-height:1.4;margin:0}.capacity-info{display:flex;flex-direction:column;gap:16px}.info-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{gap:8px}.info-item label{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{font-size:20px;font-weight:700}.age-years{color:#64748b;font-size:14px;font-weight:400;margin-left:8px}@media (max-width:768px){.filters-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.filter-row{gap:12px;grid-template-columns:1fr}.children-cards-container{gap:16px;grid-template-columns:1fr}.child-card-body,.child-card-header{padding:16px}.child-card-footer{padding:12px 16px}.children-table{font-size:12px}.children-table td,.children-table th{padding:10px 8px}.child-photo{height:32px;width:32px}.photo-placeholder{font-size:12px}.schedule-box{height:28px;width:30px}.box-label{font-size:10px}.schedule-day{align-items:stretch;flex-direction:column}.day-label{min-width:auto}.form-row,.info-row{grid-template-columns:1fr}.legend-items{flex-wrap:wrap;gap:12px}}@media (max-width:480px){.filters-grid{gap:10px;grid-template-columns:1fr}.filter-item label{font-size:12px}.filter-input,.filter-select{font-size:13px;padding:8px 12px}.results-count{font-size:12px;padding:10px 12px}.children-cards-container{gap:12px;grid-template-columns:1fr}.child-card{border-radius:8px}.child-card-header{gap:12px;padding:12px}.child-card-title h4{font-size:16px}.child-photo-large{height:56px;width:56px}.photo-placeholder-large{font-size:20px}.child-card-body{gap:12px;padding:12px}.card-detail-row{gap:6px}.card-label{font-size:11px}.card-value{font-size:13px}.child-card-footer{padding:10px 12px}.card-edit-btn{font-size:13px;padding:8px 16px;width:100%}.booking-progress-bar{height:28px}.booking-progress-bar>div span{font-size:12px}.no-results-card{font-size:14px;padding:40px 16px}.children-table{font-size:11px;min-width:100%}.children-table td,.children-table th{padding:8px 4px}.children-table th{font-size:10px}.child-photo{height:28px;width:28px}.photo-placeholder{font-size:11px}.booking-badge,.group-badge,.status-badge,.type-badge{font-size:10px;padding:3px 8px}.schedule-box{height:24px;width:26px}.box-label{font-size:9px}.schedule-boxes{gap:2px}.edit-capacity-btn{font-size:11px;padding:6px 12px}.schedule-legend{padding:16px}.schedule-legend h4{font-size:14px;margin-bottom:10px}.legend-items{gap:10px}.legend-item{font-size:12px}.legend-box{height:28px;width:32px}}.eligibility-display-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.eligibility-display-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:100%}.close-button{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;padding:0;position:absolute;right:20px;top:20px;transition:all .2s;width:36px;z-index:10}.close-button:hover{background:#e5e7eb;color:#374151}.modal-content{padding:40px}.modal-content h2{color:#111827;font-size:24px;margin:0 0 30px;padding-right:40px}.eligibility-card{border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.eligibility-card .card-header{align-items:center;display:flex;gap:15px;padding:20px}.success-card .card-header{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.warning-card .card-header{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.error-card .card-header{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.status-icon{font-size:32px}.card-header h3{font-size:20px;font-weight:600;margin:0}.card-body{background:#fff;padding:25px}.child-info{color:#374151;font-size:15px;margin-bottom:20px}.voucher-amounts{margin:25px 0}.voucher-amounts h4{color:#111827;font-size:16px;margin:0 0 15px}.amount-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.amount-card{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;color:#fff;padding:20px;text-align:center}.amount-label{font-size:13px;margin-bottom:8px;opacity:.9}.amount-value{font-size:32px;margin-bottom:6px}.amount-sublabel{font-size:12px;opacity:.8}.details-section{margin:25px 0}.details-section h4{color:#111827;font-size:16px;margin:0 0 15px}.info-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:15px}.info-row{justify-content:space-between;padding:8px 0}.info-row strong{font-size:14px}.info-row span{color:#111827;font-size:14px;font-weight:500}.reason-box{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:15px}.reason-box h4{color:#991b1b;font-size:14px;margin:0 0 10px}.reason-box p{color:#7f1d1d;font-size:14px;margin:0}.note-section{border-top:1px solid #e5e7eb;margin-top:25px;padding-top:20px}.note{color:#6b7280;font-size:13px;line-height:1.6;margin:0}.note strong{color:#374151}.info-message{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;margin-top:15px;padding:15px}.info-message p{color:#075985;font-size:14px;margin:0}.action-message{background:#fef3c7;border:1px solid #fde047;border-radius:6px;margin-top:15px;padding:15px}.action-message p{color:#92400e;font-size:14px;margin:0}.modal-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding-top:20px}.modal-footer .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.modal-footer .btn-primary{background:#3b82f6;color:#fff}.modal-footer .btn-primary:hover{background:#2563eb}@media (max-width:768px){.eligibility-display-overlay{padding:10px}.eligibility-display-modal{max-height:95vh}.modal-content{padding:30px 20px}.modal-content h2{font-size:20px;padding-right:50px}.close-button{font-size:20px;height:32px;right:15px;top:15px;width:32px}.card-header{padding:15px}.card-header h3{font-size:18px}.card-body{padding:20px 15px}.amount-grid{grid-template-columns:1fr}.amount-value{font-size:28px}}.child-voucher-manager{margin:0 auto;max-width:900px;padding:20px}.voucher-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px}.voucher-header .btn-back{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.voucher-header .btn-back:hover{background:#e5e7eb}.voucher-header .header-info h2{color:#111827;font-size:24px;margin:0 0 5px}.voucher-header .child-name{color:#6b7280;font-size:16px;margin:0}.voucher-header .child-age{color:#9ca3af;font-size:14px}.voucher-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:30px}.form-section{border-bottom:1px solid #e5e7eb;margin-bottom:30px;padding-bottom:30px}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section h3{color:#111827;font-size:18px;margin:0 0 20px}.form-group .optional{color:#9ca3af;font-size:13px;font-weight:400}.form-control{padding:10px 12px}.help-text{margin:6px 0 0}.checkbox-label{padding:10px 12px}.checkbox-label input[type=checkbox]{height:18px;margin-right:10px;width:18px}.income-info-box{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;margin-top:15px;padding:15px}.income-info-box strong{color:#0369a1;display:block;font-size:14px;margin-bottom:8px}.income-info-box ul{color:#075985;font-size:13px;margin:0;padding-left:20px}.income-info-box ul li{margin-bottom:4px}.validity-info{border-radius:6px;font-size:14px;margin-top:15px;padding:10px 12px}.validity-info .expired-warning{color:#991b1b;font-weight:600}.validity-info .future-info{color:#0369a1;font-weight:500}.validity-info .active-info{color:#166534;font-weight:600}.form-actions{margin-top:30px}.form-actions .btn{border-radius:6px;font-size:14px;font-weight:500}.form-actions .btn-primary{background:#3b82f6}.form-actions .btn-primary:hover{background:#2563eb}.form-actions .btn-primary:disabled{background:#d1d5db;cursor:not-allowed}.form-actions .btn-info{background:#0ea5e9;color:#fff}.form-actions .btn-info:hover{background:#0284c7}.form-actions .btn-danger{background:#ef4444;color:#fff}.form-actions .btn-danger:hover{background:#dc2626}.voucher-info-section{background:#f9fafb;border-radius:8px;margin-top:30px;padding:20px}.voucher-info-section h3{color:#111827;font-size:16px;margin:0 0 15px}.info-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item strong{color:#6b7280;font-size:13px}.info-item span{color:#111827;font-size:14px}.status-active{color:#166534!important;font-weight:600}.status-inactive{color:#991b1b!important;font-weight:600}@media (max-width:768px){.child-voucher-manager{padding:10px}.voucher-header{align-items:flex-start;flex-direction:column}.voucher-form{padding:20px 15px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.info-grid{grid-template-columns:1fr}}.billing-preview{margin:0 auto;max-width:1200px;padding:20px}.preview-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.preview-header .btn-back{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;margin-left:auto;padding:8px 16px;transition:all .2s}.preview-header .btn-back:hover{background:#e5e7eb}.preview-header .header-info h2{color:#111827;font-size:24px;margin:0 0 5px}.preview-header .child-name{color:#6b7280;font-size:16px;margin:0}.preview-controls{align-items:flex-end;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.month-selector{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:15px}.month-navigation{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:8px 12px}.month-navigation .nav-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s;width:36px}.month-navigation .nav-btn:hover{background:#f3f4f6;border-color:#9ca3af}.month-navigation .nav-btn:active{transform:scale(.95)}.month-navigation .month-display{min-width:140px;text-align:center}.month-navigation .month-name{color:#111827;font-size:16px;font-weight:600}.month-navigation .year-name{color:#6b7280;font-size:13px;margin-top:2px}.selector-group{display:flex;flex-direction:column;min-width:150px}.selector-group label{color:#374151;font-size:14px;font-weight:600;margin-bottom:6px}.selector-group.checkbox-group{justify-content:flex-end}.checkbox-label{align-items:center;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s}.checkbox-label:hover{background:#f9fafb;border-color:#d1d5db}.checkbox-label input[type=checkbox]{cursor:pointer;height:16px;margin-right:8px;width:16px}.form-control{border:1px solid #d1d5db;padding:8px 12px}.btn,.form-control{border-radius:6px;font-size:14px}.btn{font-weight:500;padding:10px 20px}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#d1d5db;cursor:not-allowed}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-secondary:disabled{background:#d1d5db;cursor:not-allowed}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.btn-success:disabled{background:#d1d5db;cursor:not-allowed}.control-buttons{display:flex;flex-wrap:wrap;gap:12px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:40px;margin:0 auto 20px;width:40px}.loading p{color:#6b7280;font-size:16px}.billing-summary{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:30px}.billing-summary h3{color:#111827;font-size:20px;margin:0 0 20px}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.summary-card{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:8px;padding:20px;text-align:center}.summary-card.voucher-card{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#93c5fd}.summary-card.total-card{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#1d4ed8;color:#fff}.summary-label{font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;opacity:.8;text-transform:uppercase}.summary-card.total-card .summary-label{opacity:1}.summary-value{font-size:28px}.voucher-value{color:#1d4ed8}.total-value{color:#fff}.info-note{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;color:#075985;font-size:14px;margin-top:20px;padding:15px}.info-note strong{color:#0369a1}.daily-charges-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:30px}.daily-charges-section h3{color:#111827;font-size:20px;margin:0 0 20px}.daily-charges-table{overflow-x:auto}.daily-charges-table table{border-collapse:collapse;font-size:14px;width:100%}.daily-charges-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.daily-charges-table th{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.daily-charges-table th.text-right{text-align:right}.daily-charges-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s}.daily-charges-table tbody tr:hover{background:#f9fafb}.daily-charges-table td{color:#111827;padding:12px 16px}.daily-charges-table td.text-right{text-align:right}.daily-charges-table td.font-semibold{font-weight:600}.daily-charges-table td.voucher-amount{color:#0ea5e9;font-weight:500}.daily-charges-table .error-row{background:#fef2f2}.daily-charges-table .error-cell{color:#991b1b;font-style:italic}.no-data{color:#6b7280;padding:40px 20px;text-align:center}.no-data p{font-size:16px;margin:0}.badge{border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 10px}.badge-subsidized{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;color:#1e40af}.badge-private{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}.badge-other{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;color:#374151}.help-section{background:#f9fafb;border-radius:8px;margin-top:30px;padding:20px}.help-section h4{color:#111827;font-size:16px;margin:0 0 15px}.help-section ul{color:#374151;font-size:14px;line-height:1.6;margin:0;padding-left:20px}.help-section ul li{margin-bottom:10px}.help-section strong{color:#111827}@media (max-width:768px){.billing-preview{padding:10px}.preview-header{align-items:flex-start;flex-direction:column}.preview-header .btn-back{align-self:flex-end;margin-left:0}.month-navigation{flex:1 1;justify-content:space-between;width:100%}.month-navigation .month-display{min-width:auto}.preview-controls{align-items:stretch}.month-selector,.preview-controls{flex-direction:column}.btn,.selector-group{width:100%}.summary-grid{grid-template-columns:1fr}.billing-summary,.daily-charges-section{padding:20px 15px}.daily-charges-table{font-size:12px}.daily-charges-table td,.daily-charges-table th{padding:8px 10px}.summary-value{font-size:24px}}@media print{.help-section,.preview-controls,.preview-header .btn-back{display:none}.billing-preview{padding:0}.billing-summary,.daily-charges-section{border:1px solid #e5e7eb;box-shadow:none}.daily-charges-table tbody tr:hover{background:#fff}}.invoice-form-grid-2col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.invoice-form-grid-2col-uneven{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1fr;margin-bottom:16px}.invoice-form-field{margin-bottom:16px}.invoice-form-label{display:block;font-weight:700;margin-bottom:4px}.invoice-form-input,.invoice-form-select{min-height:44px}.invoice-form-input,.invoice-form-select,.invoice-form-textarea{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:8px;width:100%}.invoice-form-textarea{font-family:inherit;resize:vertical}.invoice-form-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;min-height:44px}.invoice-form-checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.invoice-form-helper{color:#6b7280;display:block;font-size:12px;margin-top:4px}.invoice-form-helper-warning{color:#dc2626;display:block;font-size:12px;font-weight:600;margin-top:4px}.invoice-form-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.invoice-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;min-width:100px;padding:10px 20px;transition:opacity .2s}.invoice-btn-primary{background:#10b981;color:#fff}.invoice-btn-primary:hover:not(:disabled){background:#059669}.invoice-btn-secondary{background:#6b7280;color:#fff}.invoice-btn-secondary:hover:not(:disabled){background:#4b5563}.invoice-btn:disabled{cursor:not-allowed;opacity:.6}.invoice-form-section-header{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:12px;margin-top:24px}.invoice-test-reference{background:#f3f4f6;border-radius:4px;margin-bottom:16px;padding:12px}.invoice-test-reference-header{font-size:14px;font-weight:600;margin-bottom:8px}.invoice-test-reference-controls{display:flex;gap:8px;margin-bottom:8px}.invoice-test-reference-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:14px;min-height:44px;padding:8px}.invoice-test-reference-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;min-height:44px;padding:8px 16px;white-space:nowrap}.invoice-test-reference-result{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:13px;padding:8px;word-break:break-all}@media (max-width:768px){.invoice-form-grid-2col,.invoice-form-grid-2col-uneven{gap:12px;grid-template-columns:1fr}.invoice-form-buttons{flex-direction:column-reverse;gap:8px}.invoice-btn{min-width:0;min-width:auto;width:100%}@media (max-width:480px){.invoice-test-reference-controls{flex-direction:column}.invoice-test-reference-btn{width:100%}}.invoice-form-input,.invoice-form-select,.invoice-form-textarea,.invoice-test-reference-input{font-size:16px;padding:10px 12px}.invoice-form-section-header{font-size:15px;margin-bottom:10px;margin-top:20px}}@media (max-width:480px){.invoice-btn{font-size:15px;padding:12px 16px}.invoice-form-label{font-size:14px}.invoice-form-helper,.invoice-form-helper-warning{font-size:11px}}.invoice-status-badge{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px;white-space:nowrap}.invoice-status-active{color:#10b981}.invoice-status-inactive{color:#6b7280}.invoice-empty-state{color:#6b7280;opacity:.7;padding:40px;text-align:center}.invoice-current-config{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:14px;margin-bottom:16px;padding:12px 16px}.invoice-current-config-title{font-weight:700;margin-bottom:4px}.invoice-current-config-details{font-size:14px;opacity:.9}.invoice-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.invoice-section-title{color:#1e293b;font-size:18px;font-weight:700;margin:0}.invoice-section-btn{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:10px 20px}.invoice-section-btn:hover{background:#059669}@media (max-width:768px){.invoice-section-header{align-items:stretch;flex-direction:column;gap:12px}.invoice-section-btn{width:100%}.invoice-current-config{border-radius:0;margin-left:-12px;margin-right:-12px}}@media (max-width:480px){.invoice-section-title{font-size:16px}}.invoicing-manager{padding:20px}.invoicing-title{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:16px}.kindergarten-selector{align-items:center;display:flex;gap:12px;margin-bottom:20px}.kindergarten-selector label{color:#475569;font-size:14px;font-weight:600}.kindergarten-selector .form-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;min-width:250px;padding:10px 16px;transition:all .2s}.kindergarten-selector .form-select:hover{border-color:#667eea}.kindergarten-selector .form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.view-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:8px;margin-bottom:24px;padding:8px}.view-tabs .tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.view-tabs .tab:hover{background:#f1f5f9;color:#475569}.view-tabs .tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.invoicing-alert{border-radius:8px;margin-bottom:16px;padding:12px}.invoicing-alert-error{border:1px solid #fcc}.invoicing-alert-success{border:1px solid #cfc}.invoicing-validation{margin-bottom:24px}.invoicing-header{margin-bottom:10px}@media (max-width:768px){.invoicing-manager{padding:12px}.invoicing-title{font-size:22px;margin-bottom:12px}.kindergarten-selector-wrapper{align-items:stretch;flex-direction:column;gap:8px}.kindergarten-selector{font-size:16px;max-width:100%;padding:10px 12px}.invoicing-tabs{gap:4px;margin-left:-12px;margin-right:-12px;padding-bottom:4px;padding-left:12px;padding-right:12px}.invoicing-tab{font-size:13px;padding:12px 16px}}@media (max-width:480px){.invoicing-manager{padding:8px}.invoicing-title{font-size:20px}.invoicing-tab{font-size:12px;padding:12px}.kindergarten-selector{font-size:16px}}.mobile-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:16px;transition:all .2s ease}.mobile-card.clickable{-webkit-tap-highlight-color:transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.mobile-card.clickable:active{box-shadow:0 1px 4px #0000001a;transform:scale(.98)}.mobile-card.clickable:focus-visible{outline:3px solid #667eea;outline-offset:2px}@media (min-width:768px){.mobile-card.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}}.configuration-card{display:flex;flex-direction:column;gap:16px}.config-card-header{align-items:center;display:flex;gap:12px}.config-icon-wrapper{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.config-icon{font-size:24px;line-height:1}.config-title-wrapper{flex:1 1;min-width:0}.config-title{color:#1e293b;font-size:16px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-edit-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s;width:40px}.config-edit-btn:active{background:#f8fafc;border-color:#cbd5e1;transform:scale(.95)}.edit-icon{font-size:18px;line-height:1}.config-settings-list{display:flex;flex-direction:column;gap:10px}.config-setting-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.setting-label{color:#64748b;flex-shrink:0;font-size:13px;font-weight:600}.setting-value{color:#1e293b;font-size:14px;font-weight:700;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}@media (min-width:768px){.config-edit-btn:hover{background:#f8fafc;border-color:#cbd5e1}}@media (max-width:380px){.config-setting-item{align-items:flex-start;flex-direction:column;gap:4px}.setting-value{text-align:left}}.config-history-card{display:flex;gap:16px;margin-bottom:24px;padding-left:12px;position:relative}.config-history-card:last-child{margin-bottom:0}.config-history-card.current .config-history-content{border:2px solid #10b981;box-shadow:0 4px 16px #10b98126}.config-timeline-dot{border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 6px currentColor;flex-shrink:0;height:16px;margin-top:20px;position:relative;width:16px}.config-history-card:before{background:#e2e8f0;bottom:-24px;content:"";left:19px;position:absolute;top:36px;width:2px}.config-history-card:last-child:before{display:none}.config-history-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex:1 1;flex-direction:column;gap:14px;padding:16px;transition:all .2s}.config-history-header{align-items:flex-start;display:flex;justify-content:space-between}.config-history-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.config-title-text{color:#1e293b;font-size:16px;font-weight:700}.config-status-badge{border-radius:20px;font-size:12px;font-weight:700;line-height:1;padding:4px 10px}.config-current-indicator{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.current-icon{color:#fff;font-size:18px;font-weight:700;line-height:1}.config-date-range{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px}.config-date-item{display:flex;flex-direction:column;gap:2px}.config-date-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.config-date-value{color:#1e293b;font-size:13px;font-weight:700}.config-date-separator{color:#cbd5e1;font-size:16px;font-weight:700}.config-details-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.config-detail-item{background:#f8fafc;border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:8px 10px}.detail-label{font-size:11px}.detail-value.currency{color:#059669;font-size:16px}.config-dunning-summary{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;display:flex;gap:12px;padding:10px 12px}.dunning-summary-label{color:#92400e;flex-shrink:0;font-size:12px;font-weight:700}.dunning-summary-values{display:flex;flex-wrap:wrap;gap:6px}.dunning-value{background:#fff;border-radius:4px;color:#92400e;font-family:Monaco,Courier New,monospace;font-size:11px;font-weight:700;padding:4px 8px}.config-history-actions{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.config-action-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:700;gap:6px;justify-content:center;min-height:44px;min-width:90px;padding:10px 14px;transition:all .2s}.config-action-btn:active{transform:scale(.98)}.config-action-activate{border-color:#10b981;color:#10b981}.config-action-activate:active{background:#d1fae5}.config-action-compare{border-color:#667eea;color:#667eea}.config-action-compare:active{background:#e0e7ff}.config-action-edit{border-color:#3b82f6;color:#3b82f6}.config-action-edit:active{background:#dbeafe}@media (min-width:768px){.config-details-grid{grid-template-columns:repeat(3,1fr)}.config-action-btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.config-action-activate:hover{background:#d1fae5}.config-action-compare:hover{background:#e0e7ff}.config-action-edit:hover{background:#dbeafe}}@media (max-width:380px){.config-history-actions{flex-direction:column}.config-action-btn{width:100%}}.payment-form{display:flex;flex-direction:column;gap:20px}.form-label{color:#475569;font-weight:600;letter-spacing:.5px}.form-hint{font-style:italic}.form-error{color:#dc2626;font-size:12px}.form-error,.form-input,.form-select,.form-textarea{font-weight:600}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #dc26261a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 9 1 4h10z'/%3E%3C/svg%3E")}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield}.form-btn{min-height:52px}.form-btn-cancel{color:#64748b}.form-btn-cancel:active{background:#e2e8f0;transform:scale(.98)}.form-btn-submit:active{box-shadow:0 1px 4px #667eea33;transform:scale(.98)}.form-btn:disabled:active{transform:none}@media (min-width:768px){.form-btn-cancel:hover:not(:disabled){background:#e2e8f0;color:#475569}.form-btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}}@media (max-width:380px){.form-actions{flex-direction:column}}.payment-slip-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:14px;padding:16px;transition:all .2s}.payment-slip-card:active{transform:scale(.98)}.slip-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.slip-title-row{display:flex;flex:1 1;flex-direction:column;gap:8px}.slip-name{color:#1e293b;font-size:16px;font-weight:700;line-height:1.3;margin:0}.slip-active-badge{align-items:center;align-self:flex-start;background:#d1fae5;border-radius:20px;color:#065f46;display:inline-flex;font-size:12px;font-weight:700;gap:4px;line-height:1;padding:4px 10px}.slip-actions{display:flex;flex-shrink:0;gap:6px}.slip-action-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.slip-action-btn:active{transform:scale(.9)}.slip-edit-btn{border-color:#3b82f6;color:#3b82f6}.slip-edit-btn:active{background:#dbeafe}.slip-delete-btn{border-color:#ef4444;color:#ef4444}.slip-delete-btn:active{background:#fee2e2}.slip-details{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:10px;padding-top:4px}.slip-detail-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.detail-value{word-break:break-all}.slip-type-badge{border-radius:20px;font-size:12px;font-weight:700;line-height:1;padding:4px 10px}@media (min-width:768px){.payment-slip-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.slip-action-btn:hover{transform:scale(1.05)}.slip-edit-btn:hover{background:#dbeafe}.slip-delete-btn:hover{background:#fee2e2}.slip-name{font-size:18px}.detail-value{font-size:15px}}.payment-slip-form{display:flex;flex-direction:column;gap:20px}.form-input,.form-select{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:16px;font-weight:500;padding:12px 14px;transition:all .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#94a3b8;font-weight:400}.form-grid-2col{grid-template-columns:2fr 1fr}.test-reference-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:16px}.test-reference-section .section-title{color:#92400e;font-size:13px;margin-bottom:4px}.test-reference-controls{display:flex;gap:8px}.test-reference-controls .form-input{border-color:#fbbf24;flex:1 1}.test-reference-controls .form-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.btn-test{-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #f59e0b;border-radius:8px;color:#92400e;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:700;padding:12px 20px;transition:all .2s}.btn-test:active{background:#fef3c7;transform:scale(.98)}.btn-test:disabled{cursor:not-allowed;opacity:.5}.test-reference-result{background:#fff;border:2px solid #fbbf24;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:12px}.result-label{color:#92400e;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.result-value{color:#1e293b;font-family:Monaco,Courier New,monospace;font-size:14px;font-weight:700;word-break:break-all}@media (min-width:768px){.form-input,.form-select{font-size:15px;padding:14px 16px}.form-checkbox-label:hover{background:#e2e8f0}.btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.btn-secondary:hover{background:#f8fafc}.btn-primary:hover{opacity:.9}.btn-test:hover{background:#fef3c7}.form-grid-2col{gap:16px}}.btn:focus-visible,.form-input:focus-visible,.form-select:focus-visible{outline:3px solid #667eea;outline-offset:2px}.document-layout-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:14px;padding:16px;transition:all .2s}.document-layout-card:active{transform:scale(.98)}.layout-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.layout-title-row{display:flex;flex:1 1;flex-direction:column;gap:8px}.layout-name{color:#1e293b;font-size:16px;font-weight:700;line-height:1.3;margin:0}.layout-active-badge{align-items:center;align-self:flex-start;background:#d1fae5;border-radius:20px;color:#065f46;display:inline-flex;font-size:12px;font-weight:700;gap:4px;line-height:1;padding:4px 10px}.badge-icon{font-size:14px;line-height:1}.badge-text{font-size:11px;letter-spacing:.3px;text-transform:uppercase}.layout-actions{display:flex;flex-shrink:0;gap:6px}.layout-action-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.layout-action-btn:active{transform:scale(.9)}.action-icon{font-size:16px}.layout-edit-btn{border-color:#3b82f6;color:#3b82f6}.layout-edit-btn:active{background:#dbeafe}.layout-delete-btn{border-color:#ef4444;color:#ef4444}.layout-delete-btn:active{background:#fee2e2}.layout-logo-preview{align-items:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:8px;display:flex;justify-content:center;padding:16px}.logo-image{max-height:80px;max-width:100%;object-fit:contain}.layout-details{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:10px;padding-top:4px}.layout-detail-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.detail-label{flex-shrink:0;letter-spacing:.5px;text-transform:uppercase}.detail-value{font-size:14px;font-weight:700;text-align:right}.color-swatches{display:flex;gap:8px}.color-swatch{border:2px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 3px #0000001a;height:32px;transition:transform .2s;width:32px}.color-swatch:active{transform:scale(.9)}.language-badge{background:#f1f5f9;border-radius:6px;color:#475569;font-family:Monaco,Courier New,monospace;font-size:12px;font-weight:700;padding:4px 10px}@media (min-width:768px){.document-layout-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.layout-action-btn:hover{transform:scale(1.05)}.layout-edit-btn:hover{background:#dbeafe}.layout-delete-btn:hover{background:#fee2e2}.layout-name{font-size:18px}.detail-value{font-size:15px}.color-swatch:hover{transform:scale(1.1)}}.logo-preview-container,.logo-uploader-mobile{display:flex;flex-direction:column;gap:12px}.logo-preview-container{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px}.logo-preview-image{background:#fff;border-radius:8px;max-height:120px;object-fit:contain;padding:12px;width:100%}.logo-preview-actions{display:flex;gap:8px}.logo-upload-container{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:32px 20px;text-align:center;transition:all .2s}.logo-upload-container:active{background:#f1f5f9}.upload-icon{font-size:48px;line-height:1}.upload-text{color:#1e293b;font-size:16px;font-weight:700;margin:0}.upload-hint{color:#64748b;font-size:13px;margin:0}.logo-btn{-webkit-tap-highlight-color:transparent;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;min-height:44px;padding:12px 20px;transition:all .2s}.logo-btn:active{transform:scale(.98)}.logo-btn:disabled{cursor:not-allowed;opacity:.5}.logo-upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #667eea;color:#fff;min-width:140px}.logo-upload-btn:active{opacity:.9}.logo-change-btn{background:#fff;border:2px solid #3b82f6;color:#3b82f6}.logo-change-btn:active{background:#dbeafe}.logo-delete-btn{background:#fff;border:2px solid #ef4444;color:#ef4444}.logo-delete-btn:active{background:#fee2e2}.upload-progress{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.upload-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;height:100%;transition:width .3s ease}.upload-error{align-items:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:8px;padding:12px 14px}.error-icon{flex-shrink:0;font-size:16px}.error-text{color:#991b1b;font-size:13px;font-weight:600;line-height:1.4}@media (min-width:768px){.logo-upload-container:hover{background:#f1f5f9;border-color:#94a3b8}.logo-btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.logo-upload-btn:hover{opacity:.9}.logo-change-btn:hover{background:#dbeafe}.logo-delete-btn:hover{background:#fee2e2}}.simple-layout-preview{background:#f3f4f6;border-radius:12px;margin-top:20px;padding:16px}.preview-label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:12px}.preview-icon{font-size:18px;line-height:1}.preview-paper-container{background:#e5e7eb;border-radius:8px;display:flex;justify-content:center;margin-bottom:12px;padding:12px}.preview-paper{aspect-ratio:210/297;background:#fff;box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;max-width:280px;overflow:hidden;padding:12px;position:relative;width:100%}.preview-logo{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:3px;display:flex;height:28px;justify-content:center;position:absolute;top:12px;width:50px}.preview-logo.logo-left{left:12px}.preview-logo.logo-center{left:50%;transform:translateX(-50%)}.preview-logo.logo-right{right:12px}.preview-logo-img{max-height:100%;max-width:100%;object-fit:contain}.preview-logo-placeholder{color:#94a3b8;font-size:18px}.preview-header{margin-bottom:8px;margin-top:36px}.preview-footer-text,.preview-header-text{font-size:6px;line-height:1.4;white-space:pre-wrap}.preview-header-text{color:#1e293b;margin-bottom:4px}.preview-footer-text{color:#64748b;margin-top:4px;text-align:center}.preview-placeholder-text{background:#f9fafb;border:1px dashed #d1d5db;border-radius:2px;color:#9ca3af;font-size:6px;font-style:italic;padding:3px;text-align:center}.preview-divider{background:#e5e7eb;height:1px;margin:3px 0}.preview-invoice-title{font-size:9px;font-weight:700;margin-bottom:6px}.preview-content{display:flex;flex:1 1;flex-direction:column;gap:8px}.preview-details{color:#64748b;font-size:5px;line-height:1.5}.preview-detail-line{margin-bottom:2px}.preview-line-items{border:1px solid #e5e7eb;border-radius:2px;font-size:5px;margin-top:4px;overflow:hidden}.preview-line-item,.preview-line-item-header{grid-gap:4px;display:grid;gap:4px;grid-template-columns:1fr auto;padding:2px 3px}.preview-line-item-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600}.preview-line-item{color:#374151}.preview-total{grid-gap:4px;background:#f9fafb;border-top:1px solid #e5e7eb;display:grid;font-weight:700;gap:4px;grid-template-columns:1fr auto;padding:2px 3px}.preview-footer{margin-top:auto;padding-bottom:20px}.preview-qr-placeholder{border:1px solid #d1d5db;border-radius:2px;bottom:12px;color:#9ca3af;font-size:5px;font-weight:600;height:16px;justify-content:center;position:absolute;right:12px;width:16px}.preview-info,.preview-qr-placeholder{align-items:center;background:#fff;display:flex}.preview-info{border-radius:8px;box-shadow:0 1px 3px #0000000d;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.preview-info-item{align-items:center;color:#64748b;display:flex;font-size:11px;gap:6px}.info-label{font-size:14px;line-height:1}.info-value{color:#374151}.color-swatch{border:1px solid #e5e7eb;border-radius:3px;flex-shrink:0;height:16px;width:16px}.preview-note{color:#64748b;font-size:11px;line-height:1.4}@media (min-width:768px){.preview-paper{max-width:350px;padding:16px}.preview-logo{height:32px;top:16px;width:60px}.preview-logo.logo-left{left:16px}.preview-logo.logo-right{right:16px}.preview-header{margin-top:44px}.preview-footer-text,.preview-header-text,.preview-placeholder-text{font-size:7px}.preview-invoice-title{font-size:10px}.preview-details,.preview-line-items{font-size:6px}.preview-qr-placeholder{bottom:16px;font-size:6px;height:18px;right:16px;width:18px}}@media (min-width:1024px){.preview-paper{max-width:420px}}.template-gallery-mobile{display:flex;flex-direction:column;gap:20px}.gallery-subtitle{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 4px}.templates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:600px){.templates-grid{grid-template-columns:repeat(2,1fr)}}.template-card{-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .2s}.template-card.selected{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.template-card:active{transform:scale(.98)}.template-preview-header{align-items:center;display:flex;height:120px;justify-content:center;position:relative}.template-icon{font-size:48px;line-height:1}.template-logo-indicator{background:#ffffff4d;border:1px dashed #fff9;border-radius:3px;height:18px;position:absolute;top:12px;width:32px}.template-info{padding:16px}.template-name{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 6px}.template-description{color:#64748b;font-size:13px;line-height:1.5;margin:0 0 12px}.template-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.feature-badge{background:#f3f4f6;border-radius:4px;color:#4b5563;font-size:11px;font-weight:600;padding:4px 8px;text-transform:capitalize}.template-apply-btn{-webkit-tap-highlight-color:transparent;background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:700;padding:12px;transition:all .2s;width:100%}.template-apply-btn.selected{background:#667eea;color:#fff}.template-apply-btn:active{transform:scale(.98)}.blank-template-card{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;margin-top:8px;padding:24px 20px;text-align:center}.blank-icon{font-size:40px;line-height:1;margin-bottom:12px}.blank-title{color:#374151;font-size:16px;font-weight:700;margin:0 0 8px}.blank-description{color:#64748b;font-size:13px;line-height:1.5;margin:0 0 16px}.blank-apply-btn{-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:all .2s}.blank-apply-btn:active{background:#f0f4ff;transform:scale(.98)}@media (min-width:768px){.template-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a}.template-card.selected:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.template-apply-btn:hover{background:#e5e7eb}.template-apply-btn.selected:hover{background:#5568d3}.blank-apply-btn:hover{background:#f0f4ff}}.document-layout-form{display:flex;flex-direction:column;gap:20px;padding:16px 16px calc(env(safe-area-inset-bottom, 16px) + 16px)}.template-gallery-cta{background:linear-gradient(135deg,#f0f4ff,#fef3c7);border:2px dashed #cbd5e1;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.btn-template-gallery{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;transition:all .2s}.btn-template-gallery:active{opacity:.9;transform:scale(.98)}.btn-icon{font-size:18px}.btn-icon,.btn-text{line-height:1}.gallery-cta-hint{color:#64748b;font-size:12px;line-height:1.4;margin:0;text-align:center}.form-label{font-size:13px;letter-spacing:.3px;text-transform:uppercase}.form-input,.form-select,.form-textarea{-webkit-appearance:none;appearance:none;border:2px solid #e2e8f0;font-weight:500}.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px #667eea1a}.form-input::placeholder,.form-textarea::placeholder{font-weight:400}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M10.293 3.293 6 7.586 1.707 3.293A1 1 0 0 0 .293 4.707l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414z'/%3E%3C/svg%3E");background-position:right 14px center;background-size:12px;padding-right:40px}.form-section-header{border-top:1px solid #f1f5f9;margin:8px 0 -8px;padding-top:12px}.form-grid-2col{grid-gap:12px;gap:12px}.color-input-wrapper{align-items:center;display:flex;gap:8px}.form-color-input{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;height:48px;padding:4px;transition:all .2s;width:56px}.form-color-input::-webkit-color-swatch-wrapper{padding:0}.form-color-input::-webkit-color-swatch{border:none;border-radius:4px}.form-color-input::-moz-color-swatch{border:none;border-radius:4px}.form-color-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.color-text{flex:1 1;font-family:Monaco,Courier New,monospace;text-transform:uppercase}.form-checkbox-label{-webkit-tap-highlight-color:transparent;align-items:center;background:#f8fafc;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:14px;transition:background .2s}.form-checkbox-label:active{background:#e2e8f0}.form-checkbox{cursor:pointer;flex-shrink:0;height:20px;width:20px}.form-checkbox-label span{color:#1e293b;font-size:14px;font-weight:600}.form-actions{border-top:1px solid #f1f5f9;margin-top:8px}.btn{border-radius:10px;font-size:15px}.btn-secondary{border:2px solid #e2e8f0}.btn-primary{border:2px solid #667eea}@media (min-width:768px){.document-layout-form{padding:24px}.form-input,.form-select,.form-textarea{font-size:15px;padding:14px 16px}.form-checkbox-label:hover{background:#e2e8f0}.btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.btn-secondary:hover{background:#f8fafc}.btn-primary:hover{opacity:.9}.form-grid-2col{gap:16px}}.btn:focus-visible,.form-color-input:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:3px solid #667eea;outline-offset:2px}.text-template-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:16px;transition:box-shadow .2s}.text-template-card:active{box-shadow:0 4px 12px #0000001a}.template-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.template-card-title{flex:1 1;min-width:0}.template-card-title h3{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-active-badge{background:#d1fae5;border-radius:4px;color:#065f46;display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:4px 8px}.template-card-actions{display:flex;flex-shrink:0;gap:8px}.template-action-btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.template-edit-btn{background:#f0f9ff;color:#0284c7}.template-edit-btn:active{background:#e0f2fe;transform:scale(.95)}.template-delete-btn{background:#fef2f2;color:#dc2626}.template-delete-btn:active{background:#fee2e2;transform:scale(.95)}.template-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.template-language-badge,.template-type-badge{border-radius:6px;font-size:12px;font-weight:700;line-height:1;padding:6px 10px}.template-language-badge{background:#f3f4f6;color:#374151}.template-card-content{display:flex;flex-direction:column;gap:12px}.template-field{display:flex;flex-direction:column;gap:4px}.template-field-label{color:#64748b;font-size:12px;font-weight:600}.template-field-value{color:#1e293b;font-size:14px;line-height:1.5}.template-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.template-preview-label{color:#64748b;font-size:12px;font-weight:600;margin-bottom:6px}.template-preview-text{color:#475569;font-size:13px;font-style:italic;line-height:1.6;margin:0}.template-signature{align-items:center;background:#fefce8;border:1px solid #fde047;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.template-signature-icon{flex-shrink:0;font-size:16px}.template-signature-text{color:#713f12;font-size:13px;font-weight:600}@media (min-width:768px){.text-template-card:hover{box-shadow:0 4px 12px #0000001a}.template-edit-btn:hover{background:#e0f2fe;transform:translateY(-2px)}.template-delete-btn:hover{background:#fee2e2;transform:translateY(-2px)}.template-action-btn:active{transform:scale(.95)}}.text-template-form{display:flex;flex-direction:column;gap:20px}.form-input,.form-select,.form-textarea{border:2px solid #e5e7eb;color:#1e293b;font-family:inherit;font-size:16px;padding:12px 14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#667eea}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7280' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.form-hint{color:#64748b;font-size:12px;line-height:1.4;margin:0}.form-grid-2col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-section-header{border-top:1px solid #e5e7eb;margin:8px 0 0;padding-top:16px}.form-actions{padding-top:8px}.btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;min-height:48px;padding:14px 20px;transition:all .2s}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{border:2px solid #e5e7eb;color:#64748b}.btn-secondary:active{background:#f8fafc}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.btn-primary:active{opacity:.9}.btn-primary:disabled{background:#94a3b8}@media (min-width:768px){.form-input,.form-select,.form-textarea{font-size:14px}.btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.btn:active{transform:scale(.98)}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-primary:hover{opacity:.9}.form-grid-2col{gap:20px}}@media (max-width:600px){.form-grid-2col{gap:20px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.system-health-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;overflow:hidden}.health-loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px}.health-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.health-loading p{color:#64748b;font-size:14px;margin:0}.health-error{background:#fef2f2;border:2px solid #fecaca}.health-error-content{align-items:flex-start;display:flex;gap:12px;padding:16px}.health-error-icon{flex-shrink:0;font-size:24px}.health-error-text h4{color:#991b1b;font-size:15px;font-weight:700;margin:0 0 4px}.health-error-text p{color:#b91c1c;font-size:13px;margin:0}.health-retry-btn{-webkit-tap-highlight-color:transparent;background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin:0 16px 16px;padding:12px;width:calc(100% - 32px)}.health-retry-btn:active{background:#b91c1c}.health-status-header{align-items:center;border-bottom:2px solid #f3f4f6;border-left:4px solid;display:flex;justify-content:space-between;padding:20px}.health-status-left{align-items:center;display:flex;flex:1 1;gap:12px}.health-status-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:44px;justify-content:center;width:44px}.health-status-info h3{font-size:16px;font-weight:700;margin:0 0 4px}.health-status-info p{color:#64748b;font-size:13px;margin:0}.health-refresh-btn{-webkit-tap-highlight-color:transparent;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;flex-shrink:0;font-size:16px;height:36px;width:36px}.health-refresh-btn:active{background:#e5e7eb}.health-stats-grid{grid-gap:1px;background:#e5e7eb;border-bottom:1px solid #e5e7eb;display:grid;gap:1px;grid-template-columns:repeat(3,1fr)}.health-stat{background:#fff;min-width:0;padding:12px 8px;text-align:center}.stat-value{margin-bottom:4px}.stat-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:9px;letter-spacing:.3px;line-height:1.2;min-height:22px;overflow:hidden;text-overflow:ellipsis}.health-stat-errors .stat-value{color:#ef4444}.health-stat-warnings .stat-value{color:#f59e0b}.health-stat-recommendations .stat-value{color:#3b82f6}.health-toggle-details{-webkit-tap-highlight-color:transparent;background:#f9fafb;border:1px solid #e5e7eb;border-left:none;border-right:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;text-align:left;transition:background .2s;width:100%}.health-toggle-details:active{background:#f3f4f6}.health-details{background:#fafafa;padding:20px}.health-section-title{color:#1e293b;font-size:14px;font-weight:700;margin:0 0 12px}.health-checks-section{margin-bottom:20px}.health-checks-list{display:flex;flex-direction:column;gap:12px}.health-check-item{background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:12px}.health-check-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.health-check-badge{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.health-check-name{color:#1e293b;font-size:14px;font-weight:600;text-transform:capitalize}.health-check-message{color:#64748b;font-size:13px;line-height:1.5;margin:0 0 4px}.health-check-count{color:#94a3b8;font-size:11px;margin:0}.health-recommendations-section{margin-bottom:20px}.health-recommendations-list{display:flex;flex-direction:column;gap:12px}.health-recommendation-item{background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:14px}.health-recommendation-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.health-recommendation-header h5{color:#1e293b;flex:1 1;font-size:14px;font-weight:700;margin:0}.health-priority-badge{border-radius:4px;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.health-recommendation-description{color:#64748b;font-size:13px;line-height:1.5;margin:0}.health-issues-section{border-top:1px solid #e5e7eb;padding-top:12px}.health-errors-list,.health-warnings-list{margin-bottom:16px}.health-errors-list:last-child,.health-warnings-list:last-child{margin-bottom:0}.health-errors-title{color:#ef4444}.health-warnings-title{color:#f59e0b}.health-errors-list ul,.health-warnings-list ul{list-style:disc;margin:8px 0 0;padding-left:20px}.health-errors-list li{color:#991b1b}.health-errors-list li,.health-warnings-list li{font-size:13px;line-height:1.5;margin-bottom:6px}.health-warnings-list li{color:#92400e}@media (min-width:640px){.health-stat{padding:14px 10px}.stat-value{font-size:22px}.stat-label{font-size:10px;letter-spacing:.4px}}@media (min-width:768px){.health-stat{padding:16px 12px}.stat-value{font-size:24px;margin-bottom:6px}.stat-label{font-size:11px;letter-spacing:.5px}.health-refresh-btn:hover{background:#e5e7eb}.health-toggle-details:hover{background:#f3f4f6}.health-retry-btn:hover{background:#b91c1c}}@media (min-width:1024px){.health-stats-grid{max-width:600px}.health-checks-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}}.config-tabs-wrapper{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:center;overflow:hidden;padding:8px 0;position:relative}.config-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:4px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.config-tabs::-webkit-scrollbar{display:none;height:0;width:0}.config-tab{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;min-width:70px;padding:10px 12px;transition:all .2s}.config-tab.active{background:linear-gradient(135deg,#667eea,#764ba2)}.tab-icon{font-size:20px;line-height:1;transition:transform .2s}.config-tab:active .tab-icon{transform:scale(.9)}.tab-label{color:#64748b;font-size:11px;font-weight:700;transition:color .2s}.config-tab.active .tab-label{color:#fff}.config-section-title{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 8px}.config-section-subtitle{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 20px}.config-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.loading-spinner{border:3px solid #e2e8f0}.config-loading p{color:#64748b;font-size:14px;font-weight:600;margin:0}.config-current-view{display:flex;flex-direction:column;gap:20px}.config-cards-list{display:flex;flex-direction:column;gap:16px}.config-history-view{gap:20px}.config-history-timeline,.config-history-view,.config-list-view{display:flex;flex-direction:column}.config-list-view{gap:20px}.config-create-btn{-webkit-tap-highlight-color:transparent;align-self:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:8px;padding:12px 24px;transition:all .2s}.config-create-btn:active{box-shadow:0 1px 4px #667eea66;transform:translateY(1px)}.config-placeholder{align-items:center;background:#fff;border:2px dashed #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px;text-align:center}.placeholder-icon{font-size:48px;line-height:1}.config-placeholder p{color:#64748b;font-size:16px;font-weight:700;margin:0}.config-placeholder small{color:#94a3b8;font-size:13px}.empty-action-btn{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #667eea;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:8px;padding:12px 24px;transition:all .2s}.empty-action-btn:active{opacity:.9;transform:scale(.98)}.config-empty-state{align-items:center;background:#fff;border-radius:12px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:48px}.config-empty-state p{color:#64748b;font-size:16px;font-weight:700;margin:0}@media (min-width:768px){.config-tabs-wrapper{padding:12px 0}.config-tabs{gap:8px}.config-tab{min-width:90px;padding:12px 16px}.config-tab:hover:not(.active){background:#f8fafc}.tab-label{font-size:12px}.config-section-title{font-size:24px}.config-section-subtitle{font-size:15px}.config-create-btn:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.empty-action-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}}.status-badge{align-items:center;border:1px solid;border-radius:6px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 10px;text-transform:capitalize;transition:all .2s;white-space:nowrap}@media (max-width:480px){.status-badge{font-size:11px;padding:3px 8px}}.invoice-card{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;transition:all .2s ease}.invoice-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.invoice-card-parent{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.parent-icon{flex-shrink:0;font-size:18px}.parent-name{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-card-info{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px}.invoice-number{color:#475569;font-weight:600}.invoice-separator{color:#cbd5e1}.invoice-period{font-weight:500}.invoice-card-amounts{background:#f8fafc;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:12px}.amount-item{display:flex;flex-direction:column;gap:4px}.amount-label{font-size:11px}.amount-value{font-size:18px}.amount-total .amount-value{color:#667eea}.amount-value.overdue{color:#ef4444}.invoice-card-dunning{display:flex;justify-content:flex-start}.invoice-card-alert{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.alert-icon{font-size:16px}.alert-text{color:#c33;font-size:13px;font-weight:700}.invoice-card-actions{border-top:1px solid #e2e8f0;display:flex;gap:8px;padding-top:8px}.invoice-action-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:11px;font-weight:600;gap:4px;justify-content:center;min-height:44px;padding:10px 8px;transition:all .2s}.invoice-action-btn:active{background:#e2e8f0;transform:scale(.98)}.action-label{letter-spacing:.3px}.invoice-action-view:hover{background:#e0f2fe;border-color:#0ea5e9;color:#0284c7}.invoice-action-email:hover{background:#ecfdf5;border-color:#10b981;color:#059669}.invoice-action-pdf:hover{background:#fef3c7;border-color:#f59e0b;color:#d97706}.invoice-action-more{flex:0 0 auto;min-width:44px;padding:10px}.invoice-action-more .action-icon{font-size:24px}@media (max-width:380px){.action-label{display:none}.invoice-action-btn{min-width:44px}}@media (min-width:768px){.parent-name{font-size:18px}.invoice-card-info{font-size:15px}.amount-value{font-size:20px}.invoice-action-btn{flex-direction:row;padding:12px 16px}.action-label{display:inline}.invoice-action-btn:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}}.invoice-action-btn:focus-visible{outline:3px solid #667eea;outline-offset:2px}.invoice-stats{margin:-20px -20px 20px;overflow:hidden;padding:0 20px 16px}.invoice-stats-scroll{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none}.invoice-stats-scroll::-webkit-scrollbar{display:none}.stat-card{-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#fff;cursor:pointer;flex:0 0 auto;flex-direction:column;gap:8px;min-height:100px;scroll-snap-align:start;text-align:left;transition:all .3s ease;width:180px}.stat-card:active{box-shadow:0 2px 8px #0000001a;transform:scale(.98)}.stat-card:focus-visible{outline:3px solid #fff;outline-offset:2px}@media (min-width:768px){.stat-card{min-height:110px;width:200px}.stat-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}}.stat-card-icon{font-size:32px;line-height:1}.stat-card-content{display:flex;flex-direction:column;gap:4px}.stat-card-label{font-size:12px;font-weight:600;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.stat-card-value{font-size:24px;font-weight:700;line-height:1.2}@media (min-width:1024px){.invoice-stats{margin:-20px 0 20px;padding:0}.invoice-stats-scroll{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow-x:visible;scroll-snap-type:none}.stat-card{min-height:120px;padding:20px;width:auto}.stat-card-icon{font-size:36px}.stat-card-label{font-size:13px}.stat-card-value{font-size:28px}}@media (max-width:380px){.stat-card{min-height:90px;padding:14px;width:160px}.stat-card-icon{font-size:28px}.stat-card-label{font-size:11px}.stat-card-value{font-size:20px}}.quick-filters{margin:0 -20px 20px;overflow:hidden;padding:0 20px}.filter-chips,.quick-filters-scroll{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:none}.filter-chips::-webkit-scrollbar,.quick-filters-scroll::-webkit-scrollbar{display:none}.filter-chip{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:24px;color:#64748b;cursor:pointer;display:flex;flex:0 0 auto;font-size:14px;font-weight:600;gap:6px;min-height:44px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.filter-chip:active{background:#f1f5f9;transform:scale(.98)}.filter-chip:focus-visible{outline:3px solid #667eea;outline-offset:2px}.filter-chip.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.filter-chip-advanced{background:#f0f4ff;border-color:#667eea;color:#667eea}.filter-chip-advanced:active{background:#e0eaff}@media (min-width:768px){.filter-chip:hover{background:#f8fafc;border-color:#667eea;box-shadow:0 2px 8px #0000001a;color:#667eea;transform:translateY(-2px)}.filter-chip.active:hover{background:linear-gradient(135deg,#5568d3,#6a3d93);box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.filter-chip-advanced:hover{background:#e0eaff;border-color:#5568d3;color:#5568d3}}.chip-icon{font-size:16px;line-height:1}.chip-label{font-size:14px;font-weight:600}.chip-count{background:#0000001a;border-radius:12px;font-size:12px;font-weight:700;min-width:24px;padding:2px 8px;text-align:center}.filter-chip.active .chip-count{background:#ffffff4d}@media (min-width:1024px){.quick-filters{margin:0 0 20px;padding:0}.filter-chips,.quick-filters-scroll{flex-wrap:wrap;overflow-x:visible}}@media (max-width:380px){.filter-chip{font-size:13px;padding:8px 14px}.chip-icon{font-size:14px}.chip-label{font-size:13px}}.filter-bottom-sheet{display:flex;flex-direction:column;gap:24px}.filter-section{display:flex;flex-direction:column;gap:12px}.filter-section-title{color:#64748b;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.filter-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field label{color:#475569;font-size:13px;font-weight:600}.filter-input{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:16px;font-weight:500;padding:12px 14px;transition:all .2s;width:100%}.filter-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:40px}.filter-checkbox{align-items:center;background:#f8fafc;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{border:2px solid #cbd5e1;border-radius:4px;cursor:pointer;height:20px;margin:0;width:20px}.filter-checkbox input[type=checkbox]:checked{accent-color:#667eea}.filter-checkbox label{color:#1e293b;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;margin:0}.filter-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;margin-top:8px;padding-top:8px}.filter-btn{border:none;border-radius:10px;flex:1 1;font-size:15px;font-weight:700;min-height:48px;padding:14px 20px}.filter-btn-reset{background:#f1f5f9;color:#64748b}.filter-btn-reset:active{background:#e2e8f0;transform:scale(.98)}.filter-btn-apply{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 4px 12px #667eea4d;color:#fff}.filter-btn-apply:active{box-shadow:0 2px 8px #667eea33;transform:scale(.98)}.filter-btn:focus-visible{outline:3px solid #667eea;outline-offset:2px}@media (min-width:768px){.filter-btn-reset:hover{background:#e2e8f0;color:#475569}.filter-btn-apply:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}}@media (max-width:380px){.filter-row{grid-template-columns:1fr}.filter-actions{flex-direction:column}}.action-sheet-container{align-items:flex-end;animation:fadeIn .2s ease-out;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.action-sheet-backdrop{background:#00000080;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.action-sheet{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px 16px 0 0;display:flex;flex-direction:column;gap:12px;max-height:80vh;max-width:500px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-title{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:14px;font-weight:700;letter-spacing:.5px;padding:8px 0 12px;text-align:center;text-transform:uppercase}.action-sheet-actions{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.action-sheet-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#f8fafc;border:none;border-radius:10px;color:#1e293b;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;min-height:52px;padding:14px 16px;transition:all .2s}.action-sheet-btn:active{background:#e2e8f0;transform:scale(.98)}.action-sheet-icon{font-size:20px;line-height:1}.action-sheet-label{flex:1 1;text-align:left}.action-sheet-btn.destructive{background:#fee2e2;color:#dc2626}.action-sheet-btn.destructive:active{background:#fecaca}.action-sheet-btn.disabled,.action-sheet-btn:disabled{cursor:not-allowed;opacity:.4}.action-sheet-btn.disabled:active,.action-sheet-btn:disabled:active{transform:none}.action-sheet-cancel{-webkit-tap-highlight-color:transparent;background:#f1f5f9;border:none;border-radius:10px;color:#475569;cursor:pointer;font-size:15px;font-weight:700;margin-top:4px;min-height:52px;padding:14px 16px;transition:all .2s}.action-sheet-cancel:active{background:#e2e8f0;transform:scale(.98)}@media (min-width:768px){.action-sheet-container{align-items:center}.action-sheet{border-radius:16px;max-width:400px;padding-bottom:20px}.action-sheet-btn:hover:not(.disabled):not(:disabled){background:#e2e8f0}.action-sheet-btn.destructive:hover:not(.disabled):not(:disabled){background:#fecaca}.action-sheet-cancel:hover{background:#e2e8f0}}.confirm-dialog-container{align-items:center;animation:fadeIn .2s ease-out;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2100}.confirm-dialog-backdrop{background:#0009;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.confirm-dialog{animation:scaleIn .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 8px 24px #0003;max-width:400px;padding:24px;position:relative;width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.confirm-dialog-title{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 12px;text-align:center}.confirm-dialog-message{color:#475569;font-size:15px;line-height:1.6;margin:0 0 24px;text-align:center}.confirm-dialog-actions{display:flex;gap:12px}.confirm-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:700;min-height:48px;padding:14px 20px;transition:all .2s}.confirm-btn-cancel{background:#f1f5f9;color:#64748b}.confirm-btn-cancel:active{background:#e2e8f0;transform:scale(.98)}.confirm-btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.confirm-btn-confirm:active{box-shadow:0 1px 4px #667eea33;transform:scale(.98)}.confirm-btn-confirm.destructive{background:linear-gradient(135deg,#dc2626,#991b1b);box-shadow:0 2px 8px #dc26264d}.confirm-btn-confirm.destructive:active{box-shadow:0 1px 4px #dc262633}@media (min-width:768px){.confirm-btn-cancel:hover{background:#e2e8f0;color:#475569}.confirm-btn-confirm:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.confirm-btn-confirm.destructive:hover{box-shadow:0 4px 12px #dc262666}}@media (max-width:380px){.confirm-dialog-actions{flex-direction:column}}.period-selector{box-sizing:border-box;display:flex;flex-direction:column;gap:12px;max-width:100%;overflow:hidden;width:100%}.period-selector-label{color:#475569;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.period-selector-controls{align-items:center;box-sizing:border-box;display:flex;gap:12px;max-width:100%;width:100%}.period-nav-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s;width:44px}.period-nav-btn:active{background:#f8fafc;border-color:#cbd5e1;transform:scale(.95)}.nav-icon{color:#475569;font-size:20px;line-height:1}.period-display{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.period-month-select,.period-year-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;max-width:100%;min-width:0;overflow:hidden;padding:12px 36px 12px 14px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.period-month-select{flex:2 1}.period-year-select{flex:1 1}.period-month-select:focus,.period-year-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.period-formatted{background:#f8fafc;border-radius:8px;color:#475569;font-size:15px;font-weight:700;padding:8px 16px;text-align:center}@media (min-width:768px){.period-nav-btn:hover{background:#f8fafc;border-color:#cbd5e1}.period-month-select:hover,.period-year-select:hover{border-color:#cbd5e1}}@media (max-width:480px){.period-selector-controls{gap:8px}.period-nav-btn{height:40px;width:40px}.period-display{gap:6px}.period-month-select,.period-year-select{font-size:15px;padding:10px 32px 10px 12px}}@media (max-width:380px){.period-selector-controls{gap:6px}.period-nav-btn{height:36px;width:36px}.period-display{gap:4px}.period-month-select,.period-year-select{font-size:14px;padding:8px 30px 8px 10px}.nav-icon{font-size:18px}}.invoice-form{background:#fff;display:flex;flex-direction:column;gap:20px}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.form-section .period-selector{max-width:100%;overflow:visible}.form-section .period-selector-controls{box-sizing:border-box;max-width:100%}.section-title{color:#1f2937;font-weight:600}.form-group{gap:6px;margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-label{color:#374151;font-weight:500}.form-input,.form-select,.form-textarea{border-radius:8px;transition:all .2s}.form-input:disabled,.form-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-textarea{min-height:80px}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.section-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.btn-add-item{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-add-item:hover{background:#2563eb}.btn-add-item:active{transform:scale(.98)}.btn-import-occupancy{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-import-occupancy:hover{background:#059669}.btn-import-occupancy:active{transform:scale(.98)}.line-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px;transition:all .2s}.line-item-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.line-item-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.item-description{color:#1f2937;flex:1 1;font-size:15px;font-weight:600}.item-total{color:#059669;flex-shrink:0;font-size:16px;font-weight:700}.line-item-details{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.item-detail{color:#6b7280;font-size:13px}.item-type{background:#dbeafe;border-radius:4px;color:#3b82f6;font-size:12px;font-weight:500;padding:2px 8px}.line-item-actions{display:flex;gap:8px}.item-action-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;flex:1 1;font-size:13px;padding:6px 12px;transition:all .2s}.item-action-btn:hover{background:#e5e7eb;border-color:#9ca3af}.item-action-btn.delete{color:#dc2626}.item-action-btn.delete:hover{background:#fee2e2;border-color:#fca5a5}.empty-line-items{color:#9ca3af;padding:40px 20px;text-align:center}.empty-line-items p{font-size:14px;margin:0}.totals-box{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:16px}.total-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.total-row:last-child{border-bottom:none}.total-row.final{border-top:2px solid #e5e7eb;margin-top:8px;padding-top:12px}.total-label{color:#6b7280;font-size:14px;font-weight:500}.total-row.final .total-label,.total-value{color:#1f2937;font-size:16px;font-weight:600}.total-row.final .total-value{color:#059669;font-size:20px;font-weight:700}.form-actions{background:#fff;border-top:1px solid #e5e7eb;bottom:0;padding-top:20px;position:-webkit-sticky;position:sticky}.form-btn{font-weight:600;padding:12px 24px}.form-btn-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.form-btn-cancel:hover{background:#e5e7eb}.form-btn-submit{background:#3b82f6}.form-btn-submit:hover{background:#2563eb}.form-btn:disabled:hover{background:#3b82f6}.form-btn:active:not(:disabled){transform:scale(.98)}.line-item-form{background:#fff;display:flex;flex-direction:column;gap:16px;padding:20px}.total-preview{align-items:center;background:#f0fdf4;border:2px solid #86efac;border-radius:8px;display:flex;justify-content:space-between;margin:8px 0;padding:12px 16px}.preview-label{color:#15803d;font-size:15px;font-weight:600}.preview-value{color:#059669;font-size:18px;font-weight:700}@media (max-width:480px){.form-section{padding:12px}.form-section .period-selector-controls{gap:6px}.form-section .period-nav-btn{height:36px;width:36px}.form-section .period-display{gap:4px}.form-section .period-month-select,.form-section .period-year-select{font-size:14px;padding:8px 30px 8px 10px}.section-title{font-size:15px}.line-item-header{align-items:flex-start;flex-direction:column}.item-total{font-size:18px}.form-actions{flex-direction:column}.form-btn{width:100%}}@media (max-width:380px){.form-section .period-selector-controls{gap:4px}.form-section .period-nav-btn{height:32px;width:32px}.form-section .period-display{gap:3px}.form-section .period-month-select,.form-section .period-year-select{font-size:13px;padding:6px 28px 6px 8px}.form-section .nav-icon{font-size:16px}}.invoice-detail-screen{background:#f8fafc;margin:0 auto;max-width:1400px;width:100%}.invoice-detail-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.header-back-btn,.header-more-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff3;border:none;border-radius:12px;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s;width:44px}.header-back-btn:active,.header-more-btn:active{background:#ffffff4d;transform:scale(.95)}.back-icon,.more-icon{color:#fff;font-size:24px;line-height:1}.header-title{flex:1 1;padding:0 12px;text-align:center}.header-title h2{color:#fff;font-size:18px;font-weight:700;margin:0}.invoice-detail-content{padding:16px}.detail-card{margin-bottom:16px}.parent-info{align-items:flex-start;display:flex;gap:16px}.parent-icon-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:28px;display:flex;flex-shrink:0;font-size:28px;height:56px;justify-content:center;width:56px}.parent-details{flex:1 1;min-width:0}.parent-name{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 4px}.child-name{color:#64748b;font-size:14px;font-weight:600;margin:0 0 4px}.parent-email{color:#94a3b8;font-size:13px;margin:0}.metadata-section{display:flex;flex-direction:column;gap:16px}.section-title{color:#64748b;font-size:14px;letter-spacing:.5px;margin:0;text-transform:uppercase}.metadata-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-label{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metadata-value{color:#1e293b;font-size:15px;font-weight:600}.metadata-value.due-date{display:flex;flex-direction:column;gap:6px}.overdue-badge{background:#fee2e2;border-radius:4px;color:#dc2626;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.line-items-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.line-item{align-items:flex-start;background:#f8fafc;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.line-item-description{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.line-item-desc{color:#1e293b;font-size:14px;font-weight:600}.line-item-type{color:#64748b;font-size:12px}.line-item-pricing{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.line-item-qty{color:#94a3b8;font-size:12px}.line-item-price{color:#64748b;font-size:13px}.line-item-total{color:#1e293b;font-size:15px;font-weight:700}.financial-row{border-bottom:1px solid #e2e8f0;padding:12px 0}.financial-row:last-child{border-bottom:none}.financial-row.total{border-top:2px solid #e2e8f0;padding-top:16px}.financial-value{color:#1e293b;font-size:16px}.financial-row.paid .financial-value{color:#10b981}.financial-row.total .financial-label{color:#1e293b;font-size:16px;font-weight:700}.financial-row.total .financial-value{color:#667eea;font-size:20px}.config-summary{display:flex;flex-direction:column;gap:12px;margin-top:12px}.config-row{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;justify-content:space-between;padding:12px 0}.config-row:last-child{border-bottom:none}.config-label{flex-shrink:0;font-size:13px;font-weight:600}.config-value{font-size:14px;font-weight:500;text-align:right}.config-detail{color:#94a3b8;font-size:12px;font-weight:400}.payment-history-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.payment-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.payment-info{gap:2px}.payment-date{color:#1e293b;font-size:13px;font-weight:600}.payment-type{color:#64748b;font-size:12px;text-transform:capitalize}.payment-amount{font-size:15px}.email-log-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.email-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.email-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.email-date{color:#1e293b;font-size:13px;font-weight:600}.email-type{color:#64748b;font-size:12px;text-transform:capitalize}.email-recipient{color:#94a3b8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-detail-actions{background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -2px 8px #0000000d;display:flex;gap:12px;padding:16px;z-index:10}.action-btn{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:12px;font-weight:700;gap:4px;min-height:60px;padding:12px 8px;transition:all .2s}.action-btn-secondary{background:#f1f5f9;color:#475569}.action-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.action-btn:disabled{cursor:not-allowed;opacity:.4}.action-btn:not(:disabled):active{transform:scale(.95)}.action-btn-secondary:not(:disabled):active{background:#e2e8f0}.action-btn-primary:not(:disabled):active{box-shadow:0 1px 4px #667eea33}.action-icon{font-size:20px;line-height:1}.action-label{font-size:11px;letter-spacing:.5px;text-transform:uppercase}@media (min-width:768px){.invoice-detail-screen{bottom:0;box-shadow:-4px 0 16px #0000001a;left:0;position:fixed;right:0;top:0}.invoice-detail-content{padding-bottom:100px}.action-btn:hover:not(:disabled){transform:translateY(-2px)}.action-btn-secondary:hover:not(:disabled){background:#e2e8f0}.action-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66}.header-back-btn:hover,.header-more-btn:hover{background:#ffffff4d}}@media (max-width:380px){.metadata-grid{grid-template-columns:1fr}.invoice-detail-actions{gap:8px;padding:12px}.action-btn{min-height:56px;padding:10px 6px}.action-label{font-size:10px}}.revision-warning-card{background:#fef3c7;border:2px solid #f59e0b}.warning-item{align-items:center;display:flex;gap:10px;padding:4px 0}.warning-icon{flex-shrink:0;font-size:18px}.warning-text{color:#92400e;font-size:14px;font-weight:700}.revision-badge{color:#f59e0b}.superseded-badge{background:#fee2e2;border-radius:8px;color:#dc2626;margin:-4px;padding:8px 12px}.revision-reason{background:#ffffffb3;border-radius:6px;color:#78350f;font-size:13px;margin-top:8px;padding:10px}.revision-reason strong{color:#92400e}.revision-history-card .section-title{align-items:center;display:flex;justify-content:space-between}.section-count{background:#f1f5f9;border-radius:12px;color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:0;padding:4px 10px;text-transform:none}.revision-history-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.revision-item{background:#f8fafc;border:2px solid #0000;border-radius:10px;padding:14px;transition:all .2s}.revision-item.current{background:#f0fdf4;border-color:#22c55e}.revision-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.revision-number{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:700;gap:8px}.current-badge{background:#22c55e;border-radius:10px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.revision-date{color:#64748b;font-size:13px}.revision-details{margin-bottom:8px}.revision-amount{color:#475569;font-size:14px;font-weight:600}.revision-item .revision-reason{background:#ffffffb3;border-radius:6px;color:#64748b;font-size:13px;font-style:italic;margin:8px 0;padding:8px 10px}.revision-actions{display:flex;gap:8px;margin-top:12px}.revision-btn{-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s}.revision-btn:active{background:#f8fafc;transform:scale(.97)}@media (min-width:768px){.revision-btn:hover{background:#f8fafc;border-color:#cbd5e1}}.revision-form{display:flex;flex-direction:column;gap:20px}.form-info{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;color:#1e40af;font-size:14px;line-height:1.5;padding:12px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:700}.form-label,.form-textarea{color:#1e293b;font-size:14px}.form-textarea{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;line-height:1.5;padding:12px;resize:vertical;transition:all .2s}.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-note{background:#fef3c7;border-radius:6px;color:#92400e;font-size:13px;line-height:1.5;padding:10px 12px}.form-note strong{color:#78350f}.form-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:700;padding:14px 20px;transition:all .2s}.form-btn-cancel{background:#f1f5f9;color:#475569}.form-btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.form-btn-destructive{background:#dc2626;box-shadow:0 2px 8px #dc26264d;color:#fff}.form-btn:disabled{cursor:not-allowed;opacity:.5}.form-btn:not(:disabled):active{transform:scale(.97)}.form-help-text{color:#64748b;font-size:12px;line-height:1.5;margin:0}@media (min-width:768px){.form-btn-cancel:hover:not(:disabled){background:#e2e8f0}.form-btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66}.form-btn-destructive:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262666}}.cancel-invoice-form{display:flex;flex-direction:column;gap:20px}.form-warning{background:#fef2f2;border-left:3px solid #dc2626;border-radius:8px;color:#991b1b;font-size:14px;line-height:1.6;margin:0;padding:14px 16px}.compare-revisions-content{display:flex;flex-direction:column;gap:20px;padding:4px 0}.compare-header{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.compare-col{background:#f8fafc;border-radius:8px;padding:12px;text-align:center}.compare-col h4{color:#64748b;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.compare-col p{color:#1e293b;font-size:16px;font-weight:700;margin:0}.changes-list{display:flex;flex-direction:column;gap:12px}.change-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.change-field{color:#64748b;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.change-values{align-items:center;display:flex;gap:12px}.change-new,.change-old{display:flex;flex:1 1;flex-direction:column;gap:4px}.change-label{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.change-value{color:#1e293b;font-size:14px;font-weight:600;word-break:break-word}.change-old .change-value{color:#dc2626;text-decoration:line-through}.change-new .change-value{color:#10b981}.change-arrow{color:#94a3b8;flex-shrink:0;font-size:20px}.no-changes,.no-data{color:#64748b;font-size:14px;padding:32px;text-align:center}.revision-reason-box{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;padding:14px}.revision-reason-box strong{color:#1e40af;display:block;font-size:13px;margin-bottom:6px}.revision-reason-box p{color:#1e40af;font-size:14px;font-style:italic;line-height:1.5;margin:0}.loading-container{gap:12px;padding:40px 20px}.loading-container .loading-spinner{border-width:3px;height:40px;width:40px}.split-invoices-card .section-title{align-items:center;display:flex;justify-content:space-between}.split-info-box{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px;margin-bottom:16px;padding:12px}.split-info-text{color:#1e40af;font-size:13px;line-height:1.5;margin:0}.split-invoices-list{gap:12px}.split-invoices-list,.split-item{display:flex;flex-direction:column}.split-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;gap:10px;padding:14px}.split-item.current-split{background:#eff6ff;border-color:#3b82f6}.split-header{gap:12px;justify-content:space-between}.split-header,.split-parent{align-items:center;display:flex}.split-parent{flex:1 1;gap:10px;min-width:0}.split-icon{flex-shrink:0;font-size:20px}.split-parent-info{display:flex;flex-direction:column;gap:2px;min-width:0}.split-parent-name{color:#1e293b;font-size:14px;font-weight:700}.split-invoice-number{color:#64748b;font-size:12px}.split-percentage{background:#dbeafe;border-radius:8px;color:#3b82f6;flex-shrink:0;font-size:18px;font-weight:700;padding:6px 14px}.split-amount{align-items:center;color:#1e293b;display:flex;font-size:16px;font-weight:700;gap:10px;justify-content:space-between}.split-current-badge{background:#3b82f6;border-radius:10px;color:#fff;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.split-status{display:flex;justify-content:flex-end}@media (max-width:380px){.split-header{flex-wrap:wrap}.split-percentage{font-size:16px;padding:4px 10px}.split-amount{font-size:15px}}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 32px}.empty-state-icon{animation:floatIn .5s ease}.empty-state-title{animation:fadeIn .5s ease .1s both;color:#1e293b;font-size:20px;font-weight:700;margin:0 0 12px}.empty-state-message{animation:fadeIn .5s ease .2s both;color:#64748b;font-size:15px;line-height:1.6;margin:0 0 24px;max-width:400px}.empty-state-action{animation:fadeIn .5s ease .3s both;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:15px;font-weight:700;min-height:44px;padding:12px 24px;transition:all .2s}.empty-state-action:active{box-shadow:0 2px 8px #667eea33;transform:scale(.98)}.empty-state-action:focus-visible{outline:3px solid #667eea;outline-offset:2px}@media (min-width:768px){.empty-state-icon{font-size:80px}.empty-state-title{font-size:24px}.empty-state-message{font-size:16px}.empty-state-action:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}}@keyframes floatIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.empty-state-action,.empty-state-icon,.empty-state-message,.empty-state-title{animation:none!important}}.export-button-wrapper{display:inline-block;position:relative}.export-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;min-height:48px;padding:12px 20px;transition:all .2s}.export-button:disabled{cursor:not-allowed;opacity:.6}.export-button:not(:disabled):active{box-shadow:0 1px 4px #10b98133;transform:scale(.98)}.export-icon{font-size:18px;line-height:1}.export-chevron{font-size:10px;line-height:1;transition:transform .2s}.export-chevron.open{transform:rotate(180deg)}.export-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.export-dropdown{animation:dropdownSlide .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0000001f;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:100}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.export-option{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:none;border-bottom:1px solid #f1f5f9;color:#1e293b;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:14px 16px;text-align:left;transition:all .15s;width:100%}.export-option:last-child{border-bottom:none}.export-option:active{background:#f8fafc}.option-icon{font-size:20px;line-height:1}.option-label{flex:1 1}.option-extension{color:#64748b;font-family:Monaco,Courier New,monospace;font-size:12px;font-weight:600}.export-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}@media (min-width:768px){.export-button:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.export-option:hover{background:#f8fafc}}@media (max-width:380px){.export-button-wrapper{display:block}.export-button{width:100%}.export-dropdown{left:0;right:0;width:auto}}.invoice-run-card{display:flex;flex-direction:column;gap:16px;position:relative}.run-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.run-card-period{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.period-icon{flex-shrink:0;font-size:22px}.period-text{color:#1e293b;font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-card-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.run-stat{background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.run-stat.success{background:#f0fdf4;border-left-color:#10b981}.run-stat.error{background:#fef2f2;border-left-color:#dc2626}.run-stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.run-stat-value{color:#1e293b;font-size:18px;font-weight:700}.run-stat.success .run-stat-value{color:#10b981}.run-stat.error .run-stat-value{color:#dc2626}.run-card-financial{background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:8px;display:flex;flex-direction:column;gap:10px;padding:12px}.run-financial-item{align-items:center;display:flex;justify-content:space-between}.run-financial-label{color:#475569;font-size:13px;font-weight:600}.run-financial-value{color:#667eea;font-size:16px;font-weight:700}.run-card-footer{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;padding-top:12px}.run-footer-item{align-items:center;display:flex;gap:6px}.run-footer-icon{font-size:14px;line-height:1}.run-footer-text{color:#64748b;font-size:12px;font-weight:600}.run-processing-indicator{align-items:center;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:8px;display:flex;gap:10px;padding:10px 12px}.processing-spinner{animation:spin 1s linear infinite;border:2px solid #dbeafe;border-radius:50%;border-top-color:#3b82f6;height:16px;width:16px}.processing-text{color:#3b82f6;font-size:13px;font-weight:600}@media (max-width:480px){.run-card-stats{grid-template-columns:repeat(2,1fr)}.run-stat{padding:10px}.run-stat-value{font-size:16px}}@media (max-width:380px){.run-card-footer{flex-direction:column;gap:8px}.run-footer-item{justify-content:flex-start}}.run-detail-screen{background:#f8fafc;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:85}.run-detail-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top)) 20px 16px}.run-detail-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.run-info-header{justify-content:space-between}.run-info-header,.run-period-large{align-items:center;display:flex;gap:16px}.run-period-large{flex:1 1;min-width:0}.period-icon-large{flex-shrink:0;font-size:32px;line-height:1}.period-details{flex:1 1;min-width:0}.period-title{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 4px}.run-date{color:#64748b;font-size:13px;margin:0}.stats-grid{margin-top:12px}.stat-item{background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:8px;gap:6px;padding:14px}.stat-item.success{background:#f0fdf4;border-left-color:#10b981}.stat-item.error{background:#fef2f2;border-left-color:#dc2626}.stat-label{color:#94a3b8;letter-spacing:.5px}.stat-value{font-size:24px}.stat-item.success .stat-value{color:#10b981}.stat-item.error .stat-value{color:#dc2626}.success-rate{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.success-rate-label{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.success-rate-bar{background:#e2e8f0;border-radius:6px;height:12px;margin-bottom:6px;overflow:hidden}.success-rate-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:6px;height:100%;transition:width .3s ease}.success-rate-value{color:#10b981;font-size:16px;font-weight:700;text-align:right}.financial-summary{display:flex;flex-direction:column;gap:12px;margin-top:12px}.financial-row{align-items:center;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:8px;display:flex;justify-content:space-between;padding:12px}.financial-label{color:#475569;font-size:14px;font-weight:600}.financial-value{color:#667eea;font-size:18px;font-weight:700}.processing-info{display:flex;flex-direction:column;gap:12px;margin-top:12px}.processing-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.processing-label{color:#64748b;font-size:13px;font-weight:600}.processing-value{color:#1e293b;font-size:14px;font-weight:700}.errors-card .section-title.error{color:#dc2626}.errors-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.error-item{background:#fef2f2;border-left:3px solid #dc2626;border-radius:6px;padding:12px}.error-info{display:flex;flex-direction:column;gap:4px}.error-time{color:#94a3b8;font-size:11px;font-weight:600}.error-message{color:#dc2626;font-size:14px;font-weight:600}.error-code{color:#64748b;font-family:monospace;font-size:12px}@media (min-width:768px){.run-detail-screen{bottom:0;box-shadow:-4px 0 16px #0000001a;left:0;position:fixed;right:0;top:0}}@media (max-width:380px){.stats-grid{grid-template-columns:1fr}}.dunning-run-card{-webkit-tap-highlight-color:transparent;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:16px;transition:all .2s}.dunning-run-card:active{box-shadow:0 1px 4px #0000001a;transform:scale(.98)}.dunning-run-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.run-date-time{display:flex;flex-direction:column;gap:4px}.run-date{color:#1e293b;font-size:16px;font-weight:700}.run-time{color:#64748b;font-size:13px}.run-status-badge{align-items:center;border-radius:20px;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.run-status-badge.success{background:#d1fae5;color:#065f46}.run-status-badge.processing{background:#fef3c7;color:#92400e}.run-status-badge.error{background:#fee2e2;color:#991b1b}.run-status-badge.pending{background:#e0e7ff;color:#3730a3}.status-icon{font-size:14px;line-height:1}.status-label{font-size:11px}.dunning-run-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:12px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:500}.stat-value{font-size:18px}.stat-value.success-text{color:#059669}.stat-value.error-text{color:#dc2626}.dunning-levels-row{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:8px;margin-bottom:8px;padding:10px}.levels-label{color:#64748b;font-size:12px;font-weight:600}.levels-value{color:#1e293b;font-size:12px;font-weight:500}.processing-time{color:#64748b;font-size:11px;margin-bottom:8px;text-align:right}.tap-indicator{align-items:center;border-top:1px dashed #e5e7eb;display:flex;gap:6px;justify-content:center;margin-top:8px;padding:8px}.tap-icon{font-size:16px;line-height:1}.tap-label{color:#94a3b8;font-size:12px;font-style:italic}@media (min-width:768px){.dunning-run-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.dunning-run-stats{grid-template-columns:repeat(4,1fr)}}.dunning-preview-dialog{display:flex;flex-direction:column;gap:20px}.preview-message{background:#e0e7ff;border-radius:8px;color:#3730a3;font-size:14px;line-height:1.5;padding:12px 16px}.preview-invoice-item{gap:10px}.invoice-amount{color:#dc2626}.dunning-progression{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:8px;padding:10px}.progression-item{display:flex;flex-direction:column;gap:3px}.progression-label{color:#94a3b8;font-size:10px;font-weight:600;text-transform:uppercase}.progression-value{color:#1e293b;font-size:12px;font-weight:600}.progression-item.new .progression-value{color:#dc2626}.progression-arrow{font-size:16px;margin:0 4px}.invoice-item-footer{align-items:center;color:#64748b;display:flex;font-size:12px;justify-content:space-between}.invoice-fee{color:#059669;font-weight:600}.invoice-overdue{font-weight:500}.preview-btn-execute{background:#667eea}@media (min-width:768px){.preview-btn-cancel:hover:not(:disabled){background:#e5e7eb}.preview-btn-execute:hover:not(:disabled){background:#5568d3}.preview-invoice-list{max-height:500px}}.dunning-run-detail-screen{display:flex;flex-direction:column;gap:24px;padding:20px 16px}.detail-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.detail-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.section-title{font-size:16px;margin:0 0 16px}.detail-status-badge{align-items:center;border-radius:24px;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:20px;padding:8px 16px}.detail-status-badge.success{background:#d1fae5;color:#065f46}.detail-status-badge.processing{background:#fef3c7;color:#92400e}.detail-status-badge.error{background:#fee2e2;color:#991b1b}.detail-status-badge.pending{background:#e0e7ff;color:#3730a3}.detail-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.info-item{padding:12px}.info-label,.info-value{font-size:13px}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;display:flex;gap:12px;padding:16px}.stat-card.success{background:#f0fdf4;border-color:#86efac}.stat-card.error{background:#fef2f2;border-color:#fca5a5}.stat-icon{font-size:28px;line-height:1}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-value{line-height:1}.stat-label{font-weight:600;text-transform:uppercase}.levels-list{display:flex;flex-wrap:wrap;gap:8px}.level-badge{background:#667eea;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:8px 14px}.actions-list{gap:12px;max-height:500px;overflow-y:auto}.action-item,.actions-list{display:flex;flex-direction:column}.action-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;gap:10px;padding:14px}.action-item.success{background:#f0fdf4;border-color:#86efac}.action-item.error{background:#fef2f2;border-color:#fca5a5}.action-header{align-items:center;display:flex;justify-content:space-between}.action-invoice{color:#1e293b;font-size:14px;font-weight:700}.action-status{font-size:18px;line-height:1}.action-progression{align-items:center;display:flex;font-size:12px;font-weight:600;gap:8px}.progression-from{color:#64748b}.progression-arrow{color:#cbd5e1}.progression-to{color:#dc2626}.action-fee{color:#059669;font-size:12px;font-weight:600}.action-error{background:#fff;border-radius:6px;color:#dc2626;font-size:12px;padding:8px}.config-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.config-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px}.config-label{color:#64748b;font-size:12px;font-weight:500}.config-value{color:#1e293b;font-size:12px;font-weight:700}.detail-notes{background:#f9fafb;border-radius:8px;color:#1e293b;font-size:13px;line-height:1.6;padding:14px;white-space:pre-wrap}@media (min-width:600px){.stats-grid{grid-template-columns:repeat(4,1fr)}.config-grid,.detail-info-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.dunning-run-detail-screen{padding:24px 20px}.actions-list{max-height:600px}}.dunning-manager-mobile{display:flex;flex-direction:column;height:100%;padding:20px 16px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.loading-spinner{border:4px solid #e5e7eb;height:40px;width:40px}.loading-container p{color:#64748b;font-size:14px;margin:0}.dunning-run-list{display:flex;flex-direction:column;gap:16px}.invoice-run-preview-dialog{display:flex;flex-direction:column;gap:20px}.preview-summary{display:flex;flex-wrap:wrap;gap:16px}.summary-card{background:#f9fafb;border:1px solid #e5e7eb;flex:1 1;gap:12px;min-width:180px}.summary-icon{font-size:32px;line-height:1}.summary-content{display:flex;flex-direction:column;gap:4px}.summary-value{color:#1e293b;font-size:24px;font-weight:700;line-height:1}.summary-label{color:#000;font-size:12px;font-weight:500}.preview-period{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;display:flex;font-size:14px;gap:8px;padding:12px 16px}.period-icon{font-size:20px;line-height:1}.period-label{color:#64748b;font-weight:600}.period-value{color:#1e293b;font-weight:700}.preview-list-header{margin-bottom:0}.preview-list-header h3{color:#1e293b;font-size:16px;font-weight:700;margin:0}.preview-invoice-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:4px}.preview-invoice-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:14px}.invoice-item-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-bottom:8px}.invoice-number{color:#1e293b;font-size:14px;font-weight:700}.invoice-amount{color:#10b981;font-size:14px;font-weight:700}.invoice-parent{color:#64748b;font-size:13px}.invoice-date{color:#94a3b8;font-size:12px}.preview-option{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.option-checkbox{align-items:center;cursor:pointer;display:flex;gap:10px;margin-bottom:8px}.option-checkbox input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.option-label{color:#1e293b;font-size:14px;font-weight:600}.option-hint{color:#64748b;font-size:12px;line-height:1.5;margin-left:30px}.preview-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:8px}.preview-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:14px 20px;transition:all .2s}.preview-btn-cancel{background:#f3f4f6;color:#374151}.preview-btn-execute{background:#10b981;color:#fff}.preview-btn:disabled{cursor:not-allowed;opacity:.5}.preview-btn:active:not(:disabled){transform:scale(.98)}.preview-empty{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px 20px}.empty-icon{font-size:64px;line-height:1}.empty-title{color:#1e293b;font-size:18px;font-weight:700;text-align:center}.empty-message{color:#64748b;font-size:14px;line-height:1.6;max-width:300px;text-align:center}.preview-empty .preview-btn{min-width:120px}@media (min-width:768px){.preview-btn-cancel:hover:not(:disabled){background:#e5e7eb}.preview-btn-execute:hover:not(:disabled){background:#059669}.preview-invoice-list{max-height:500px}}@media (min-width:600px){.preview-summary{gap:20px}.summary-card{min-width:200px}}.runs-section{display:flex;flex-direction:column;height:100%}.runs-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-shrink:0;gap:0;margin-bottom:20px}.runs-tab{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .2s}.runs-tab.active{background:#f8f9ff;border-bottom-color:#667eea;color:#667eea}.runs-tab:active{transform:scale(.98)}.runs-tab .tab-icon{font-size:18px;line-height:1}.runs-tab .tab-label{font-size:14px}@media (max-width:480px){.runs-tab{flex-direction:column;gap:4px;padding:12px 8px}.runs-tab .tab-icon{font-size:20px}.runs-tab .tab-label{font-size:11px}}@media (min-width:768px){.runs-tab:hover{background:#f3f4f6;color:#475569}.runs-tab.active:hover{background:#f8f9ff;color:#667eea}}.payment-card{display:flex;flex-direction:column;gap:14px;position:relative}.payment-card.canceled{opacity:.6}.payment-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.payment-amount{color:#10b981;font-size:22px;font-weight:700}.payment-card.canceled .payment-amount{color:#dc2626;text-decoration:line-through}.payment-info{display:flex;flex-direction:column;gap:8px}.payment-info-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.payment-label{color:#64748b;flex-shrink:0;font-size:13px;font-weight:600}.payment-value{color:#1e293b;flex:1 1;font-size:14px;font-weight:600;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.payment-value.parent-name{color:#667eea}.payment-value.invoice-number{font-family:monospace;font-size:13px}.payment-value.reference-number{color:#64748b;font-family:monospace;font-size:12px}.payment-value.method-badge{background:#f1f5f9;border-radius:4px;color:#475569;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.payment-card-footer{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;padding-top:10px}.payment-footer-item{align-items:center;display:flex;gap:6px}.footer-icon{font-size:14px;line-height:1}.footer-text{color:#64748b;font-size:12px;font-weight:600}.canceled-badge{background:#dc2626;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;position:absolute;right:12px;top:12px;transform:rotate(12deg)}@media (max-width:380px){.payment-info-row{align-items:flex-start;flex-direction:column;gap:4px}.payment-value{text-align:left}}.payment-detail-screen{background:#f8fafc;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:85}.payment-detail-header{align-items:center;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top)) 20px 16px}.payment-detail-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.payment-amount-display{align-items:center;display:flex;gap:16px}.amount-icon{flex-shrink:0;font-size:32px;line-height:1}.amount-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.amount-value{color:#10b981;font-size:28px}.amount-value.canceled{color:#dc2626;text-decoration:line-through}.canceled-notice{background:#fef2f2;border-left:3px solid #dc2626;border-radius:6px;color:#dc2626;font-size:13px;font-weight:600;margin-top:12px;padding:10px 12px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:12px}.info-item{flex-direction:column;gap:4px}.info-item.full-width{grid-column:1/-1}.info-label{color:#94a3b8;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.info-value{word-wrap:break-word;font-size:14px}.info-value.invoice-link{color:#667eea;cursor:pointer}.info-value.reference-value{color:#64748b;font-family:monospace;font-size:13px}.info-value.confidence-high{color:#10b981;font-weight:700}.info-value.confidence-medium{color:#f59e0b;font-weight:700}.info-value.confidence-low{color:#dc2626;font-weight:700}.cancellation-card{background:#fef2f2;border-left:3px solid #dc2626}.cancellation-card .section-title.error{color:#dc2626}.notes-text{color:#475569;font-size:14px;line-height:1.6;margin:12px 0 0;white-space:pre-wrap}.loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100}.loading-spinner{animation:spin 1s linear infinite;border-top-color:#10b981}.manual-match-content{gap:20px}.manual-match-content,.match-info{display:flex;flex-direction:column}.match-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;gap:10px;padding:14px}.match-debtor,.match-payment-amount{align-items:center;display:flex;gap:12px;justify-content:space-between}.match-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.match-value{color:#1e293b;font-size:14px;font-weight:700;text-align:right}.match-payment-amount .match-value{color:#10b981;font-size:16px}.match-form-group{display:flex;flex-direction:column;gap:8px}.match-form-label{color:#1e293b;font-size:14px;font-weight:700}.match-form-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:2px solid #e5e7eb;border-radius:10px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;padding:12px 40px 12px 14px;transition:all .2s}.match-form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.match-form-select:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.match-help-text{color:#64748b;font-size:12px;font-style:italic;margin:0}@media (min-width:768px){.payment-detail-screen{bottom:0;box-shadow:-4px 0 16px #0000001a;left:0;position:fixed;right:0;top:0}}@media (max-width:380px){.info-grid{grid-template-columns:1fr}.amount-value{font-size:24px}}.import-payments-dialog{display:flex;flex-direction:column;gap:20px}.import-info-box{background:#e0e7ff;border:1px solid #c7d2fe;border-radius:10px;display:flex;gap:12px;padding:14px}.import-info-box .info-icon{flex-shrink:0;font-size:24px;line-height:1}.import-info-box .info-content{flex:1 1}.import-info-box .info-title{color:#3730a3;font-size:14px;font-weight:700;margin-bottom:8px}.import-info-box .info-list{color:#4338ca;font-size:13px;line-height:1.6;margin:0;padding-left:20px}.import-info-box .info-list li{margin-bottom:4px}.format-selection{display:flex;flex-direction:column;gap:8px}.format-label{color:#1e293b;font-size:14px;font-weight:700}.format-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:2px solid #e5e7eb;border-radius:10px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;padding:12px 40px 12px 14px;transition:all .2s}.format-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.format-select:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.format-help-text{color:#64748b;font-size:12px;font-style:italic;margin:0}.file-selection-area{display:flex;justify-content:center;padding:20px 0}.file-input-hidden{display:none}.file-select-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#667eea;border-radius:12px;box-shadow:0 3px 8px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;padding:14px 24px;transition:all .2s}.file-select-btn.disabled{cursor:not-allowed;opacity:.5}.file-select-btn:active:not(.disabled){box-shadow:0 1px 4px #667eea4d;transform:scale(.96)}.file-select-btn .btn-icon{font-size:20px;line-height:1}.file-select-btn .btn-label{font-size:15px}.selected-file-info{background:#fff;border:2px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.file-info-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:10px;padding-bottom:12px}.file-icon{font-size:24px;line-height:1}.file-name{color:#1e293b;flex:1 1;font-size:14px;font-weight:700;word-break:break-word}.file-info-details{display:flex;flex-direction:column;gap:8px}.file-detail-item{align-items:center;display:flex;justify-content:space-between}.detail-label{color:#64748b}.detail-label,.detail-value{font-size:12px;font-weight:600}.detail-value{color:#1e293b}.upload-progress{display:flex;flex-direction:column;gap:10px}.progress-label{color:#1e293b;font-size:14px;font-weight:600;text-align:center}.progress-bar-container{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.import-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:8px}.import-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:14px 20px;transition:all .2s}.import-btn-cancel{background:#f3f4f6;color:#374151}.import-btn-upload{background:#667eea;color:#fff}.import-btn:disabled{cursor:not-allowed;opacity:.5}.import-btn:active:not(:disabled){transform:scale(.98)}@media (min-width:768px){.file-select-btn:hover:not(.disabled){background:#5568d3;box-shadow:0 4px 12px #667eea66}.import-btn-cancel:hover:not(:disabled){background:#e5e7eb}.import-btn-upload:hover:not(:disabled){background:#5568d3}}.import-results-dialog{display:flex;flex-direction:column;gap:20px}.results-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.summary-card{gap:10px;padding:14px}.summary-card.total{background:#f9fafb;border-color:#e5e7eb}.summary-card.success{background:#f0fdf4;border-color:#86efac}.summary-card.warning{background:#fffbeb;border-color:#fcd34d}.summary-card.error{background:#fef2f2;border-color:#fca5a5}.summary-card .card-icon{font-size:28px}.summary-card .card-content{display:flex;flex-direction:column;gap:4px}.summary-card .card-value{font-size:24px;line-height:1}.summary-card .card-label{font-size:11px}.success-rate-box{background:#fff;border:2px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:16px}.rate-label{color:#64748b;font-size:13px;font-weight:600;text-align:center}.rate-value{color:#1e293b;font-size:32px;font-weight:700;line-height:1;text-align:center}.rate-bar-container{background:#e5e7eb;border-radius:5px;height:10px;overflow:hidden;width:100%}.rate-bar-fill{border-radius:5px;height:100%;transition:width .5s ease}.file-info-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.section-title{color:#1e293b;font-size:15px;font-weight:700;margin:0 0 12px}.file-info-grid{display:flex;flex-direction:column;gap:10px}.info-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:10px}.info-label{color:#64748b}.info-label,.info-value{font-size:12px;font-weight:600}.info-value{color:#1e293b;max-width:60%;text-align:right;word-break:break-word}.details-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.details-list{gap:10px;margin-top:12px;max-height:300px;overflow-y:auto}.detail-item,.details-list{display:flex;flex-direction:column}.detail-item{border:2px solid;border-radius:10px;gap:8px;padding:12px}.detail-item.success{background:#f0fdf4;border-color:#86efac}.detail-item.error{background:#fef2f2;border-color:#fca5a5}.detail-header{align-items:center;gap:8px}.detail-icon{font-size:16px;line-height:1}.detail-reference{color:#1e293b;flex:1 1;font-family:monospace;font-size:13px;font-weight:700}.detail-amount{color:#059669;font-size:13px;font-weight:700}.detail-info{color:#64748b}.detail-error,.detail-info{font-size:12px;padding-left:24px}.detail-error{color:#dc2626;font-weight:500}.detail-more{color:#64748b;font-size:13px;font-style:italic;padding:12px;text-align:center}.unmatched-info{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-top:12px;padding:14px}.unmatched-info p{color:#92400e;font-size:13px;line-height:1.6;margin:0}.skipped-info{background:#e0e7ff;border:1px solid #c7d2fe;border-radius:10px;color:#4338ca;font-size:13px;line-height:1.6;padding:12px 14px}.results-actions{display:flex;justify-content:center;margin-top:8px}.results-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:14px 32px;transition:all .2s}.results-btn-close{background:#667eea;color:#fff}.results-btn:active{transform:scale(.98)}@media (min-width:600px){.results-summary{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){.results-btn-close:hover{background:#5568d3}.details-list{max-height:400px}}.payments-section .section-header{align-items:center;display:flex;justify-content:flex-end;margin-bottom:16px;padding:0 4px}.import-payments-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#667eea;border:none;border-radius:10px;box-shadow:0 2px 6px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s}.import-payments-btn:active{box-shadow:0 1px 3px #667eea4d;transform:scale(.96)}.import-payments-btn .btn-icon{font-size:18px;line-height:1}.import-payments-btn .btn-label{font-size:14px}@media (min-width:768px){.import-payments-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66}}.open-item-card{display:flex;flex-direction:column;gap:14px;position:relative}.open-item-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.item-type-badge{align-items:center;border:2px solid;border-radius:8px;display:flex;flex:1 1;gap:8px;min-width:0;padding:6px 12px}.type-icon{flex-shrink:0;font-size:18px;line-height:1}.type-label{font-size:13px;font-weight:700;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.open-item-amounts{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px}.amount-row{align-items:center;display:flex;justify-content:space-between}.amount-row.original{border-top:1px solid #e2e8f0;opacity:.7;padding-top:8px}.amount-label{color:#000;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.amount-value{color:#1e293b;font-size:20px;font-weight:700}.amount-value.remaining{font-size:24px}.open-item-info{display:flex;flex-direction:column;gap:8px}.info-row{align-items:center;display:flex;gap:8px}.info-icon{flex-shrink:0;font-size:16px;line-height:1}.info-text{color:#475569;flex:1 1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-text.parent-name{color:#667eea;font-size:14px}.open-item-description{background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:6px;color:#475569;font-size:13px;line-height:1.5;padding:10px 12px}.paid-out-badge{background:#fef3c7;border-left:3px solid #f59e0b;border-radius:6px;color:#92400e;font-size:11px;font-weight:700;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.auto-created-indicator{align-items:center;background:#f1f5f9;border-radius:6px;display:flex;gap:6px;padding:6px 10px}.auto-icon{font-size:14px;line-height:1}.auto-text{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (max-width:380px){.amount-value{font-size:18px}.amount-value.remaining{font-size:22px}}.overpayment-scanner-mobile{margin-bottom:20px}.scanner-alert{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.scanner-alert .alert-icon{font-size:32px;line-height:1}.scanner-alert .alert-title{color:#92400e;font-size:15px;font-weight:700}.scanner-alert .alert-message{color:#78350f;font-size:13px}.scanner-alert .alert-actions{display:flex;gap:8px;margin-top:8px}.alert-btn,.alert-btn-primary{border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.alert-btn{background:#fff;border:2px solid #f59e0b;color:#92400e}.alert-btn-primary{background:#f59e0b;border:none;color:#fff}.scanner-details{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-top:12px;padding:16px}.details-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.stat{background:#f9fafb;border-radius:8px;padding:12px;text-align:center}.stat.success{background:#dcfce7}.stat.warning{background:#fef3c7}.stat-value{color:#1e293b;font-size:20px;font-weight:700}.stat-label{color:#64748b;font-size:11px;margin-top:4px}.apply-to-invoice-dialog{display:flex;flex-direction:column;gap:20px}.apply-info{background:#f9fafb;border-radius:10px;padding:14px}.apply-info .info-item{align-items:center;display:flex;justify-content:space-between}.apply-info .info-label{color:#64748b;font-size:13px;font-weight:600}.apply-info .info-value{color:#059669;font-size:16px;font-weight:700}.open-items-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.summary-card{align-items:center;border:2px solid;border-radius:10px;min-width:0;padding:10px}.summary-card.prepayment{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.summary-card.credit{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e}.summary-card.overpayment{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.summary-card.refund{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.summary-card .card-icon{flex-shrink:0;font-size:20px;line-height:1}.summary-card .card-content{flex:1 1;min-width:0;overflow:hidden}.summary-card .card-label{font-size:10px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-card .card-value{font-size:16px;line-height:1.2}.summary-card .card-amount{color:#64748b;font-size:10px;margin-top:2px;white-space:nowrap}.open-item-actions{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.open-item-actions .apply-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s;width:100%}.open-item-actions .apply-btn:active{transform:scale(.98)}@media (min-width:640px){.open-items-summary{gap:12px}.summary-card{padding:12px}.summary-card .card-icon{font-size:22px}.summary-card .card-label{font-size:11px}.summary-card .card-value{font-size:18px}.summary-card .card-amount{font-size:11px}}@media (min-width:768px){.open-items-summary{grid-template-columns:repeat(4,1fr)}.summary-card{padding:14px}.summary-card .card-icon{font-size:24px}.open-item-actions .apply-btn:hover{background:#5568d3}}.date-range-selector{display:flex;flex-direction:column;gap:20px}.quick-range-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.quick-range-btn{-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;min-height:44px;padding:10px 12px;transition:all .2s}.quick-range-btn:active{background:#f8fafc;border-color:#667eea;color:#667eea;transform:scale(.98)}.custom-date-inputs{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;padding-top:12px}.custom-date-inputs .form-group{margin:0}.custom-date-inputs .form-error{display:block;margin-top:8px}@media (min-width:768px){.quick-range-buttons{grid-template-columns:repeat(3,1fr)}.quick-range-btn:hover{background:#f8fafc;border-color:#667eea;color:#667eea}.custom-date-inputs{flex-direction:row;gap:16px}.custom-date-inputs .form-group{flex:1 1}}@media (max-width:380px){.quick-range-buttons{grid-template-columns:1fr}.quick-range-btn{min-height:48px}}.reports-section{display:flex;flex-direction:column;gap:20px}.report-tabs{display:flex;gap:8px;margin-bottom:4px}.report-tab{background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s}.report-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.report-tab:hover:not(.active){background:#e2e8f0}.aging-summary-cards,.financial-summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:8px}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:8px;padding:16px}.summary-card .card-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-card .card-value{color:#1e293b;font-size:20px;font-weight:700}.summary-card .card-count{color:#94a3b8;font-size:11px}.summary-card.current{border-left:4px solid #10b981}.summary-card.days-30{border-left:4px solid #3b82f6}.summary-card.days-60{border-left:4px solid #f59e0b}.summary-card.days-90{border-left:4px solid #ef4444}.summary-card.overdue{border-left:4px solid #dc2626}.summary-card.invoiced{border-left:4px solid #667eea}.summary-card.paid{border-left:4px solid #10b981}.summary-card.outstanding{border-left:4px solid #f59e0b}.summary-card.overdue-amt{border-left:4px solid #ef4444}.summary-card.collection{border-left:4px solid #8b5cf6}.filters-card .section-title{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:16px}.invoice-table-container{margin-top:12px;overflow-x:auto}.invoice-table{border-collapse:collapse;font-size:13px;width:100%}.invoice-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.invoice-table th{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:left;text-transform:uppercase}.invoice-table th.text-right{text-align:right}.invoice-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.invoice-table tbody tr:hover{background:#f8fafc}.invoice-table td{color:#1e293b;padding:12px 8px}.invoice-table td.text-right{text-align:right}.invoice-table .invoice-number{color:#667eea;font-weight:600}.invoice-table .outstanding-amount{color:#ef4444;font-weight:600}.invoice-table .overdue-days{background:#fee2e2;border-radius:4px;color:#dc2626;font-size:11px;font-weight:600;padding:2px 6px}.invoice-table .parent-name{color:#475569}@media (max-width:768px){.aging-summary-cards,.financial-summary-cards{grid-template-columns:repeat(2,1fr)}.summary-card .card-value{font-size:18px}.invoice-table-container{-webkit-overflow-scrolling:touch;overflow-x:scroll}.invoice-table{min-width:800px}.invoice-table td,.invoice-table th{font-size:12px;padding:10px 6px}}@media (max-width:480px){.report-tabs{flex-direction:column}.report-tab{width:100%}.aging-summary-cards,.financial-summary-cards{grid-template-columns:1fr}}.validation-error-helper{background:#fef2f2;border:2px solid #fecaca;border-radius:12px;box-shadow:0 2px 8px #ef44441a;margin-bottom:20px;overflow:hidden}.validation-header{align-items:flex-start;background:#fff;border-bottom:1px solid #fecaca;display:flex;justify-content:space-between;padding:16px}.validation-header-content{display:flex;flex:1 1;gap:12px}.validation-icon{flex-shrink:0;font-size:28px;line-height:1}.validation-title-block h3{color:#991b1b;font-size:16px;font-weight:700;margin:0 0 4px}.validation-title-block p{color:#b91c1c;font-size:13px;line-height:1.4;margin:0}.validation-close-btn{-webkit-tap-highlight-color:transparent;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:24px;height:32px;line-height:1;width:32px}.validation-close-btn:active{background:#fecaca}.validation-section{padding:16px}.validation-section-title{align-items:center;display:flex;font-size:14px;font-weight:700;gap:8px;margin:0 0 12px}.validation-errors .validation-section-title{color:#991b1b}.validation-warnings .validation-section-title{color:#92400e}.section-icon{font-size:16px;line-height:1}.validation-items-list{display:flex;flex-direction:column;gap:12px}.validation-item{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:12px}.validation-error-item{border-left:4px solid #dc2626}.validation-warning-item{border-left:4px solid #f59e0b}.validation-item-message{color:#1e293b;font-size:14px;line-height:1.5;margin-bottom:0}.validation-error-item .validation-item-message{color:#991b1b;font-weight:500}.validation-warning-item .validation-item-message{color:#92400e;font-weight:500}.validation-item-action{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.validation-action-btn,.validation-info-badge{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:700;gap:6px;margin-bottom:8px;padding:10px 16px}.validation-fix-btn{background:#dc2626;border:none;color:#fff;cursor:pointer;transition:all .2s}.validation-fix-btn:active{background:#b91c1c;transform:scale(.98)}.validation-info-badge{background:#f3f4f6;border:2px solid #e5e7eb;color:#64748b}.action-icon,.info-icon{font-size:16px;line-height:1}.action-label,.info-label{line-height:1}.validation-item-hint{color:#64748b;font-size:12px;font-style:italic;line-height:1.4}.validation-generic-message{color:#991b1b;font-size:14px;line-height:1.5;padding:16px}@media (min-width:768px){.validation-close-btn:hover{background:#fecaca}.validation-fix-btn:hover{background:#b91c1c;box-shadow:0 4px 12px #dc262633;transform:translateY(-2px)}.validation-fix-btn:active{transform:scale(.98)}}.invoicing-hub{box-sizing:border-box;margin:0 auto;max-width:1400px;overflow-x:hidden;width:100%}.invoicing-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:8px;margin-bottom:24px;padding:24px}.invoicing-header-title-row{align-items:center;display:flex;justify-content:space-between;min-height:32px}.invoicing-header-title{flex:1 1;gap:8px}.invoicing-header-nav-row,.invoicing-header-selector-row,.invoicing-header-title{align-items:center;display:flex;justify-content:center}.invoicing-header-nav-row{margin-bottom:10px;overflow:hidden;position:relative}.invoicing-header-nav-row:after,.invoicing-header-nav-row:before{bottom:0;content:"";opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s;width:40px;z-index:2}.invoicing-header-nav-row:before{background:linear-gradient(90deg,#667eea66,#667eea33 50%,#0000);left:0}.invoicing-header-nav-row:after{background:linear-gradient(270deg,#667eea66,#667eea33 50%,#0000);right:0}.invoicing-header-icon{font-size:24px}.invoicing-header-text{color:#fff;font-size:20px;font-weight:700;margin:0}.invoicing-header-selector{max-width:400px;width:100%}.kindergarten-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:8px 12px;text-align:center;transition:all .2s;width:100%}.kindergarten-select:focus{background:#ffffff4d;border-color:#fff9;outline:none}.kindergarten-select option{background:#fff;color:#1e293b}.invoicing-header-kindergarten-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;display:flex;gap:6px;padding:6px 12px}.kindergarten-badge-icon{font-size:16px}.kindergarten-badge-text{color:#fff;font-size:13px;font-weight:600}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.invoicing-alert{align-items:center;animation:slideDown .3s ease;display:flex;flex-shrink:0;font-size:14px;font-weight:500;gap:12px;margin:0;padding:14px 20px;position:relative;z-index:98}.invoicing-alert-error{background:#fee;border-bottom:2px solid #fcc;color:#c33}.invoicing-alert-success{background:#efe;border-bottom:2px solid #cfc;color:#3c3}.alert-icon{flex-shrink:0;font-size:20px}.alert-message{flex:1 1}.alert-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;line-height:1;opacity:.7;padding:0;transition:opacity .2s;width:24px}.alert-close:hover{opacity:1}.invoicing-nav-items{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;gap:6px;overflow-x:auto;padding:2px 0;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.invoicing-nav-items::-webkit-scrollbar{display:none;height:0;width:0}.invoicing-nav-item{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fffc;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-size:10px;font-weight:600;gap:3px;justify-content:center;min-height:40px;min-width:56px;padding:6px 10px;position:relative;scroll-snap-align:start;transition:all .2s;white-space:nowrap}.invoicing-nav-item:hover{background:#fff3;border-color:#ffffff4d}.invoicing-nav-item.active{background:#ffffff4d;border-color:#ffffff80;color:#fff}.nav-item-icon{font-size:18px;transition:transform .2s}.invoicing-nav-item.active .nav-item-icon{transform:scale(1.05)}.nav-item-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item-indicator{background:#fff;border-radius:3px 3px 0 0;bottom:-2px;height:3px;left:50%;position:absolute;transform:translateX(-50%);width:30px}@media (min-width:768px){.invoicing-nav-items{justify-content:flex-end}.invoicing-nav-item{flex-direction:row;font-size:13px;gap:6px;padding:8px 16px}.nav-item-icon{font-size:18px}}.invoicing-section{margin:0 auto;max-width:1200px}.invoicing-section-wrapper{min-height:100%;padding-bottom:100px;position:relative}.section-placeholder{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:40px 24px;text-align:center}.placeholder-icon{font-size:64px;margin-bottom:20px}.placeholder-title{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 12px}.placeholder-description{color:#64748b;font-size:16px;line-height:1.6;margin:0 0 24px}.placeholder-features{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:400px;text-align:left}.feature-item{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:500;gap:8px}.placeholder-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.invoicing-hub-loading{align-items:center;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}.invoicing-hub-loading p{color:#64748b;font-size:14px;font-weight:600;margin-top:16px}.invoicing-empty-state{padding:60px 20px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:20px}.invoicing-empty-state h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 8px}.invoicing-empty-state p{color:#64748b;font-size:14px;margin:0}@media (max-width:768px){.invoicing-header-text{font-size:18px}.invoicing-header-icon{font-size:20px}.invoicing-header-nav-row:after,.invoicing-header-nav-row:before{opacity:1}}@media (min-width:768px) and (max-width:1023px){.invoicing-header-text{font-size:22px}.section-placeholder{padding:60px 40px}.placeholder-icon{font-size:80px}.invoicing-header-nav-row:after,.invoicing-header-nav-row:before{opacity:.7}}@media (min-width:1024px){.invoicing-header-text{font-size:24px}}button:focus-visible,select:focus-visible{outline:3px solid #667eea;outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.tariff-manager{margin:0 auto;max-width:1400px;padding:15px}.tariff-manager .error-message,.tariff-manager .success-message{align-items:center;animation:slideIn .3s ease-out;border-radius:8px;display:flex;font-size:15px;font-weight:500;justify-content:space-between;margin-bottom:20px;padding:14px 18px}.tariff-manager .error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;color:#991b1b}.tariff-manager .success-message{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #22c55e;color:#166534}.tariff-manager .error-message .btn,.tariff-manager .success-message .btn{background:#ffffffe6;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s}.tariff-manager .error-message .btn{color:#991b1b}.tariff-manager .success-message .btn{color:#166534}.tariff-list-view{animation:fadeIn .3s ease-in}.list-header{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.list-header h2{color:#111827;font-size:26px;font-weight:700;margin:0}.list-header .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;font-size:15px;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s}.list-header .btn-primary:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.active-tariff-banner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;border-radius:10px;box-shadow:0 2px 6px #10b98126;margin-bottom:25px;padding:18px 20px}.banner-content{flex-wrap:wrap;gap:15px}.banner-content,.banner-icon{align-items:center;display:flex}.banner-icon{background:#22c55e;border-radius:50%;color:#fff;flex-shrink:0;font-size:22px;font-weight:700;height:44px;justify-content:center;width:44px}.banner-text{flex:1 1;min-width:200px}.banner-text strong{color:#065f46;display:block;font-size:16px;margin-bottom:4px}.banner-content .btn-sm,.banner-text small{color:#047857;font-size:14px}.banner-content .btn-sm{background:#fff;border:2px solid #10b981;border-radius:6px;cursor:pointer;font-weight:600;min-height:44px;padding:8px 16px;transition:all .2s}.banner-content .btn-sm:hover{background:#f0fdf4}.empty-state{background:#f9fafb;border:2px dashed #d1d5db;border-radius:10px}.empty-state .btn-primary{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;min-height:44px;padding:14px 28px;transition:all .2s}.regulations-table{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.regulations-table table{border-collapse:collapse;width:100%}.regulations-table thead{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:none}.regulations-table thead th{color:#374151;font-size:13px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.regulations-table tbody tr{border-bottom:1px solid #e5e7eb;display:block;padding:20px;transition:all .2s}.regulations-table tbody tr:last-child{border-bottom:none}.regulations-table tbody tr:hover{background:#f9fafb}.regulations-table tbody tr.active-row{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #22c55e}.regulations-table tbody td{display:block;font-size:15px;padding:6px 0}.regulations-table tbody td:before{color:#6b7280;content:attr(data-label);display:inline-block;font-weight:600;margin-right:10px;min-width:100px}.regulations-table tbody td strong{color:#111827;display:block;font-size:17px;margin-bottom:4px}.description-text{color:#6b7280;font-size:13px;font-style:italic;margin-top:4px}.badge{border-radius:20px;display:inline-block;font-size:13px;font-weight:700;letter-spacing:.3px;padding:6px 14px;text-transform:uppercase}.badge-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.badge-info{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.badge-secondary{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff}.action-buttons{margin-top:12px}.action-buttons .btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-height:44px;min-width:80px;padding:10px 16px;text-align:center;transition:all .2s}.action-buttons .btn-info{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.action-buttons .btn-info:hover{box-shadow:0 4px 8px #0ea5e94d;transform:translateY(-2px)}.action-buttons .btn-secondary{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff}.action-buttons .btn-secondary:hover{box-shadow:0 4px 8px #9ca3af4d;transform:translateY(-2px)}.action-buttons .btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.action-buttons .btn-success:hover{box-shadow:0 4px 8px #22c55e4d;transform:translateY(-2px)}.action-buttons .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-buttons .btn-danger:hover{box-shadow:0 4px 8px #ef44444d;transform:translateY(-2px)}.tariff-detail-view{animation:fadeIn .3s ease-in}.detail-header{border-bottom:2px solid #e5e7eb;gap:15px;margin-bottom:30px;padding-bottom:20px}.detail-header,.detail-header h2{display:flex;flex-direction:column}.detail-header h2{color:#111827;font-size:24px;font-weight:700;gap:10px;margin:0}.header-actions .btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-height:44px;min-width:120px;padding:12px 20px;transition:all .2s}.header-actions .btn-secondary{background:#f3f4f6;border:2px solid #d1d5db;color:#374151}.header-actions .btn-secondary:hover{background:#e5e7eb}.header-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.header-actions .btn-primary:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.header-actions .btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.header-actions .btn-success:hover{box-shadow:0 4px 8px #22c55e4d;transform:translateY(-2px)}.detail-info{background:#f9fafb;border-radius:10px;margin-bottom:25px;padding:20px}.info-row{border-bottom:1px solid #e5e7eb;font-size:15px;padding:10px 0}.info-row:last-child{border-bottom:none}.info-row strong{color:#6b7280;display:block;font-size:13px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.subsidized-tables-section{margin:25px 0}.subsidized-tables-section .btn-info{align-items:center;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:10px;justify-content:center;min-height:50px;padding:16px 24px;transition:all .2s;width:100%}.subsidized-tables-section .btn-info:hover{box-shadow:0 6px 12px #0ea5e94d;transform:translateY(-2px)}.age-categories{grid-gap:20px;display:grid;gap:20px;margin-bottom:30px}.age-categories h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 20px}.category-card{background:linear-gradient(180deg,#fff,#fafbfc);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px;transition:all .3s ease}.category-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.category-card h4{color:#111827;display:flex;flex-direction:column;font-size:18px;gap:8px;margin:0 0 15px}.category-badge{align-self:flex-start;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.category-details{display:flex;flex-direction:column;gap:12px}.category-card .detail-item{border:none;font-size:14px;padding:12px!important}.detail-item strong{color:#6b7280;display:block;font-size:13px;margin-bottom:4px}.rate-details{background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:15px}.rate-details,.subsidized-info{border-radius:8px;margin-top:10px}.subsidized-info{background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:12px}.subsidized-info strong{color:#166534}.special-needs-section{background:#fff;border:2px solid #e5e7eb;border-radius:10px;margin-top:25px;padding:20px}.special-needs-section h3{color:#111827;font-size:20px;margin:0 0 15px}.loading-message{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}@media (min-width:640px){.tariff-manager{padding:20px}.list-header{align-items:center;flex-direction:row;justify-content:space-between}.list-header .btn-primary{width:auto}.detail-header h2{align-items:center;flex-direction:row}.age-categories{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.category-card h4{align-items:center;flex-direction:row;justify-content:space-between}.category-badge{align-self:auto}}@media (min-width:768px){.tariff-manager{padding:30px}.list-header h2{font-size:30px}.regulations-table thead{display:table-header-group}.regulations-table tbody tr{display:table-row;padding:0}.regulations-table tbody tr.active-row{border-left:4px solid #22c55e;padding-left:0}.regulations-table tbody td{display:table-cell;padding:16px}.regulations-table tbody td:before{display:none}.regulations-table tbody td strong{display:inline}.action-buttons{justify-content:flex-start}.action-buttons .btn{flex:initial}.detail-header{align-items:flex-start;flex-direction:row;justify-content:space-between}.header-actions .btn{flex:initial}.subsidized-tables-section .btn-info{width:auto}.detail-item strong{display:inline;margin-right:8px}.category-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (min-width:1024px){.age-categories{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}}.tariff-regulation-form{margin:0 auto;max-width:900px;padding:15px}.form-header{border-bottom:2px solid #e5e7eb;display:flex;flex-direction:column;gap:15px;margin-bottom:30px;padding-bottom:20px}.form-header h2{color:#111827;font-size:24px;font-weight:700;margin:0}.form-header .btn{background:#f3f4f6;border:2px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:10px 20px;transition:all .2s}.form-header .btn:hover{background:#e5e7eb}.step-indicator{justify-content:space-between;margin-bottom:35px;padding:0 10px}.step-indicator .step{flex:1 1}.step-indicator .step:after{background:#e5e7eb;content:"";height:3px;left:50%;position:absolute;top:20px;width:100%;z-index:0}.step-indicator .step:last-child:after{display:none}.step-number{align-items:center;background:#e5e7eb;border:3px solid #fff;border-radius:50%;color:#9ca3af;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;margin-bottom:8px;position:relative;transition:all .3s;width:40px;z-index:1}.step-indicator .step.active .step-number{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 8px #3b82f64d;transform:scale(1.1)}.step-indicator .step.completed .step-number{background:linear-gradient(135deg,#22c55e,#16a34a)}.step-indicator .step.completed:after{background:#22c55e}.step-label{color:#6b7280;font-size:11px;font-weight:600;text-align:center;white-space:nowrap}.step-indicator .step.active .step-label{font-weight:700}.error-message{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;border-radius:8px;font-size:15px;font-weight:500;margin-bottom:20px;padding:14px 18px}.form-content{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a;margin-bottom:25px;padding:25px 20px}.form-step h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 10px}.form-step>p{color:#6b7280;font-size:15px;line-height:1.6;margin:0 0 25px}.form-control{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:15px;min-height:44px;padding:12px 14px;transition:all .2s;width:100%}.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-control::placeholder{color:#9ca3af}.form-control:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-group small{color:#6b7280;display:block;font-size:13px;font-style:italic;margin-top:6px}textarea.form-control{font-family:inherit;min-height:100px;resize:vertical}.form-row{grid-gap:20px;gap:20px;margin-bottom:20px}.category-config{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;margin-bottom:25px;padding:20px;transition:all .2s}.category-config:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.category-config h4{border-bottom:2px solid #e5e7eb;color:#111827;font-size:17px;font-weight:700;margin:0 0 20px;padding-bottom:12px}.category-rates{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;margin-bottom:25px;padding:20px}.category-rates h4{border-bottom:2px solid #e5e7eb;color:#111827;font-size:17px;font-weight:700;margin:0 0 20px;padding-bottom:12px}.rate-preview{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:8px;color:#1e40af;font-size:14px;margin-top:15px;padding:12px 16px}.rate-preview strong{color:#1e3a8a;margin-right:8px}.special-needs-config{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:10px;margin-top:30px;padding:20px}.special-needs-config h4{color:#92400e;font-size:17px;font-weight:700;margin:0 0 15px}.special-needs-config .form-group label{align-items:center;cursor:pointer;display:flex}.special-needs-config .form-group label input[type=checkbox]{cursor:pointer;height:20px;margin-right:10px;width:20px}.form-actions{background:#f9fafb;border-radius:10px;justify-content:space-between;padding:20px}.form-actions,.form-actions .left-actions,.form-actions .right-actions{display:flex;flex-wrap:wrap;gap:12px}.form-actions .btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;min-height:44px;min-width:120px;padding:12px 24px;transition:all .2s}.form-actions .btn-secondary{background:#f3f4f6;border:2px solid #d1d5db;color:#374151}.form-actions .btn-secondary:hover{background:#e5e7eb}.form-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.form-actions .btn-primary:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.form-actions .btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.form-actions .btn-success:hover{box-shadow:0 4px 8px #22c55e4d;transform:translateY(-2px)}.form-actions .btn:disabled{background:#d1d5db;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.form-help{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:10px;margin-top:20px;padding:16px 20px}.form-help p{color:#075985;font-size:14px;line-height:1.6;margin:0}.form-help strong{color:#0c4a6e}@media (min-width:640px){.tariff-regulation-form{padding:20px}.form-header{align-items:center;flex-direction:row;justify-content:space-between}.form-header .btn{width:auto}.form-row{grid-template-columns:repeat(2,1fr)}.step-label{font-size:12px;white-space:normal}.form-actions{flex-wrap:nowrap}.form-actions .btn{flex:initial}}@media (min-width:768px){.tariff-regulation-form{padding:30px}.form-header h2{font-size:28px}.form-content{padding:35px 30px}.step-number{font-size:18px;height:48px;width:48px}.step-label{font-size:13px}.form-step h3{font-size:22px}.form-control{font-size:16px}.category-config,.category-rates,.special-needs-config{padding:25px 30px}}@media (min-width:1024px){.tariff-regulation-form{max-width:1000px}.form-actions .left-actions,.form-actions .right-actions{flex-wrap:nowrap}}.table-import-wizard{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:40px auto;max-width:900px;overflow:hidden}.wizard-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;justify-content:space-between;padding:24px 30px}.wizard-header h2{font-size:22px;font-weight:600;margin:0}.wizard-header .btn-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.wizard-header .btn-close:hover{background:#ffffff4d}.step-indicator{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:center;padding:30px 20px}.step-indicator .step{align-items:center;display:flex;flex-direction:column;position:relative}.step-indicator .step-number{align-items:center;background:#e5e7eb;border-radius:50%;color:#9ca3af;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s;width:40px}.step-indicator .step.active .step-number{background:#3b82f6;color:#fff}.step-indicator .step.completed .step-number{background:#22c55e;color:#fff}.step-indicator .step-label{color:#6b7280;font-size:12px;font-weight:500;white-space:nowrap}.step-indicator .step.active .step-label{color:#3b82f6;font-weight:600}.step-indicator .step.completed .step-label{color:#22c55e}.step-indicator .step-line{background:#e5e7eb;height:2px;margin:0 10px 32px;width:80px}.wizard-content{min-height:400px;padding:30px 40px}.wizard-step h3{color:#111827;font-size:20px;margin:0 0 10px}.wizard-step>p{color:#6b7280;font-size:14px;margin:0 0 25px}.format-info{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:25px;padding:20px}.format-info h4{color:#0369a1;font-size:14px;margin:0 0 10px}.format-info pre{background:#1e293b;border-radius:6px;color:#e2e8f0;font-size:12px;line-height:1.6;margin:0;overflow-x:auto;padding:15px}.file-upload-section{margin:25px 0}.file-upload-section input[type=file]{display:none}.file-upload-label{background:#3b82f6;border:2px solid #3b82f6;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.file-upload-label:hover{background:#2563eb;border-color:#2563eb}.preview-stats{background:#f9fafb;border-radius:8px;display:flex;gap:30px;margin-bottom:25px;padding:15px}.preview-stats .stat{color:#374151;font-size:14px}.preview-stats .stat strong{color:#111827;margin-right:5px}.preview-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;overflow-x:auto}.preview-table{border-collapse:collapse;font-size:13px;width:100%}.preview-table thead th{background:#f3f4f6;border-bottom:2px solid #d1d5db;color:#374151;font-weight:600;padding:12px 10px;text-align:center}.preview-table tbody td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:center}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:#f9fafb}.preview-note{color:#6b7280;font-size:13px;font-style:italic;padding:10px;text-align:center}.form-group{margin-bottom:25px}.form-group label{font-weight:600;margin-bottom:8px}.form-group .form-control{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{align-items:center;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-weight:500;padding:12px;transition:all .2s}.radio-label:hover{background:#f9fafb;border-color:#d1d5db}.radio-label input[type=radio]{cursor:pointer;height:18px;margin-right:10px;width:18px}.radio-label input[type=radio]:checked{accent-color:#3b82f6}.help-text{color:#6b7280;font-size:13px;font-style:italic;margin-top:8px}.import-summary{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;margin:25px 0;padding:20px}.import-summary h4{color:#0369a1;font-size:16px;margin:0 0 15px}.import-summary ul{list-style:none;margin:0;padding:0}.import-summary ul li{color:#374151;font-size:14px;padding:6px 0}.import-summary ul li strong{color:#111827;margin-right:8px}.wizard-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;margin-top:30px;padding-top:25px}.wizard-actions .btn-primary,.wizard-actions .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.wizard-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.wizard-actions .btn-secondary:hover{background:#e5e7eb}.wizard-actions .btn-primary{background:#3b82f6;color:#fff}.wizard-actions .btn-primary:hover{background:#2563eb}.wizard-actions .btn-primary:disabled{background:#d1d5db;cursor:not-allowed}.wizard-step .alert{border-radius:6px;font-size:14px;margin:20px 0;padding:12px 16px}.wizard-step .alert-error{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b}@media (max-width:768px){.table-import-wizard{margin:20px}.wizard-content,.wizard-header{padding:20px}.step-indicator{padding:20px 10px}.step-indicator .step-line{width:40px}.step-indicator .step-label{font-size:10px}.preview-stats{flex-direction:column;gap:10px}.wizard-actions{flex-direction:column-reverse}.wizard-actions .btn-primary,.wizard-actions .btn-secondary{width:100%}}.subsidized-table-manager{margin:0 auto;max-width:1400px;padding:20px}.manager-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px}.manager-header .btn-back{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.manager-header .btn-back:hover{background:#e5e7eb}.manager-header .header-info h2{color:#111827;font-size:24px;margin:0}.manager-header .regulation-name{color:#6b7280;font-size:14px;margin:5px 0 0}.category-tabs{display:flex;gap:10px;margin-bottom:30px;overflow-x:auto;padding-bottom:10px}.category-tabs .tab{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;min-width:180px;padding:12px 20px;transition:all .2s}.category-tabs .tab:hover{background:#f3f4f6;border-color:#d1d5db}.category-tabs .tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.category-tabs .tab-name{font-size:14px;font-weight:600;margin-bottom:4px}.category-tabs .tab-badge{font-size:12px;opacity:.8}.category-tabs .tab.active .tab-badge{opacity:1}.category-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:30px}.table-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.table-actions .btn-danger,.table-actions .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.table-actions .btn-secondary{background:#6b7280;color:#fff}.table-actions .btn-secondary:hover{background:#4b5563}.table-actions .btn-danger{background:#ef4444;color:#fff}.table-actions .btn-danger:hover{background:#dc2626}.table-actions .btn-danger:disabled{background:#d1d5db;cursor:not-allowed}.voucher-table-wrapper{margin-top:20px}.voucher-table-wrapper h4{color:#111827;font-size:18px;margin:20px 0 10px}.max-amounts-info{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;color:#92400e;font-size:13px;margin-bottom:15px;padding:8px 12px}.voucher-table{border-collapse:collapse;font-size:13px;margin-bottom:20px;width:100%}.voucher-table thead th{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;font-weight:600;padding:12px 8px;text-align:center}.voucher-table tbody td{border:1px solid #e5e7eb;padding:10px 8px;text-align:center;transition:all .2s}.voucher-table tbody td.income-cell{background:#f9fafb;color:#374151;font-weight:600;text-align:left}.voucher-table tbody td.voucher-cell{cursor:pointer;position:relative}.voucher-table tbody td.voucher-cell:hover{background:#f0f9ff}.voucher-table tbody td.voucher-cell.editing{background:#dbeafe;padding:2px}.voucher-table tbody td.voucher-cell.editing input{border:2px solid #3b82f6;border-radius:4px;font-size:13px;padding:8px;text-align:center;width:100%}.voucher-table tbody td.voucher-cell.over-max{background:#fef2f2;color:#991b1b;font-weight:600}.voucher-table tbody td .warning-icon{cursor:help;font-size:14px;margin-left:4px}.table-info{background:#f9fafb;border-radius:6px;margin-top:20px;padding:15px}.table-info p{color:#6b7280;font-size:13px;margin:5px 0}.table-info em{color:#9ca3af;font-style:italic}.empty-state{padding:60px 20px}.empty-state p{color:#6b7280;font-size:16px;margin-bottom:20px}.empty-state .btn-primary,.empty-state .btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;min-height:44px;min-width:200px;padding:12px 24px;transition:all .2s}.empty-state .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.empty-state .btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.empty-state .btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.empty-state .btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 8px #6b72804d;transform:translateY(-2px)}.add-entry-form{animation:slideIn .3s ease-out;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;margin-top:20px;padding:25px}.add-entry-form h4{border-bottom:2px solid #e5e7eb;color:#111827;font-size:18px;font-weight:700;margin:0 0 20px;padding-bottom:15px}.add-entry-form .form-group{margin-bottom:20px}.add-entry-form .form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.add-entry-form .form-control{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:15px;min-height:44px;padding:12px 14px;transition:all .2s;width:100%}.add-entry-form .form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.add-entry-form .form-control::placeholder{color:#9ca3af}.add-entry-form .form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:25px;padding-top:20px}.add-entry-form .btn-back{background:#f3f4f6;border:2px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s}.add-entry-form .btn-back:hover{background:#e5e7eb}.add-entry-form .btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;min-height:44px;padding:12px 24px;transition:all .2s}.add-entry-form .btn-primary:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 8px #22c55e4d;transform:translateY(-2px)}.add-entry-form .btn-primary:disabled{background:#d1d5db;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none}.helpful-tip{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:10px;color:#075985;font-size:14px;line-height:1.6;margin-top:20px;padding:16px 20px}.helpful-tip strong{color:#0c4a6e;display:block;font-size:15px;margin-bottom:8px}.alert{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px 16px}.alert-error{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b}.alert-success{background:#f0fdf4;border-left:4px solid #22c55e;color:#166534}.loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.table-grid-container{animation:fadeIn .3s ease-in}@media (max-width:1200px){.voucher-table{font-size:12px}.voucher-table tbody td,.voucher-table thead th{padding:8px 4px}}@media (max-width:768px){.subsidized-table-manager{padding:10px}.manager-header{align-items:flex-start}.category-tabs,.manager-header{flex-direction:column}.category-tabs .tab{width:100%}.category-content{padding:15px}.voucher-table-wrapper{overflow-x:auto}.voucher-table{min-width:800px}.add-entry-form{padding:20px 15px}.add-entry-form .form-actions{flex-direction:column-reverse}.add-entry-form .btn-back,.add-entry-form .btn-primary{width:100%}.empty-state .btn-primary,.empty-state .btn-secondary{min-width:auto;width:100%}}.tariff-validation-panel{margin-bottom:20px}.tariff-validation-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;border-radius:10px;box-shadow:0 2px 6px #10b98126;margin-bottom:20px;padding:16px 20px}.success-header{color:#065f46;font-size:17px;font-weight:700;margin-bottom:6px}.success-description{color:#047857;font-size:14px;margin:4px 0 10px}.success-stats{border-top:1px solid #10b98133;color:#059669;font-size:13px;margin-top:10px;padding-top:10px}.validation-panel-header{align-items:center;border:2px solid;border-radius:10px 10px 0 0;cursor:pointer;display:flex;justify-content:space-between;padding:14px 18px;transition:all .2s;-webkit-user-select:none;user-select:none}.validation-panel-header:hover{opacity:.9}.validation-panel-header.critical{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.validation-panel-header.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.validation-panel-header.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.panel-header-left{align-items:center;display:flex;flex:1 1;gap:10px}.panel-title{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;font-weight:700;gap:8px}.panel-title.critical{color:#991b1b}.panel-title.warning{color:#92400e}.panel-title.info{color:#1e40af}.issue-count-badge{border-radius:12px;color:#fff;font-size:13px;font-weight:700;padding:4px 10px}.issue-count-badge.critical{background:#ef4444}.issue-count-badge.warning{background:#f59e0b}.issue-count-badge.info{background:#3b82f6}.panel-expand-icon{color:inherit;font-size:16px;transition:transform .2s}.panel-expand-icon.expanded{transform:rotate(180deg)}.validation-panel-content{background:#fff;border:2px solid #e5e7eb;border-radius:0 0 10px 10px;border-top:none;max-height:600px;overflow-y:auto}.issue-section{border-bottom:1px solid #f3f4f6;padding:15px 18px}.issue-section:last-child{border-bottom:none}.issue-section-header{align-items:center;display:flex;font-size:15px;font-weight:700;gap:6px;margin:0 0 12px}.issue-section-header.critical{color:#991b1b}.issue-section-header.warning{color:#92400e}.issue-section-header.info{color:#1e40af}.issues-list{display:flex;flex-direction:column;gap:8px}.issue-card{border:2px solid;border-radius:8px;font-size:14px;font-weight:600;line-height:1.5;padding:12px 14px;transition:all .2s}.issue-card.clickable{cursor:pointer}.issue-card.clickable:hover{transform:translateX(4px)}.issue-card.clickable:active{transform:translateX(2px)}.issue-card.critical{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444;color:#991b1b}.issue-card.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e}.issue-card.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1e40af}.issue-content{align-items:flex-start;display:flex;gap:10px}.issue-icon{flex-shrink:0;font-size:20px;line-height:1}.issue-text{flex:1 1;min-width:0}.issue-message{word-wrap:break-word;margin-bottom:0}.issue-action-icon{flex-shrink:0;font-size:18px;opacity:.7}.validation-panel-content{animation:fadeIn .3s ease-in-out}@media (max-width:480px){.validation-panel-header{padding:12px 14px}.panel-title{font-size:15px}.issue-count-badge{font-size:12px;padding:3px 8px}.issue-section{padding:12px 14px}.issue-section-header{font-size:14px}.issue-card{font-size:13px;padding:10px 12px}.issue-icon{font-size:18px}.issue-action-icon{font-size:16px}}@media (min-width:640px){.panel-title{flex-wrap:nowrap}.success-header{font-size:18px}.success-description{font-size:15px}}@media (min-width:768px){.validation-panel-header{padding:16px 20px}.panel-title{font-size:18px}.issue-section{padding:16px 20px}.issue-section-header{font-size:16px}.issue-card{font-size:15px;padding:14px 16px}}.validation-panel-content::-webkit-scrollbar{width:8px}.validation-panel-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0 0 10px 0}.validation-panel-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.validation-panel-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.personnel-planning-manager{background-color:initial;margin:0 auto;max-width:1200px;min-height:100vh;padding:16px}.planning-header{background:linear-gradient(180deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:20px}.planning-header h2{color:#111827;font-size:26px;font-weight:700;margin:0 0 20px}.header-controls{display:flex;flex-direction:column;gap:16px}.header-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.header-row label{color:#374151;font-size:14px;font-weight:600}.header-row select{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#1f2937;flex:1 1;font-size:14px;font-weight:500;min-width:200px;padding:10px 12px;transition:all .2s}.header-row select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.header-actions{display:flex;flex-wrap:wrap;gap:10px}.header-actions button{align-items:center;background:#fff;border:2px solid #3b82f6;border-radius:8px;color:#3b82f6;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s}.header-actions button:hover{background:#3b82f6;box-shadow:0 4px 8px #3b82f64d;color:#fff;transform:translateY(-1px)}.header-actions button:active{transform:translateY(0)}.controls-row{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}@media (min-width:768px){.controls-row{align-items:center;flex-direction:row;justify-content:space-between}}.week-navigation{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;padding:12px}.week-navigation button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.week-navigation button:hover{background:#2563eb}.week-navigation button:disabled{background:#9ca3af;cursor:not-allowed}.week-display{color:#1f2937;flex:1 1;font-size:16px;font-weight:600;text-align:center}.view-mode-toggle{background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000001a;display:flex;gap:0;margin-bottom:16px;padding:4px}.view-mode-toggle button{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.view-mode-toggle button:hover:not(:disabled){background:#eff6ff;color:#3b82f6}.view-mode-toggle button.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f666;color:#fff}.view-mode-toggle button:disabled{color:#9ca3af;cursor:not-allowed;opacity:.4}.group-filters{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #00000014;margin-bottom:16px;padding:16px}.group-filters label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background:#fff;border:2px solid;border-radius:20px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.filter-btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.filter-btn.active{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.date-navigator{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #00000014;gap:12px;margin-bottom:16px;padding:16px}.date-navigator,.nav-btn{align-items:center;background:#fff;display:flex}.nav-btn{border:2px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-size:20px;font-weight:700;height:44px;justify-content:center;transition:all .2s;width:44px}.nav-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6;transform:scale(1.05)}.nav-btn:active{transform:scale(.95)}.date-display{color:#1f2937;flex:1 1;font-size:16px;font-weight:600;text-align:center}.today-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b9814d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .2s}.today-btn:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.today-btn:active{transform:translateY(0)}.day-swipe-nav{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #00000014;gap:16px;margin-bottom:16px;padding:12px}.day-swipe-nav,.swipe-btn{align-items:center;background:#fff;display:flex;justify-content:center}.swipe-btn{border:2px solid #3b82f6;border-radius:50%;color:#3b82f6;cursor:pointer;font-size:24px;font-weight:700;height:40px;transition:all .2s;width:40px}.swipe-btn:hover{background:#3b82f6;color:#fff;transform:scale(1.1)}.swipe-btn:active{transform:scale(.95)}.day-indicator{color:#374151;font-size:15px;font-weight:600;min-width:60px;text-align:center}.group-filter{width:100%}.group-filter select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:10px;width:100%}@media (min-width:768px){.group-filter{min-width:200px;width:auto}}.action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.action-buttons button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;flex:1 1;font-size:14px;min-width:140px;padding:10px 16px;transition:all .2s}.action-buttons button:hover{background:#f3f4f6;border-color:#9ca3af}.loading-message,.loading-state{color:#6b7280;font-size:16px;font-weight:500}.error-state,.loading-message,.loading-state{background:#fff;border-radius:12px;margin:20px 0;padding:40px 20px;text-align:center}.error-state{color:#dc2626}.day-view{background:linear-gradient(180deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 3px 10px #0000001a;margin-bottom:16px;padding:20px}.day-header{align-items:center;background:linear-gradient(90deg,#0000 0,#eff6ff 50%,#0000);border-bottom:3px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;margin:-8px -8px 20px;padding:12px 16px}.day-title{color:#111827;font-size:22px;font-weight:700}.day-subtitle{color:#6b7280;font-size:14px;font-weight:500;margin-top:4px}.day-navigation{display:flex;gap:8px}.day-navigation button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.day-navigation button:hover{background:#f3f4f6}.location-summary{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:10px;box-shadow:0 3px 8px #3b82f633;margin-bottom:16px;padding:16px}.location-summary h4{align-items:center;color:#1e40af;display:flex;font-size:15px;font-weight:700;gap:8px;margin:0 0 12px}.location-summary h4:before{content:"📊";font-size:18px}.summary-stats{display:flex;flex-wrap:wrap;gap:20px}.summary-stat{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#1f2937;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 12px}.groups-container{display:flex;flex-direction:column;gap:12px}.group-staffing-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.group-staffing-card.understaffed{background:#fef2f2;border-color:#fca5a5}.group-staffing-card.overstaffed{background:#fff7ed;border-color:#fdba74}.group-card-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;cursor:pointer;display:flex;justify-content:space-between;padding:14px 18px;transition:all .2s}.group-card-header:hover{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-bottom-color:#3b82f6}.group-header-left{align-items:center;display:flex;flex:1 1;gap:12px}.group-name{color:#1f2937;font-size:16px;font-weight:600}.supervision-badge{align-items:center;border:2px solid;border-radius:16px;box-shadow:0 2px 6px #00000026;display:inline-flex;font-size:13px;font-weight:700;padding:6px 14px;transition:all .2s;white-space:nowrap}.supervision-badge:hover{transform:scale(1.05)}.supervision-badge.ratio-met{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;color:#065f46}.supervision-badge.ratio-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e}.supervision-badge.ratio-critical{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444;color:#991b1b}.expand-icon{color:#6b7280;font-size:18px;transition:transform .2s}.group-staffing-card.expanded .expand-icon{transform:rotate(180deg)}.group-card-body{padding:16px}.assignments-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.empty-assignments{color:#6b7280;font-size:14px;padding:20px;text-align:center}.gap-warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-size:13px;margin-bottom:12px;padding:10px 12px}.add-staff-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:2px solid #0000;border-radius:8px;box-shadow:0 2px 6px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:12px 16px;transition:all .2s;width:100%}.add-staff-btn:before{content:"+";font-size:20px;font-weight:700}.add-staff-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.add-staff-btn:active{transform:translateY(0)}.staff-assignment-block{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;transition:all .2s}.staff-assignment-block:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.staff-assignment-block.absent-assignment{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444}.staff-assignment-block.absent-assignment:hover{border-color:#dc2626;box-shadow:0 4px 8px #ef444433}.staff-assignment-block.covered-assignment{background:linear-gradient(135deg,#f0fdf4,#d1fae5);border:2px solid #10b981;opacity:.7}.staff-assignment-block.covered-assignment:hover{border-color:#059669;box-shadow:0 4px 8px #10b98133;opacity:.9}.staff-assignment-block.has-absence{border-left:4px solid #f59e0b}.shift-color-indicator{border-radius:3px;flex-shrink:0;height:40px;width:6px}.assignment-info{flex:1 1;min-width:0}.staff-name{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:2px}.shift-details{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:8px}.shift-code{background:#f3f4f6;border-radius:4px;font-weight:600;padding:2px 6px}.assignment-actions{display:flex;gap:4px}.delete-assignment-btn{background:#fee2e2;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:12px;padding:6px 10px;transition:background .2s}.delete-assignment-btn:hover{background:#fecaca}.shift-palette{background:linear-gradient(180deg,#fff,#f9fafb);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;overflow:hidden}.palette-header{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-bottom:2px solid #d1d5db;cursor:pointer;display:flex;justify-content:space-between;padding:14px 18px;transition:all .2s}.palette-header:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db)}.palette-header span{align-items:center;color:#111827;display:flex;font-size:16px;font-weight:700;gap:8px}.palette-header span:before{content:"🎨";font-size:18px}.expand-btn{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.expand-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff;transform:rotate(180deg)}.palette-content{background:#fff;padding:20px}.shift-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:12px}.shift-palette .shift-item{border:2px solid #0000;border-radius:10px;box-shadow:0 3px 8px #0000001f;cursor:pointer;overflow:hidden;padding:14px 12px;position:relative;text-align:center;transition:all .25s cubic-bezier(.4,0,.2,1)}.shift-palette .shift-item:before{background:linear-gradient(135deg,#ffffff4d,#0000);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.shift-palette .shift-item:hover{border-color:#0000004d;box-shadow:0 8px 16px #0003;transform:translateY(-4px) scale(1.03)}.shift-palette .shift-item:active{transform:translateY(-2px) scale(1.01)}.shift-palette .shift-code{color:inherit;font-size:16px;font-weight:800;margin-bottom:6px;position:relative;text-shadow:0 1px 2px #0003}.shift-palette .shift-time{font-size:12px;font-weight:600;opacity:.95;position:relative}.palette-hint{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:13px;font-style:italic;padding:12px;text-align:center}.modal-content{max-height:80vh;overflow-y:auto}.form-group{margin-bottom:16px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-input,.form-select,.form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:20px;padding-top:16px}.btn-danger,.btn-primary,.btn-secondary,.btn-small{border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:2px solid #0000;color:#fff;flex:1 1}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#fff;border:2px solid #d1d5db;color:#374151;flex:1 1}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);border:2px solid #0000;color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 4px 12px #dc262666;transform:translateY(-2px)}.btn-danger:active{transform:translateY(0)}.btn-small{background:#fff;border:2px solid #d1d5db;box-shadow:0 1px 3px #00000014;color:#374151;font-size:13px;padding:8px 14px}.btn-small:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.full-width{width:100%}.assignment-modal .shift-selector{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:8px}.shift-option{border:2px solid #0000;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:12px 8px;text-align:center;transition:all .2s}.shift-option:hover{transform:scale(1.05)}.shift-option.selected{border-color:#1f2937;box-shadow:0 0 0 3px #1f293733}.custom-time-toggle{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;margin-top:12px;padding:8px 12px;text-align:left;width:100%}.custom-time-toggle:hover{background:#e5e7eb}.personnel-needs-modal .weekday-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-bottom:16px}.weekday-input{text-align:center}.weekday-input label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.weekday-input input{background:#fff;border:2px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:text;font-size:16px;font-weight:600;padding:8px;text-align:center;transition:all .2s;width:100%}.weekday-input input:hover{border-color:#9ca3af}.weekday-input input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.quick-actions{background:#f9fafb;border-radius:6px;margin-bottom:16px;padding:12px}.quick-actions h4{color:#6b7280;font-size:13px;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.quick-actions button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px;padding:8px;transition:all .2s;width:100%}.quick-actions button:hover{background:#f3f4f6;border-color:#3b82f6}.needs-summary{background:#eff6ff;border:2px solid #3b82f6;border-radius:8px;margin-top:16px;padding:12px 16px;text-align:center}.needs-summary p{color:#1e40af;font-size:14px;margin:0}.needs-summary strong{font-weight:700}.modal-description{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:16px}.shift-management-modal .shifts-list{margin-bottom:16px;max-height:300px;overflow-y:auto}.shift-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:12px;margin-bottom:8px;padding:12px}.shift-color-badge{border-radius:4px;flex-shrink:0;height:40px;width:8px}.shift-info{color:#1f2937;flex:1 1;font-size:14px}.shift-info strong{font-weight:600}.shift-info small{color:#6b7280}.shift-actions{display:flex;gap:6px}.empty-state{color:#6b7280;font-size:14px;padding:40px 20px;text-align:center}.color-picker{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-top:8px}.color-option{border:3px solid #0000;border-radius:6px;cursor:pointer;height:40px;transition:all .2s;width:100%}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#1f2937;box-shadow:0 0 0 3px #1f293733}.error-message,.success-message{align-items:center;animation:slideIn .3s ease-out;border-radius:10px;box-shadow:0 3px 10px #00000026;display:flex;font-size:14px;font-weight:600;gap:12px;margin-bottom:16px;padding:16px 20px;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #f87171;color:#991b1b}.error-message:before{content:"⚠️";font-size:20px}.success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7;color:#065f46}.success-message:before{background:#10b981;border-radius:50%;color:#fff;content:"✓";font-weight:700}.close-btn,.success-message:before{align-items:center;display:flex;font-size:20px;height:28px;justify-content:center;width:28px}.close-btn{background:#0000001a;border:none;border-radius:50%;color:inherit;cursor:pointer;line-height:1;padding:0;position:absolute;right:8px;top:8px;transition:all .2s}.close-btn:hover{background:#0003;transform:scale(1.1)}@media (max-width:640px){.personnel-planning-manager{padding:8px}.planning-header{padding:12px}.planning-header h2{font-size:20px}.header-row{flex-direction:column}.header-row select{min-width:100%;width:100%}.week-navigation button{font-size:13px;padding:6px 12px}.week-display{font-size:14px}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.shift-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.assignment-modal .shift-selector{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.personnel-planning-manager,.planning-header{padding:24px}}.calendar-view{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 3px 10px #0000001a;box-sizing:border-box;max-width:100%;overflow-x:hidden;padding:20px;width:100%}.calendar-header{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px;box-shadow:0 4px 12px #3b82f64d;justify-content:space-between;margin-bottom:20px;padding:16px}.calendar-header,.month-nav-btn{align-items:center;color:#fff;display:flex}.month-nav-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:8px;cursor:pointer;font-size:24px;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.month-nav-btn:hover{background:#ffffff4d;transform:scale(1.1)}.month-nav-btn:active{transform:scale(.95)}.month-title{flex:1 1;font-size:20px;font-weight:700;text-align:center}.calendar-legend{background:#f9fafb;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px;padding:12px}.legend-item{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:600;gap:8px}.legend-indicator{border:2px solid #0000001a;border-radius:4px;height:16px;width:16px}.calendar-grid{grid-gap:8px;box-sizing:border-box;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);max-width:100%;overflow:hidden;width:100%}.calendar-day-header{background:#f3f4f6;border-radius:6px;color:#374151;font-size:13px;font-weight:700;letter-spacing:.5px;padding:12px 8px;text-align:center;text-transform:uppercase}.calendar-day-cell{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:90px;min-width:0;overflow:hidden;padding:8px;position:relative;transition:all .2s}.calendar-day-cell:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);z-index:10}.calendar-day-cell.empty{background:#f9fafb;border-color:#0000;cursor:default}.calendar-day-cell.empty:hover{box-shadow:none;transform:none}.calendar-day-cell.today{border-color:#3b82f6;border-width:3px;box-shadow:0 0 0 3px #3b82f61a}.calendar-day-cell.weekend{background:#fafafa}.calendar-day-cell.met{border-color:#10b981}.calendar-day-cell.warning{border-color:#f59e0b}.calendar-day-cell.critical{animation:pulse-border 2s ease-in-out infinite;border-color:#ef4444}@keyframes pulse-border{0%,to{border-color:#ef4444;box-shadow:0 0 0 0 #ef444466}50%{border-color:#dc2626;box-shadow:0 0 0 4px #ef444433}}.day-number{color:#1f2937;font-size:16px;font-weight:700;margin-bottom:4px}.calendar-day-cell.today .day-number{color:#3b82f6}.day-staffing-info{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;margin-top:4px}.staffing-ratio{color:#374151;font-size:14px;font-weight:700}.critical-badge{background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;color:#991b1b;font-size:11px;font-weight:700;padding:2px 6px}.week-view-container{display:flex;flex-direction:column;gap:16px}.week-day-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #00000014;overflow:hidden}@media (max-width:768px){.calendar-view{padding:12px}.calendar-grid{gap:4px;max-width:100%;width:100%}.calendar-day-cell{min-height:70px;min-width:0;padding:6px}.day-number{font-size:14px}.staffing-ratio{font-size:12px}.calendar-day-header{font-size:11px;padding:8px 4px}.month-title{font-size:16px}.calendar-legend{gap:8px}.legend-item{font-size:11px}}@media (max-width:480px){.calendar-view{padding:8px}.calendar-grid{gap:2px}.calendar-day-cell{min-height:60px;padding:4px}.calendar-day-header{font-size:10px;padding:6px 2px}}.mt-2{margin-top:8px}.mb-2{margin-bottom:8px}.hidden{display:none!important}.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}@keyframes pulse{0%{box-shadow:0 0 0 0 #ef4444b3;transform:scale(1)}50%{box-shadow:0 0 0 8px #ef444400;transform:scale(1.02)}to{box-shadow:0 0 0 0 #ef444400;transform:scale(1)}}.badge-pulse{animation:pulse 1.5s infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.badge-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;color:#065f46}.badge-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;color:#92400e}.badge-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;color:#991b1b}.group-ratio{border-radius:6px;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px;transition:all .3s ease}.error-boundary-fallback{align-items:center;background:linear-gradient(135deg,#fef3f2,#fee2e2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #dc26261f;max-width:500px;padding:32px 24px;text-align:center;width:100%}.error-icon-wrapper{margin-bottom:20px}.error-icon{animation:errorPulse 2s ease-in-out infinite;font-size:64px;line-height:1}@keyframes errorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.error-title{color:#991b1b;font-size:24px;font-weight:700;margin:0 0 12px}.error-description{color:#7f1d1d;font-size:15px;line-height:1.6;margin:0 0 28px}.error-support{color:#9ca3af;font-size:13px;margin:24px 0 0}.error-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.error-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;min-height:48px;padding:14px 20px;transition:all .2s;width:100%}.error-btn-primary{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #dc262640;color:#fff}.error-btn-primary:active{box-shadow:0 2px 6px #dc262633;transform:scale(.98)}.error-btn-secondary{background:#fff;border:2px solid #dc2626;color:#dc2626}.error-btn-secondary:active{background:#fef2f2;transform:scale(.98)}.error-details{margin-top:20px;text-align:left}.error-details-toggle{-webkit-tap-highlight-color:transparent;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;cursor:pointer;font-size:13px;font-weight:600;padding:12px;text-align:left;transition:all .2s;width:100%}.error-details-toggle:active{background:#fee2e2}.error-details-content{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;max-height:300px;overflow-y:auto;padding:16px}.error-component-stack,.error-message,.error-stack{margin-bottom:16px}.error-component-stack:last-child,.error-message:last-child,.error-stack:last-child{margin-bottom:0}.error-details-content strong{color:#991b1b;display:block;font-size:12px;font-weight:700;margin-bottom:8px}.error-details-content pre{word-wrap:break-word;background:#fff;border:1px solid #fecaca;border-radius:6px;color:#7f1d1d;font-family:Monaco,Courier New,monospace;font-size:11px;line-height:1.5;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap}@media (min-width:768px){.error-content{padding:48px 40px}.error-title{font-size:28px}.error-description{font-size:16px}.error-actions{flex-direction:row;justify-content:center}.error-btn{min-width:160px;width:auto}.error-btn-primary:hover{box-shadow:0 6px 16px #dc26264d;transform:translateY(-2px)}.error-btn-secondary:hover{background:#fef2f2}.error-details-toggle:hover{background:#fee2e2}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-drag:none;box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}html{-webkit-text-size-adjust:100%;background:#764ba2;scroll-behavior:smooth}body,html{overscroll-behavior:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;height:100dvh;height:-webkit-fill-available;margin:0;padding:0;position:fixed;width:100vw}[contenteditable=true],input,select,textarea{-webkit-touch-callout:default;font-size:16px;-webkit-user-select:text!important;user-select:text!important}a,button,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@supports (-webkit-touch-callout:none){body{height:-webkit-fill-available}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#nidouxAppContainer,#root{height:100vh;height:100dvh;height:-webkit-fill-available;width:100vw}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.4017867c.css.map*/