.register-panel,.practice-card{margin-bottom:22px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.register-panel__title h2,.register-panel__title p{margin:0 0 5px}.register-panel__title p{color:var(--muted)}.register-filter{display:grid;grid-template-columns:220px minmax(190px,1fr) minmax(190px,1fr) 270px auto;align-items:end;gap:12px;margin-top:18px}.register-preview{margin-bottom:22px}.register-preview-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.register-preview-actions label{display:grid;gap:4px;margin:0;font-size:13px;font-weight:700}.register-preview-actions select{min-width:145px}.register-table .signature-cell{min-width:145px}.register-table tr.is-compressed{background:#fff9dd}.shift-break td{text-align:center;font-weight:800;color:#315174;background:#edf3fa}.blank-row td{height:30px;background:#fff}.practice-card summary{display:grid;cursor:pointer}.practice-card summary span{font-size:20px;font-weight:800}.practice-card summary small{margin-top:4px;color:var(--muted)}.practice-form{margin-top:22px}.form-grid{display:grid;gap:14px}.form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.weekday-picker,.practice-groups fieldset{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:10px}.weekday-picker{display:flex;gap:18px}.weekday-picker label{display:flex;align-items:center;gap:7px;margin:0}.weekday-picker input{width:auto}.practice-groups{display:grid;grid-template-columns:1fr;gap:10px}.practice-list{margin-top:22px}@media(max-width:1400px){.register-filter{grid-template-columns:180px repeat(2,minmax(180px,1fr)) 240px}.register-mode-buttons{grid-column:1/-1}}@media(max-width:900px){.form-grid--4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.register-filter,.form-grid--4{grid-template-columns:1fr}.weekday-picker{align-items:flex-start;flex-direction:column}.register-preview-actions{align-items:stretch;flex-direction:column}}
.workflow-card{margin-bottom:22px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.workflow-card--technical{border-top:5px solid #e58a16}.workflow-card__heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.workflow-card__heading>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;color:#fff;font-size:18px;font-weight:900;background:var(--blue)}.workflow-card__heading h2,.workflow-card__heading p{margin:0 0 4px}.workflow-card__heading p{color:var(--muted)}.create-register,.register-definition{margin-top:12px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f9fbfe}.create-register>summary,.register-definition>summary{cursor:pointer;font-weight:800}.register-create-form,.register-definition form{margin-top:16px}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.class-picker{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.class-picker__grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:14px 0}.class-picker__grid label{display:grid;place-items:center;min-height:45px;margin:0;padding:7px;border:1px solid #cad6e5;border-radius:8px;text-align:center;background:#fff}.class-picker__grid input{width:auto}.class-picker__grid label:has(input:checked){border-color:var(--blue);color:#0753bd;background:#eaf3ff}.class-picker__grid .belongs-elsewhere{opacity:.6}.class-picker__grid small{font-size:9px}.register-definition>summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.register-definition>summary div{display:grid}.register-definition>summary small{color:var(--muted)}.register-definition>summary>span{color:var(--blue);font-size:13px}.practice-list>div{display:grid;grid-template-columns:1fr auto;gap:5px 15px;margin-top:10px;padding:13px;border-radius:9px;background:#fff7dc}.practice-list small{grid-column:1}.practice-list form{grid-column:2;grid-row:1/3}.practice-list form{margin:0}@media(max-width:1100px){.class-picker__grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:700px){.form-grid--2,.class-picker__grid{grid-template-columns:repeat(2,1fr)}}
.vacation-staff-card{border-top:5px solid #16a085}.vacation-staff-filter,.vacation-staff-options{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:16px 0}.vacation-staff-filter label,.vacation-staff-options label{display:grid;gap:5px}.vacation-staff-table{margin-bottom:16px}.vacation-staff-table td:first-child,.vacation-staff-table th:first-child{width:110px;text-align:center}.vacation-staff-table input[type=checkbox]{width:22px;height:22px}.vacation-staff-table select:disabled,.vacation-staff-table input:disabled{opacity:.45}.vacation-week-option{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr;margin:0 0 10px}.vacation-week-option input{width:20px}
.register-mode-buttons{display:flex;align-items:center;gap:9px}.register-mode-buttons .button{min-height:46px;white-space:nowrap}@media(max-width:700px){.register-mode-buttons{align-items:stretch;flex-direction:column}}
.vacation-generator-filter{display:grid;grid-template-columns:minmax(360px,1.3fr) minmax(300px,1fr) auto;align-items:end;gap:14px}.vacation-generator-filter label{display:grid;gap:5px}.vacation-staff-intro{display:grid;gap:4px;margin:22px 0 10px;padding:14px 16px;border-left:5px solid #16a085;border-radius:8px;background:#eaf9f5}.vacation-staff-intro strong{font-size:19px}.vacation-staff-intro span,.vacation-staff-options>span{color:var(--muted)}@media(max-width:900px){.vacation-generator-filter{grid-template-columns:1fr}}
.alert--warning{color:#754500;background:#fff1c9}.alert--warning ul{margin:8px 0 0;padding-left:20px}

.attendance-mode{min-height:100vh;background:#08121d url('/images/orar/attendance-library.png') center/cover fixed no-repeat}.attendance-mode:before{position:fixed;z-index:0;inset:0;content:"";background:linear-gradient(100deg,#06101de8,#0b1420ca 56%,#0a1018b9)}.attendance-mode .app-header,.attendance-mode .app-nav,.attendance-mode .app-main{position:relative;z-index:1}.attendance-mode .app-header{border-bottom:1px solid #ffffff21;background:#07121fc9;box-shadow:none;backdrop-filter:blur(12px)}.attendance-mode .app-nav{border-color:#ffffff1c;background:#111a25d4;backdrop-filter:blur(12px)}.attendance-mode .app-nav a{color:#dae5f0}.attendance-mode .app-nav a:hover{color:#fff}.attendance-mode .page-heading{border:1px solid #ffffff2b;background:linear-gradient(110deg,#176ff2e8,#0753bdda);box-shadow:0 16px 38px #00000045;backdrop-filter:blur(6px)}.attendance-mode .workflow-card,.attendance-mode .table-card{border-color:#ffffff57;background:#fffffff2;box-shadow:0 16px 38px #0000003d;backdrop-filter:blur(8px)}.attendance-mode .create-register,.attendance-mode .register-definition{border-color:#ced8e5;background:#f7f9fced}.attendance-mode .register-filter input,.attendance-mode .register-filter select{background:#fff}.attendance-mode .alert--warning{border:1px solid #f1d28a;box-shadow:0 10px 28px #00000030}.attendance-mode .pagination{color:#fff}@media(max-width:640px){.attendance-mode{background-attachment:scroll;background-position:62% center}}
