@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--c-orange: #D4641A;--c-orange-dk: #B35415;--c-orange-lt: #F8A76D;--c-black: #1A1A1A;--c-grey-100: #F7F7F7;--c-grey-200: #EEE;--c-grey-300: #DDD;--c-grey-400: #AAA;--c-grey-600: #666;--c-grey-800: #333;--c-white: #FFF;--c-success: #2D6A4F;--c-warn: #F59E0B;--c-danger: #DC2626;--font-sans: "Inter", sans-serif;--radius: 8px;--radius-sm: 4px;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 24px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:14px;color:var(--c-black);background:var(--c-grey-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0}.admin-shell{display:flex;flex-direction:column;height:100vh}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;height:56px;padding:0 20px;background:var(--c-black);border-bottom:3px solid var(--c-orange);box-shadow:var(--shadow-lg);gap:8px}.topbar-logo{height:32px;object-fit:contain}.topbar-title{font-size:15px;font-weight:600;color:var(--c-white);margin-left:4px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--c-grey-400);font-size:13px}.topbar-user{color:var(--c-grey-400);font-size:13px}.topbar-logout{background:none;border:1px solid var(--c-grey-600);color:var(--c-grey-400);padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-sans);transition:all .15s}.topbar-logout:hover{border-color:var(--c-grey-400);color:var(--c-white)}.topbar-support{background:none;border:1px solid var(--c-grey-600);color:var(--c-grey-400);padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-decoration:none}.topbar-support:hover{border-color:var(--c-grey-400);color:var(--c-white)}.admin-main{display:flex;flex:1;overflow:hidden}.sidebar{width:240px;min-width:240px;background:var(--c-white);border-right:1px solid var(--c-grey-300);overflow-y:auto;padding:16px 0}.sidebar-section{margin-bottom:4px}.sidebar-section-title{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;color:var(--c-grey-600);padding:12px 20px 8px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 20px;cursor:pointer;color:var(--c-grey-800);font-size:14px;font-weight:500;border-left:3px solid transparent;transition:all .15s;text-decoration:none}.sidebar-item:hover{background:var(--c-grey-100);color:var(--c-orange)}.sidebar-item.active{background:var(--c-grey-100);color:var(--c-orange);border-left-color:var(--c-orange);font-weight:600}.admin-content{flex:1;overflow-y:auto;padding:24px;background:var(--c-grey-100)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:var(--font-sans);transition:all .15s;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-orange);color:var(--c-white)}.btn-primary:hover:not(:disabled){background:var(--c-orange-dk)}.btn-secondary{background:var(--c-white);color:var(--c-grey-800);border:1px solid var(--c-grey-300)}.btn-secondary:hover:not(:disabled){border-color:var(--c-grey-400);background:var(--c-grey-100)}.btn-danger{background:var(--c-danger);color:var(--c-white)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:6px 12px;font-size:13px}.btn-form-aligned{padding:9px 14px;font-size:14px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--c-grey-100)}.login-card{background:var(--c-white);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:400px;text-align:center}.login-logo{height:64px;margin-bottom:16px}.login-title{font-size:20px;font-weight:700;color:var(--c-black);margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-error{color:var(--c-danger);font-size:13px;margin:0}.login-notice{background:#fff7e6;border:1px solid #FFD591;color:#874d00;border-radius:6px;padding:10px 12px;font-size:13px;margin-bottom:16px;text-align:left}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;line-height:1}.badge-green{background:#d1fae5;color:var(--c-success)}.badge-orange{background:#fef3c7;color:var(--c-warn)}.badge-red{background:#fee2e2;color:var(--c-danger)}.badge-grey{background:var(--c-grey-200);color:var(--c-grey-600)}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-success{background:#d1fae5;color:var(--c-success)}.badge-purple{background:#ede9fe;color:#6d28d9}.tag{display:inline-block;padding:3px 9px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;background:var(--c-grey-200);color:var(--c-grey-800);margin:2px}.form-group{display:flex;flex-direction:column}.form-label{font-size:12px;font-weight:600;color:var(--c-grey-600);display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.form-input{padding:9px 12px;border:1px solid var(--c-grey-300);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);background:var(--c-white);color:var(--c-black);transition:border-color .15s;width:100%;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--c-orange)}.form-error{font-size:12px;color:var(--c-danger);margin-top:4px}.form-select{padding:9px 36px 9px 12px;border:1px solid var(--c-grey-300);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);background:var(--c-white);color:var(--c-black);transition:border-color .15s;width:100%;box-sizing:border-box;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:20px}.form-select:focus{outline:none;border-color:var(--c-orange)}.form-textarea{padding:9px 12px;border:1px solid var(--c-grey-300);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);background:var(--c-white);color:var(--c-black);transition:border-color .15s;width:100%;box-sizing:border-box;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--c-orange)}.card{background:var(--c-white);border-radius:var(--radius);padding:20px;border:1px solid var(--c-grey-300);margin-bottom:16px}.card .section-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c-grey-600);margin-bottom:12px}.stat-card{background:var(--c-white);border:1px solid var(--c-grey-300);border-radius:var(--radius);padding:20px;border-top:3px solid var(--c-orange)}.stat-card-val{font-size:32px;color:var(--c-black);font-weight:700}.stat-card-label{font-size:13px;color:var(--c-grey-600);margin-top:4px}.stat-card-trend{font-size:12px;margin-top:8px}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.dt{width:100%;border-collapse:collapse;font-size:13px;background:var(--c-white);border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-grey-300)}.dt th{padding:12px 14px;text-align:left;background:var(--c-grey-100);color:var(--c-grey-600);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border-bottom:1px solid var(--c-grey-300);white-space:nowrap}.dt td{padding:12px 14px;border-bottom:1px solid var(--c-grey-200)}.dt tbody tr:hover td{background:var(--c-grey-100)}.dt tbody tr:last-child td{border-bottom:none}.dt tbody tr.dt-clickable{cursor:pointer}.dt-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.dt-th-sortable:hover{background:var(--c-grey-200)}.dt-th-sortable:focus-visible{outline:2px solid var(--c-orange-500, #ea7a1a);outline-offset:-2px}.dt-th-sortable>.dt-th-label,.dt-th-sortable>.dt-sort-icon{display:inline-block}.dt-th-label{vertical-align:middle}.dt-sort-icon{display:inline-block;margin-left:6px;font-size:11px;vertical-align:middle;white-space:nowrap}.dt-sort-idle{color:var(--c-grey-400);opacity:.6}.dt-sort-active{color:var(--c-orange-500, #ea7a1a);font-weight:700}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:18px;z-index:999}.modal{width:min(980px,100%);max-height:86vh;overflow:auto;background:var(--c-white);border-radius:14px;border:1px solid var(--c-grey-300);box-shadow:0 24px 80px #00000040}.modal-head{padding:14px 16px;border-bottom:1px solid var(--c-grey-300);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-title{font-size:14px;font-weight:800}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--c-grey-600);padding:4px;line-height:1}.modal-close:hover{color:var(--c-black)}.modal-body{padding:16px}.divider{height:1px;background:var(--c-grey-300);margin:16px 0;border:none}.page-header{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header-text .page-title{font-size:28px;font-weight:700;color:var(--c-black);margin:0 0 6px}.page-header-text .page-subtitle{font-size:14px;color:var(--c-grey-600);margin:0}.page-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.filters-bar{background:var(--c-white);border:1px solid var(--c-grey-300);border-radius:var(--radius);padding:16px;margin-bottom:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;flex-wrap:wrap}.pagination-info{font-size:13px;color:var(--c-grey-600, #666)}.pagination-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pagination-perpage{font-size:13px;color:var(--c-grey-600, #666);display:flex;align-items:center;gap:6px}.pagination-perpage select{padding:4px 8px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);font-size:13px}.pagination-btn{padding:6px 12px;border:1px solid var(--c-grey-300, #ddd);background:#fff;border-radius:var(--radius-sm, 4px);font-size:13px;cursor:pointer}.pagination-btn:hover:not(:disabled){background:var(--c-grey-100, #f5f5f5)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page{font-size:13px;color:var(--c-grey-600, #666)}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pending-list{display:flex;flex-direction:column;gap:8px}.pending-row{display:flex;justify-content:space-between;align-items:center;padding:10px;background:var(--c-grey-100);border-radius:var(--radius-sm)}.pending-meta{font-size:12px;color:var(--c-grey-600);margin-top:2px}.activity-list{font-size:13px;display:flex;flex-direction:column;gap:8px}.activity-row{display:flex;justify-content:space-between;align-items:center}.activity-row--bordered{padding-bottom:8px;border-bottom:1px solid var(--c-grey-200)}.activity-time{color:var(--c-grey-600);font-size:12px;white-space:nowrap;margin-left:12px}.empty-text{color:var(--c-grey-600);font-size:13px;font-style:italic}.dashboard-grid--three{grid-template-columns:repeat(3,1fr);margin-top:20px}.dashboard-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.dashboard-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;background:var(--c-grey-100);border-radius:var(--radius-sm)}.dashboard-list-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dashboard-list-name{font-weight:600;font-size:14px;color:var(--c-grey-900);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-list-name:hover{text-decoration:underline}.dashboard-list-sub{font-size:12px;color:var(--c-grey-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.dashboard-list-amount{font-weight:600;font-size:14px}.dashboard-list-date{font-size:12px;color:var(--c-grey-600)}.section-head--row{display:flex;justify-content:space-between;align-items:center}.section-head-action{font-weight:400;font-size:13px}.card-action-link{color:var(--c-primary, #f97316);text-decoration:none}.card-action-link:hover{text-decoration:underline}@media(max-width:1100px){.dashboard-grid--three{grid-template-columns:1fr}}.slot-card{border-radius:4px;margin:2px 0;overflow:hidden;border:1px solid transparent;transition:border-color .15s}.slot-card--expanded{border-color:var(--c-orange);box-shadow:var(--shadow)}.slot-card--over{border-color:var(--c-orange);box-shadow:0 0 0 2px var(--c-orange-lt)}.slot-card--over .slot-card__header{background:var(--c-orange-dk)}.slot-card__header{background:var(--c-orange);color:var(--c-white);padding:5px 8px;cursor:pointer;font-size:11px;font-weight:500;transition:background .15s}.slot-card__header:hover{background:var(--c-orange-dk)}.slot-card__header[data-custom-color=true]:hover{filter:brightness(.92)}.slot-card__top{display:flex;align-items:baseline;gap:4px}.slot-card__time{font-weight:700;font-variant-numeric:tabular-nums;background:#0000002e;border-radius:3px;padding:1px 5px;font-size:10px;letter-spacing:.02em}.slot-card__instrument{font-weight:700}.slot-card__room{opacity:.85;font-size:10px}.slot-card__count{margin-left:auto;background:#0003;border-radius:10px;padding:1px 6px;font-size:10px}.slot-card__teacher{font-size:10px;opacity:.85;margin-top:1px}.slot-card__drop-hint{margin-top:3px;padding:2px 6px;background:#ffffff40;border-radius:3px;font-size:10px;text-align:center;font-weight:600;animation:pulse-hint .8s ease-in-out infinite alternate}@keyframes pulse-hint{0%{opacity:.7}to{opacity:1}}.slot-card__body{background:var(--c-white);padding:6px 8px;border-top:1px solid var(--c-grey-200);transition:background .15s}.slot-card__body--over{background:#fef3c7}.slot-card__students{list-style:none;padding:0;margin:0 0 4px}.slot-student{display:flex;align-items:center;gap:4px;padding:3px 2px;border-radius:3px;font-size:11px;color:var(--c-black);cursor:grab;transition:background .1s}.slot-student:hover{background:var(--c-grey-100)}.slot-student:active{cursor:grabbing}.slot-student--dragging{opacity:.4}.slot-student--absent{background:#fee2e2;border-left:3px solid var(--c-danger)}.slot-student--absent:hover{background:#fecaca}.slot-student--absent .slot-student__name{color:var(--c-danger)}.slot-student__absent-badge{background:var(--c-danger);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;text-transform:uppercase;letter-spacing:.03em}.slot-student--empty{font-style:italic;color:var(--c-grey-400);padding:3px 2px;font-size:11px}.slot-student__grip{color:var(--c-grey-400);font-size:14px;cursor:grab;-webkit-user-select:none;user-select:none;padding:0 2px;transition:color .15s}.slot-student:hover .slot-student__grip{color:var(--c-grey-700, #374151)}.slot-student__grip:active{cursor:grabbing}.slot-student__name{flex:1;font-weight:500}.slot-student__name--link{color:inherit;text-decoration:none;cursor:pointer}.slot-student__name--link:hover{color:var(--c-orange, #f97316);text-decoration:underline}.slot-student__minor-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--c-grey-200, #e5e7eb);color:var(--c-grey-700, #374151);font-size:9px;font-weight:700;border-radius:8px;letter-spacing:.03em;-webkit-user-select:none;user-select:none}.slot-student__remove{background:none;border:none;color:var(--c-danger);cursor:pointer;font-size:14px;font-weight:700;padding:0 2px;opacity:0;line-height:1;transition:opacity .15s}.slot-student:hover .slot-student__remove{opacity:.7}.slot-student__remove:hover{opacity:1!important}.slot-card--teacher-absent .slot-card__header,.slot-card__header--absent{background:var(--c-grey-400);text-decoration:line-through;opacity:.75}.slot-card--teacher-absent .slot-card__header:hover{background:var(--c-grey-500)}.slot-card__absent-tag{display:inline-block;background:var(--c-danger);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;margin-left:6px;text-decoration:none;text-transform:uppercase}.slot-student--moved-out{opacity:.45;text-decoration:line-through}.slot-student--override-in{background:#d1fae5;border-left:3px solid var(--c-success)}.slot-card__dropzone{border:1px dashed var(--c-grey-300);border-radius:3px;padding:4px;text-align:center;font-size:10px;color:var(--c-grey-400);transition:all .15s}.slot-card__body--over .slot-card__dropzone{border-color:var(--c-orange);background:#fef3c7;color:var(--c-orange-dk);font-weight:600}.waiting-panel{width:240px;min-width:240px;background:var(--c-grey-100);border-right:1px solid var(--c-grey-300);padding:12px;overflow-y:auto;max-height:700px}.waiting-panel__head{font-weight:700;font-size:13px;color:var(--c-black);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--c-orange)}.waiting-panel__loading,.waiting-panel__empty{color:var(--c-grey-600);font-size:12px;font-style:italic}.waiting-panel__search{width:100%;padding:6px 8px;margin-bottom:10px;border:1px solid var(--c-grey-300);border-radius:var(--radius-sm);font-size:12px;font-family:inherit}.waiting-panel__search:focus{outline:none;border-color:var(--c-orange)}.waiting-panel__list{display:flex;flex-direction:column;gap:6px}.waiting-card{background:var(--c-white);border:1px solid var(--c-grey-200);border-radius:var(--radius-sm);padding:8px 10px;cursor:grab;transition:border-color .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.waiting-card:hover{border-color:var(--c-orange);box-shadow:var(--shadow)}.waiting-card:active{cursor:grabbing}.waiting-card--dragging{opacity:.5;border-color:var(--c-orange)}.waiting-card__name{font-weight:600;font-size:12px;color:var(--c-black)}.waiting-card__meta{color:var(--c-grey-600);margin-top:2px;font-size:11px}.waiting-card--reassign{border-color:var(--c-orange);background:#fff7ed}.waiting-card__badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.2px;background:var(--c-orange);color:#fff;border-radius:10px;vertical-align:middle}.waiting-card__count{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;border-radius:10px;vertical-align:middle}.waiting-card__count--zero{background:var(--c-grey-200, #e5e7eb);color:var(--c-grey-700, #374151)}.waiting-card__count--partial{background:#dbeafe;color:#1e40af}.waiting-card__upcoming{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;border-radius:10px;vertical-align:middle;background:#fef3c7;color:#92400e}.waiting-panel__legend{margin-top:12px;padding-top:8px;border-top:1px dashed var(--c-grey-300);display:flex;flex-direction:column;gap:4px}.waiting-panel__legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--c-grey-700, #374151)}.waiting-panel__legend-swatch{display:inline-block;width:18px;height:12px;border-radius:2px;border-left:3px solid;flex-shrink:0}.planning-nav{display:flex;align-items:center;gap:8px}.planning-nav-label{font-weight:600;font-size:14px;color:var(--c-black);margin:0 8px;white-space:nowrap}.planning-nav-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;border-radius:var(--radius-sm, 4px);font-size:16px;line-height:1;-webkit-user-select:none;user-select:none}.planning-nav-picker:hover{background:var(--c-grey-100, #f3f4f6)}.planning-nav-picker-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}.planning-teacher-select{width:200px;margin-left:auto}.planning-banner{margin-bottom:12px;padding:12px;border-radius:var(--radius-sm);font-size:13px}.planning-banner--teacher{background:#fef3c7;border-left:3px solid var(--c-orange)}.planning-banner--day{background:#d1fae5;border-left:3px solid var(--c-success)}.planning-banner--reassign{background:#ffedd5;border-left:3px solid var(--c-orange, #f97316);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px}.planning-banner--error{background:#fee2e2;border-left:3px solid var(--c-danger, #dc2626);color:#991b1b}.plan-wrapper{display:flex;gap:0;border:1px solid var(--c-grey-300);border-radius:var(--radius);background:var(--c-white);overflow:hidden}.plan-grid{display:grid;font-size:12px;flex:1;overflow:auto;max-height:700px;grid-auto-rows:min-content}.plan-row-wrapper{display:contents}.plan-cell{border:1px solid var(--c-grey-200);min-height:70px;padding:6px;background:var(--c-white);vertical-align:top}.plan-cell.header{background:var(--c-black);color:var(--c-white);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 8px;min-height:auto}.plan-cell.time{background:var(--c-grey-100);color:var(--c-grey-600);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.plan-cell[data-out-of-hours=true]{background-color:#f5f5f5}.plan-cell[data-out-of-hours=true]>*{opacity:.6}.plan-cell[data-closed=true]{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 6px,#e9eaee 6px 12px)}.plan-closure-tag{display:block;font-size:10px;font-weight:600;color:#8a8f98;margin-top:2px}.plan-closure-banner{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:10px 14px;margin-bottom:12px;font-size:13px;font-weight:600;color:#92400e}.drag-overlay-card{background:var(--c-orange);color:var(--c-white);padding:8px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;box-shadow:var(--shadow-lg);cursor:grabbing;white-space:nowrap}.room-occ-toolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.room-occ-week-nav{display:flex;align-items:center;gap:8px}.room-occ-week-label{font-weight:600;font-size:14px}.room-occ-stat{margin-left:auto;font-size:13px;color:var(--c-text-muted, #666);font-weight:600}.room-occ-slot{background:var(--c-orange-50, #fff4ec);border-left:3px solid var(--c-orange, #e8772e);border-radius:4px;padding:4px 6px;margin-bottom:4px;font-size:11px;line-height:1.3}.room-occ-slot-time{font-weight:600}.room-occ-slot-main{color:var(--c-text, #222)}.room-occ-slot-fill{color:var(--c-text-muted, #666);font-weight:600}.plan-cell[data-closed=true]{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 6px,#e9eaee 6px 12px);opacity:.7}.room-occ-closed-tag{display:block;font-size:10px;font-weight:600;color:#8a8f98}.tag-waiting{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;background:#fef3c7;color:var(--c-warn)}.expires-warning{color:var(--c-warn);font-weight:600}.expires-danger{color:var(--c-danger);font-weight:600}.payment-progress{margin:8px 0 4px}.payment-progress-bar-row{display:flex;align-items:center;gap:8px}.payment-progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.payment-progress-bar-fill{height:100%;background:#f97316;transition:width .2s ease}.payment-progress-pct{font-size:12px;color:var(--c-muted, #6b7280);font-weight:600;min-width:36px;text-align:right}.payment-progress-text{margin-top:4px;font-size:12px;color:var(--c-muted, #6b7280)}.payment-progress-text strong{color:var(--c-text, #1f2937);font-weight:600}.student-detail-page .page-actions{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.student-detail-page .page-actions .badge{margin-right:auto}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.account-identifier{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:800;margin-top:4px}.account-role-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.account-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.family-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.family-buttons{display:flex;gap:8px;margin-top:12px}.tutors-table-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tutor-checkbox-label{display:flex;gap:8px;align-items:center}.three-col-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.subscription-item{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--c-grey-300)}.subscription-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.subscription-dates{font-size:12px;color:var(--c-grey-600);margin-top:4px}.subscription-dates .warn{color:var(--c-warn)}.subscription-slots{font-size:12px;margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.renewal-label{font-size:12px;display:flex;gap:4px;margin-top:8px}.upgrade-section{display:flex;flex-direction:column;gap:8px;margin-top:10px}.upgrade-title{font-weight:700;font-size:12px}.upgrade-grid{display:grid;grid-template-columns:1fr 140px;gap:10px;align-items:end}.upgrade-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.upgrade-footer-text{font-size:12px;color:var(--c-grey-600)}.membership-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.membership-row span{font-size:12px;color:var(--c-grey-600)}.payment-list{font-size:12px;display:flex;flex-direction:column;gap:6px}.payment-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.payment-mode{color:var(--c-grey-600)}.absence-list{font-size:12px;display:flex;flex-direction:column;gap:5px}.absence-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.slot-list{font-size:12px;display:flex;flex-direction:column;gap:5px}.slot-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.muted,.teachers-page .muted{color:var(--c-grey-600);font-size:14px}.teacher-detail-page .page-actions{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.teacher-detail-page .page-actions .badge{margin-right:auto}.teacher-detail-page .muted{color:var(--c-grey-600);font-size:14px}.teacher-detail-page .account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.teacher-detail-page .account-identifier{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:800;margin-top:4px}.teacher-detail-page .account-role-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.teacher-detail-page .account-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.instruments-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.planning-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px}.planning-day{border:1px solid var(--c-grey-300);border-radius:var(--radius-sm);padding:8px;min-height:80px}.planning-day-label{font-weight:700;font-size:12px;margin-bottom:6px;text-align:center;color:var(--c-grey-800)}.planning-slot{display:flex;flex-direction:column;gap:2px;padding:4px 6px;background:var(--c-grey-100);border-radius:var(--radius-sm);font-size:12px;margin-bottom:4px}.planning-empty{text-align:center;color:var(--c-grey-400);font-size:12px}.family-detail-page .page-actions{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.family-detail-page .page-actions .badge{margin-right:auto}.family-detail-page .muted{color:var(--c-grey-600);font-size:14px}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rights-tags{display:flex;gap:4px;flex-wrap:wrap}.tutor-detail-page .page-actions{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.tutor-detail-page .page-actions .badge{margin-right:auto}.tutor-detail-page .muted{color:var(--c-grey-600);font-size:14px}.tutor-detail-page .tutor-checkbox-label{display:flex;gap:8px;align-items:center;justify-content:center}.tutor-detail-page .dt th{font-size:11px;white-space:nowrap}.new-membership-type-form{display:flex;flex-direction:column;gap:16px}.form-card{background:#fff;border:1px solid var(--c-grey-200);border-radius:var(--radius);padding:20px}.form-card-title{margin:0 0 16px;font-size:16px;font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-label{font-size:13px;font-weight:500;color:var(--c-grey-700)}.form-input,.form-select{padding:8px 10px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);font-size:14px}.form-input:focus,.form-select:focus{outline:2px solid var(--c-orange);outline-offset:-1px}.form-input.input-error{border-color:#dc2626}.form-error{color:#dc2626;font-size:12px;margin-top:2px}.form-help{display:block;font-size:12px;color:var(--c-grey-500, #888);margin-top:2px}.form-navigation{display:flex;align-items:center;gap:12px;margin-top:16px}.memberships-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.cerfa-link{color:var(--c-success);text-decoration:none;font-weight:500}.cerfa-link:hover{text-decoration:underline}.opm-subtitle{font-size:12px;color:var(--c-grey-600);margin-top:2px}.opm-head-actions{display:flex;gap:8px;align-items:center}.opm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.opm-full-width{grid-column:1 / span 2}.opm-error{padding:10px 14px;background:#fff7ed;border:1px solid #fb923c;border-left:4px solid #f97316;border-radius:var(--radius-sm, 4px);color:#9a3412;font-size:13px;margin-bottom:16px}.opm-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.opm-card{border:2px dashed var(--c-grey-300, #ddd);border-radius:var(--radius, 8px);padding:16px}.opm-card-header{display:flex;align-items:center;gap:10px}.opm-icon{font-size:20px;color:var(--c-orange, #f97316)}.opm-card-title{font-weight:700;font-size:14px}.opm-card-subtitle{font-size:12px;color:var(--c-grey-600)}.opm-card-divider{border:none;border-top:1px solid var(--c-grey-200, #eee);margin:12px 0}.opm-mode-selector{display:flex;gap:8px;margin-bottom:12px}.opm-mode-label{cursor:pointer;display:flex;align-items:center;gap:4px;font-size:13px;padding:4px 10px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);transition:border-color .15s,background .15s}.opm-mode-label:has(input:checked){border-color:var(--c-orange, #f97316);background:#fff7ed}.opm-mode-label input[type=radio]{display:none}.opm-search-wrapper{position:relative}.opm-search-results{position:absolute;top:100%;left:0;right:0;z-index:10;list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.opm-search-item{display:block;width:100%;padding:8px 12px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer}.opm-search-item:hover{background:var(--c-grey-100, #f5f5f5)}.opm-selected{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--c-grey-100, #f5f5f5);border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);font-size:14px}.opm-selected .opm-remove{background:none;border:none;color:var(--c-grey-600);cursor:pointer;font-size:12px}.opm-send-btn{width:100%;margin-top:10px}.opm-readonly{background:var(--c-grey-100, #f5f5f5);color:var(--c-grey-600);pointer-events:none}.opm-installment{margin-bottom:8px}.opm-installment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.opm-installment-label{font-weight:600;font-size:13px;color:var(--c-grey-700, #555)}.opm-installment-divider{border:none;border-top:1px dashed var(--c-grey-300, #ddd);margin:12px 0}.opm-add-installment{display:block;width:100%;padding:8px;margin-top:8px;background:none;border:1px dashed var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);color:var(--c-orange, #f97316);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.opm-add-installment:hover{background:#fff7ed}.opm-object-loading{padding:8px 12px;color:var(--c-grey-600);font-size:13px;font-style:italic}.opm-object-empty{padding:10px 14px;background:var(--c-grey-100, #f5f5f5);border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);color:var(--c-grey-600);font-size:13px}.cerfa-download{color:var(--c-success);text-decoration:none;font-weight:500}.cerfa-download:hover{text-decoration:underline}.reactivate-modal-body{display:flex;flex-direction:column;gap:14px;min-width:360px}.reactivate-modal-body p{margin:0;padding:12px;background:#fff7ed;border-left:3px solid #f97316;border-radius:var(--radius-sm);font-size:13px;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.slots-page{display:flex;flex-direction:column;gap:16px}.slots-info{font-size:12px;color:var(--c-grey-600);padding:12px 16px;border-left:3px solid var(--c-orange);background:var(--c-grey-100);border-radius:var(--radius-sm)}.slot-form{display:flex;flex-direction:column;gap:12px}.slot-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.slot-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.assign-slot-info{font-size:13px;padding:8px 12px;background:var(--c-grey-100);border-radius:var(--radius-sm);border-left:3px solid var(--c-orange)}.events-page{display:flex;flex-direction:column;gap:16px}.event-type-filters{display:flex;gap:8px}.event-filter-btn{padding:6px 14px;border:1px solid var(--c-grey-300);border-radius:var(--radius-sm);background:var(--c-white);font-size:13px;cursor:pointer;color:var(--c-grey-700)}.event-filter-btn:hover{background:var(--c-grey-100)}.event-filter-btn.active{border-color:var(--c-orange);background:var(--c-white);color:var(--c-orange);font-weight:600}.event-type-tag{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600}.event-detail-page{display:flex;flex-direction:column;gap:16px}.event-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.event-detail-sub{font-size:12px;color:var(--c-grey-600);margin-top:2px}.event-recap{display:flex;flex-direction:column;gap:8px;padding:16px}.recap-row{display:flex;justify-content:space-between;font-size:13px}.recap-label{color:var(--c-grey-600)}.recap-divider{border:none;border-top:1px solid var(--c-grey-200);margin:4px 0}.register-form{display:flex;flex-direction:column;gap:12px}.register-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.event-detail-actions{display:flex;gap:6px}.student-search-wrapper{position:relative}.student-search-results{position:absolute;top:100%;left:0;right:0;z-index:10;list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.student-search-item{display:block;width:100%;padding:8px 12px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer}.student-search-item:hover{background:var(--c-grey-100, #f5f5f5)}.selected-student{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--c-grey-100, #f5f5f5);border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm, 4px);font-size:14px}.recap-featured-row{align-items:center}.recap-featured-help{font-size:12px;color:var(--c-grey-600);margin-top:-4px}.recap-select{max-width:60%;font-size:12px;padding:4px 8px}.switch{position:relative;display:inline-block;width:38px;height:22px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--c-grey-300, #ccc);border-radius:22px;transition:.2s}.switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;top:3px;background-color:#fff;border-radius:50%;transition:.2s}.switch input:checked+.switch-slider{background-color:var(--c-orange-500, #f97316)}.switch input:checked+.switch-slider:before{transform:translate(16px)}.form-error-banner{padding:10px 14px;background:#fff7ed;border:1px solid #fb923c;border-left:4px solid #f97316;border-radius:var(--radius-sm, 4px);color:#9a3412;font-size:13px}.new-student-form{display:flex;flex-direction:column;gap:24px}.step-indicator{display:flex;justify-content:center;gap:48px;padding:16px 0}.step-dot{display:flex;flex-direction:column;align-items:center;gap:6px}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background:var(--c-grey-200);color:var(--c-grey-600)}.step-dot.active .step-number{background:var(--c-orange);color:#fff}.step-dot.done .step-number{background:var(--c-success);color:#fff}.step-label{font-size:13px;color:var(--c-grey-600)}.step-dot.active .step-label{color:var(--c-orange);font-weight:600}.repeatable-section{margin-top:24px}.checkbox-row{flex-direction:row!important;align-items:center;gap:8px}.checkbox-row label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.radio-group{display:flex;gap:24px}.radio-group label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.tutor-flags{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.tutor-flags label{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.family-section{margin-bottom:16px}.new-teacher-form{display:flex;flex-direction:column;gap:24px}.teacher-form-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.teacher-right-col{display:flex;flex-direction:column;gap:16px}.form-input,.form-select{padding:8px 12px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans)}.instruments-section{margin-top:20px}.instruments-section h4{margin:0 0 12px;font-size:15px}.instrument-tags{display:flex;flex-wrap:wrap;gap:8px}.instrument-tag{padding:6px 14px;border-radius:20px;border:1px solid var(--c-grey-300, #ddd);background:#fff;cursor:pointer;font-size:13px;transition:all .15s}.instrument-tag.selected{background:var(--c-orange);color:#fff;border-color:var(--c-orange)}.instrument-tag:hover{border-color:var(--c-orange)}.repeatable-block{border:1px solid var(--c-grey-200);border-radius:var(--radius-sm);padding:16px;margin-bottom:12px;background:var(--c-grey-100)}.repeatable-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:13px}.btn-remove{background:none;border:none;color:var(--c-danger);cursor:pointer;font-size:16px;padding:2px 6px}.toggle-row{display:flex;gap:16px;margin-top:8px}.toggle-row label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.new-event-form{display:flex;flex-direction:column;gap:24px}.event-form-layout{display:grid;grid-template-columns:1fr .4fr;gap:20px;align-items:start}.form-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.form-card-title{margin:0 0 20px;font-size:18px;color:var(--c-black)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:13px;font-weight:600;color:var(--c-grey-800)}.form-input,.form-select,.form-textarea{padding:8px 12px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans)}.form-input.input-error{border-color:var(--c-danger)}.form-error{font-size:12px;color:var(--c-danger)}.dates-section{margin-top:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header h4{margin:0;font-size:15px}.date-block{border:1px solid var(--c-grey-200);border-radius:var(--radius-sm);padding:16px;margin-bottom:12px;background:var(--c-grey-100)}.date-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:13px}.date-block-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.btn-remove{background:none;border:none;color:var(--c-danger);cursor:pointer;font-size:13px;padding:4px 8px}.btn-remove:hover{text-decoration:underline}.event-info-card h4{margin:0 0 12px;font-size:15px}.info-box{font-size:13px;color:var(--c-grey-600);padding:12px 16px;border-left:3px solid var(--c-orange);background:var(--c-grey-100);border-radius:var(--radius-sm);line-height:1.5}.form-navigation{display:flex;align-items:center;gap:12px;padding:16px 0}.rte{border:1px solid var(--c-grey-300, #d1d5db);border-radius:var(--radius-sm, 4px);background:#fff;overflow:hidden}.rte:focus-within{border-color:var(--c-orange, #f97316);box-shadow:0 0 0 3px #f9731626}.rte-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--c-grey-200, #e5e7eb);background:var(--c-grey-50, #f9fafb);flex-wrap:wrap}.rte-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;background:transparent;border:1px solid transparent;border-radius:3px;font-size:13px;cursor:pointer;color:var(--c-grey-700, #374151);transition:background .1s,border-color .1s}.rte-btn:hover{background:var(--c-grey-200, #e5e7eb)}.rte-btn.is-active{background:var(--c-orange-100, #ffedd5);border-color:var(--c-orange, #f97316);color:var(--c-orange-700, #c2410c)}.rte-btn-ghost{color:var(--c-grey-500, #6b7280)}.rte-sep{width:1px;height:18px;background:var(--c-grey-300, #d1d5db);margin:0 4px}.rte-content{padding:10px 12px;min-height:100px;font-size:14px;line-height:1.6;color:var(--c-grey-900, #111827)}.rte-content .ProseMirror{outline:none;min-height:80px}.rte-content .ProseMirror p{margin:0 0 6px}.rte-content .ProseMirror p:last-child{margin-bottom:0}.rte-content .ProseMirror h3,.rte-content .ProseMirror h4{margin:12px 0 6px;font-weight:700}.rte-content .ProseMirror ul,.rte-content .ProseMirror ol{padding-left:22px;margin:4px 0}.rte-content .ProseMirror a{color:var(--c-orange, #f97316);text-decoration:underline}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--c-grey-400, #9ca3af);float:left;pointer-events:none;height:0}.rte-loading{padding:12px;color:var(--c-grey-500, #6b7280);font-size:13px}.new-subtype-form{display:flex;flex-direction:column;gap:24px}.subtype-form-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}.duration-row{display:flex;gap:10px;align-items:center}.duration-value{max-width:120px}.duration-unit{max-width:160px}.segmented-control{display:flex;gap:0;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);overflow:hidden;width:fit-content}.segment-option{cursor:pointer}.segment-option input[type=radio]{display:none}.segment-label{display:flex;align-items:center;justify-content:center;padding:8px 24px;font-size:14px;font-weight:600;border-right:1px solid var(--c-grey-300, #ddd);background:#fff;transition:background .15s,color .15s}.segment-option:last-child .segment-label{border-right:none}.segment-option input[type=radio]:checked+.segment-label{background:var(--c-orange);color:#fff}.form-hint{font-size:12px;color:var(--c-grey-500)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-option{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.upgrades-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--c-grey-200)}.section-title{margin:0 0 12px;font-size:15px;font-weight:700}.upgrade-row{display:grid;grid-template-columns:1fr 180px 36px;gap:10px;align-items:end;margin-bottom:10px}.btn-remove-upgrade{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);color:var(--c-danger);cursor:pointer;font-size:18px}.btn-remove-upgrade:hover{background:var(--c-grey-100)}.params-card{display:flex;flex-direction:column;gap:14px}.params-title{margin:0 0 4px;font-size:16px}.assign-sub-form{display:flex;flex-direction:column;gap:24px}.membership-warning{margin-top:16px;padding:12px 16px;background:#fff7ed;border:1px solid #fb923c;border-left:4px solid #f97316;border-radius:var(--radius-sm);color:#9a3412;font-size:13px;line-height:1.5}.membership-ok{margin-top:16px;padding:12px 16px;background:#f0fdf4;border:1px solid #86efac;border-left:4px solid #22c55e;border-radius:var(--radius-sm);color:#166534;font-size:13px;line-height:1.5}.payment-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.payment-card-body{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--c-grey-200)}.summary-row span:last-child{font-weight:600}.info-banner{margin-top:16px;padding:12px 16px;background:#eff6ff;border:1px solid #93c5fd;border-left:4px solid #2563eb;border-radius:var(--radius-sm);color:#1e3a8a;font-size:13px;line-height:1.5;display:flex;flex-direction:column;gap:4px}.assign-membership-form{display:flex;flex-direction:column;gap:24px}.assign-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.full-width{grid-column:1 / -1}.info-banner{margin-top:8px;padding:12px 16px;background:#eff6ff;border:1px solid #93c5fd;border-left:4px solid #2563eb;border-radius:var(--radius-sm);color:#1e3a8a;font-size:13px;line-height:1.5;display:flex;flex-direction:column;gap:4px}.info-banner strong{font-size:14px}.info-banner.solidarity-banner{background:#fef3c7;border-color:#fcd34d;border-left-color:#d97706;color:#78350f}.checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;line-height:1.5}.checkbox-row input[type=checkbox]{margin-top:2px}.form-help{display:block;margin-top:4px;font-size:12px;color:var(--c-grey-500, #888)}.payment-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--c-grey-200)}.payment-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payment-card{cursor:pointer;display:block}.payment-card input[type=radio]{display:none}.payment-card-content{border:2px dashed var(--c-grey-300, #ddd);border-radius:var(--radius);padding:16px;transition:border-color .15s}.payment-card input[type=radio]:checked+.payment-card-content{border-color:var(--c-orange);border-style:solid}.payment-card-header{display:flex;align-items:center;gap:10px}.payment-icon{font-size:20px}.payment-card-header strong{display:block;font-size:14px}.payment-subtitle{display:block;font-size:12px;color:var(--c-grey-500)}.summary-card{font-size:13px}.summary-title{margin:0 0 14px;font-size:16px}.summary-rows{display:flex;flex-direction:column;gap:10px}.summary-row{display:flex;justify-content:space-between;align-items:center}.summary-row span:first-child{color:var(--c-grey-600)}.summary-row span:last-child{font-weight:600;text-align:right}.summary-divider{border:none;border-top:1px solid var(--c-grey-200);margin:14px 0}.summary-info{padding:12px;background:#f5f5f5;border-radius:var(--radius-sm);color:var(--c-grey-600);font-size:13px;line-height:1.5}.summary-info strong{display:block;margin-bottom:6px}.summary-info ul{margin:0;padding-left:18px}.summary-info li{margin-bottom:2px}.form-error-banner{padding:10px 14px;margin-top:16px;background:#fff7ed;border:1px solid #fb923c;border-left:4px solid #f97316;border-radius:var(--radius-sm, 4px);color:#9a3412;font-size:13px}.installments-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--c-grey-200)}.installment-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.installment-chip{display:inline-flex;align-items:center;padding:8px 16px;border:2px solid var(--c-grey-300, #ddd);border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;color:var(--c-grey-700);transition:all .15s;-webkit-user-select:none;user-select:none}.installment-chip input[type=radio]{display:none}.installment-chip.selected{border-color:var(--c-orange);background:var(--c-orange);color:#fff}.installment-chip:hover:not(.selected){border-color:var(--c-grey-500, #999)}.chip-hint{margin:8px 0 0;font-size:12px;color:var(--c-grey-500, #888);font-style:italic}.referential-page{display:flex;flex-direction:column;gap:16px}.ref-actions{display:flex;gap:8px}.ref-form{display:flex;flex-direction:column;gap:12px}.ref-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.ref-delete-message{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px}.ref-delete-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.ref-delete-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.ref-delete-message-close{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px}.accounts-page .mono{font-family:monospace}.accounts-page .row-actions{display:flex;gap:6px}.accounts-page .info-note{margin-top:16px;padding:12px 16px;border-left:3px solid var(--c-orange);background:var(--c-100);font-size:13px;color:var(--c-600)}.account-detail-page .account-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.account-detail-page .account-name{font-size:16px;margin-top:4px}.account-detail-page .two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.account-detail-page .identifier-box{margin-top:8px;padding:10px 16px;background:var(--c-100);border-radius:10px;display:inline-block}.account-detail-page .identifier-value{font-size:16px;font-weight:700;font-family:monospace}.account-detail-page .security-actions{display:flex;flex-direction:column;gap:8px}.account-detail-page .groups-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.account-detail-page .group-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.muted{color:var(--c-400);font-size:13px}.rgpd-consents-info{margin-top:16px;padding:12px 14px;background:var(--c-grey-100);border-left:3px solid var(--c-grey-400);border-radius:var(--radius-sm);font-size:12px;color:var(--c-grey-700);line-height:1.5}.rgpd-deletions-info{margin-top:16px;padding:12px 14px;background:var(--c-grey-100);border-left:3px solid var(--c-grey-400);border-radius:var(--radius-sm);font-size:12px;color:var(--c-grey-700);line-height:1.5}.action-logs-page .muted{color:var(--c-400);font-size:13px}.purge-modal-body{display:flex;flex-direction:column;gap:16px}.purge-warning{padding:10px 14px;background:#fef3c7;border-left:3px solid var(--c-warn);font-size:13px;border-radius:4px}.purge-modal-actions{display:flex;gap:8px;justify-content:flex-end}.log-object-link{color:var(--c-orange, #f97316);text-decoration:none;font-weight:600}.log-object-link:hover{text-decoration:underline}.filter-group{display:flex;flex-direction:column;gap:6px}.email-logs-page .muted{color:var(--c-400);font-size:13px}.email-logs-page .error-text{color:var(--c-danger);font-size:13px}.email-logs-page .row-error{background-color:#fef2f2}.email-log-viewer{display:flex;flex-direction:column;gap:12px;min-width:600px;max-width:800px}.email-log-meta{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0 0 8px;font-size:13px}.email-log-meta dt{color:var(--c-grey-600);font-weight:500}.email-log-meta dd{margin:0;font-weight:500}.email-log-section-title{font-size:14px;font-weight:600;margin:8px 0 6px;color:var(--c-brown, #3d2914)}.email-log-iframe{width:100%;height:500px;border:1px solid var(--c-grey-300, #d1d5db);border-radius:4px;background:#fff}.email-log-no-content{padding:16px;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;color:#92400e;font-size:13px;margin:0}.stats-page .stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats-filters{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.stats-filters .form-label{margin:0 8px 0 16px}.stats-charts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.bar-row{margin-bottom:10px}.bar-row-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:3px}.bar-track{height:8px;background:var(--c-grey-200);border-radius:4px}.bar-fill{height:100%;background:var(--c-orange);border-radius:4px;transition:width .3s ease}.stats-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gauge-container{display:flex;align-items:center;gap:16px;margin-top:12px}.gauge-ring{position:relative;width:80px;height:80px}.gauge-ring svg{transform:rotate(-90deg)}.gauge-ring .gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700}.revenue-chart-container{margin-top:12px;height:200px}.membership-details{display:flex;flex-direction:column;gap:8px;margin-top:12px}.membership-detail-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--c-grey-200)}.membership-detail-row:last-child{border-bottom:none}.ai-tools-page .page-header{display:flex;justify-content:space-between;align-items:flex-start}.ai-header-buttons{display:flex;gap:10px}.ai-prompt-card .card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ai-prompt-card .card-header-left .card-title{font-size:16px;font-weight:700;letter-spacing:.2px}.ai-prompt-card .card-header-left .card-subtitle{font-size:13px;opacity:.8;margin-top:4px}.ai-prompt-area{width:100%;min-height:80px;border-radius:6px;border:1px solid var(--c-grey-300);padding:12px;line-height:1.35;resize:vertical;font-family:var(--font-sans);font-size:14px;margin-bottom:12px}.ai-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.ai-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#00000005;cursor:pointer;font-size:13px}.ai-chip:hover{background:#0000000a}.ai-hr{height:1px;background:var(--c-grey-300);margin:14px 0}.ai-actions{display:flex;justify-content:flex-end;gap:10px}.ai-options-card{padding:0}.ai-options-header{width:100%;display:flex;align-items:center;gap:8px;padding:14px 18px;background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:700;text-align:left;letter-spacing:.2px;color:inherit}.ai-options-header:hover{background:#00000005}.ai-options-chevron{font-size:12px;width:14px;display:inline-block;text-align:center;color:var(--c-grey-600)}.ai-options-summary{margin-left:auto;font-size:13px;font-weight:400;color:var(--c-grey-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.ai-options-grid{display:grid;gap:14px;padding:0 18px 18px}.ai-options-grid .form-label{font-weight:600;margin-bottom:6px;display:block}.ai-segmented{display:inline-flex;border:1px solid var(--c-grey-300);border-radius:10px;overflow:hidden;background:var(--c-white)}.ai-segmented-item{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;font-size:14px;min-width:44px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--c-white);border:none;border-right:1px solid var(--c-grey-300)}.ai-segmented-item:last-child{border-right:none}.ai-segmented-item.active{background:var(--c-orange);color:var(--c-white)}.ai-period-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ai-period-grid .muted{font-size:12px;color:var(--c-grey-600);margin-bottom:6px}.ai-tip{border:1px solid #E0E7FF;background:#f0f4ff;color:#1e40af;border-radius:var(--radius);padding:12px;margin-top:10px;display:flex;gap:10px;align-items:flex-start;font-size:13px}.ai-tip-title{font-weight:600;margin-bottom:4px}.ai-result-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}.ai-metric-card{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px 12px;background:#00000005}.ai-metric-card .metric-label{font-size:12px;opacity:.75;margin-bottom:6px}.ai-metric-card .metric-value{font-size:16px;font-weight:700}.ai-empty-state{text-align:center;padding:24px;color:var(--c-grey-600)}.ai-spinner{width:32px;height:32px;border:3px solid var(--c-grey-200);border-top-color:var(--c-orange);border-radius:50%;margin:0 auto;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-empty-state .empty-title{font-size:15px;font-weight:600;margin-bottom:8px}.ai-empty-state .empty-subtitle{font-size:13px}.ai-result-summary{background:var(--c-grey-100);border-radius:var(--radius);padding:14px;margin-bottom:14px;font-size:14px}.ai-result-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}.ai-result-table th{background:var(--c-grey-100);text-align:left;padding:8px 10px;font-weight:600;border-bottom:2px solid var(--c-grey-300)}.ai-result-table td{padding:8px 10px;border-bottom:1px solid var(--c-grey-200)}.ai-download-bar{display:flex;justify-content:flex-end;margin-top:14px}.ai-interpretation{margin-top:12px}.ai-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ai-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#00000005;font-size:12.5px;font-weight:600}.ai-kv{margin-bottom:12px}.ai-kv-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--c-grey-200);font-size:13px}.ai-kv-row:last-child{border-bottom:none}.ai-kv-k{font-weight:600;color:var(--c-grey-600)}.ai-history-list{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}.ai-history-row{display:flex;justify-content:space-between;align-items:center;padding:10px;background:var(--c-grey-100);border-radius:var(--radius-sm);font-size:13px}.ai-icon-btn{background:transparent;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:6px 10px;cursor:pointer;font-size:14px}.ai-icon-btn:hover{background:#0000000a}.ai-library-content{padding:0 18px 18px}.editor-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:start}.editor-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.editor-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.editor-textarea{font-family:monospace;min-height:240px;resize:vertical}.editor-actions{display:flex;gap:.5rem;justify-content:flex-end}.editor-sidebar-hint{color:var(--c-text-secondary, #6b7280);font-size:.8rem;margin-bottom:.75rem}.variables-list{display:flex;flex-wrap:wrap;gap:.375rem}.variable-tag{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-family:monospace;background:var(--c-bg-alt, #f3f4f6);border:1px solid var(--c-border, #e5e7eb);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background .15s}.variable-tag:hover{background:var(--c-accent-light, #fef3c7);border-color:var(--c-accent, #f59e0b)}.preview-rendered{background:var(--c-bg-alt, #f9fafb);padding:1rem;border-radius:var(--radius, 8px);white-space:pre-wrap;font-size:.875rem}.new-account-form{display:flex;flex-direction:column;gap:24px}.new-account-form .form-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.new-account-form .form-card-title{margin:0 0 20px;font-size:18px;color:var(--c-black)}.new-account-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.new-account-form .form-group{display:flex;flex-direction:column;gap:4px}.new-account-form .form-label{font-size:13px;font-weight:600;color:var(--c-grey-800)}.new-account-form .form-input,.new-account-form .form-select{padding:8px 12px;border:1px solid var(--c-grey-300, #ddd);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans)}.new-account-form .form-input.input-error{border-color:var(--c-danger)}.new-account-form .form-error{font-size:12px;color:var(--c-danger)}.new-account-form .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.new-account-form .server-error{color:var(--c-danger);font-size:14px;font-weight:600}.new-account-form .form-navigation{display:flex;align-items:center;gap:12px;padding:16px 0}.acl-layout{display:grid;grid-template-columns:320px 1fr;gap:1rem;align-items:start}.acl-left{display:flex;flex-direction:column;gap:1rem}.group-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.group-card{padding:.75rem;border:1px solid var(--c-border, #e5e7eb);border-radius:var(--radius-sm, 4px)}.group-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.group-badge{font-size:.7rem;padding:.125rem .375rem;background:var(--c-bg-alt, #f3f4f6);border-radius:var(--radius-sm, 4px);color:var(--c-text-secondary, #6b7280)}.group-desc{font-size:.8rem;color:var(--c-text-secondary, #6b7280);margin:.25rem 0 .5rem}.acl-hint{font-size:.8rem;color:var(--c-text-secondary, #6b7280);margin-bottom:.75rem}.user-groups{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.user-group-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.acl-table{width:100%;border-collapse:collapse}.acl-table th,.acl-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--c-border, #e5e7eb)}.acl-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--c-text-secondary, #6b7280)}.acl-table td:not(:first-child){text-align:center}.acl-table th:not(:first-child){text-align:center}.acl-section-label{display:block;font-size:.7rem;color:var(--c-text-secondary, #6b7280)}
