@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-primary: #1a3a6b;--color-primary-light: #2a5298;--color-accent: #e07820;--color-accent-light: #f5a040;--cat-sd-header: #2a72c8;--cat-sd-row: #e8f2fc;--cat-sd-text: #1a3a6b;--cat-fs-header: #b89020;--cat-fs-row: #fdf5d8;--cat-fs-text: #5c4400;--cat-rl-header: #d06820;--cat-rl-row: #fef0de;--cat-rl-text: #5c2800;--cat-tl-header: #2a5cb8;--cat-tl-row: #e6edf9;--cat-tl-text: #162a5c;--cat-ra-header: #5a7898;--cat-ra-row: #eaeff5;--cat-ra-text: #2a3a50;--cat-cc-header: #c87020;--cat-cc-row: #feede0;--cat-cc-text: #5c2800;--cat-cd-header: #6a44a0;--cat-cd-row: #f0eaf9;--cat-cd-text: #3a1868;--cat-cp-header: #988020;--cat-cp-row: #f8f2d8;--cat-cp-text: #484000;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--sidebar-width: 240px;--topbar-height: 60px;--border-radius: 8px;--border-radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 2px 8px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--color-error: #dc2626;--color-warning: #d97706;--color-info: #2563eb;--color-success: #16a34a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:var(--font-main);font-size:14px;color:var(--gray-800);background:var(--gray-50);-webkit-font-smoothing:antialiased}#root{height:100%}a{color:var(--color-primary-light);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--color-primary);color:#fff;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;z-index:100;box-shadow:2px 0 12px #00000026}.sidebar-logo{padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-logo-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent-light);line-height:1.3;margin-bottom:2px}.sidebar-logo-subtitle{font-size:11px;color:#fff9}.sidebar-year{padding:10px 16px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#ffffffbf}.sidebar-year select{background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;color:#1e40af;font-size:13px;font-weight:600;padding:6px 10px;width:100%;cursor:pointer;margin-top:4px}.sidebar-year select:focus,.sidebar-year select:hover{background:#fff;color:#1e3a8a;outline:none;border-color:#93c5fd}.sidebar-year select option{background-color:#fff;color:#1e40af;font-weight:600;padding:6px 8px}.sidebar-nav{flex:1;padding:8px 0}.nav-section-label{padding:8px 16px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff6}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:#fffc;cursor:pointer;transition:all .15s ease;font-size:13.5px;font-weight:400;border-left:3px solid transparent;text-decoration:none}.nav-item:hover{background:#ffffff14;color:#fff;text-decoration:none}.nav-item.active{background:#ffffff1f;color:#fff;border-left-color:var(--color-accent-light);font-weight:600}.nav-item svg,.nav-icon{flex-shrink:0;opacity:.8}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{min-height:var(--topbar-height);height:auto;background:#fff;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;padding:0 24px;gap:12px;flex-shrink:0;box-shadow:var(--shadow-sm);flex-wrap:wrap}.topbar-title{font-size:16px;font-weight:600;color:var(--gray-800);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.topbar-year-badge{background:var(--color-primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.manual-button{white-space:nowrap}.manual-page{max-width:1100px;margin:0 auto;scroll-behavior:smooth}.manual-intro{display:flex;align-items:center;gap:18px;margin-bottom:20px;padding:22px}.manual-intro h2,.manual-section h3{margin:0 0 6px}.manual-intro p,.manual-section p{margin:0;color:#475569;line-height:1.55}.manual-icon,.manual-step{display:grid;place-items:center;flex:0 0 auto;border-radius:999px;background:#1d4ed8;color:#fff;font-weight:700}.manual-icon{width:48px;height:48px;font-size:26px}.manual-step{width:32px;height:32px}.manual-index{margin-bottom:18px;padding:18px}.manual-index>strong{display:block;margin-bottom:10px;color:#173766}.manual-index>div{display:flex;flex-wrap:wrap;gap:8px}.manual-index a{padding:7px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;text-decoration:none}.manual-index a:hover,.manual-index a:focus{background:#dbeafe;text-decoration:underline}.manual-list{display:grid;gap:16px}.manual-section{display:flex;align-items:flex-start;gap:14px;padding:20px;scroll-margin-top:90px}.manual-section-content{min-width:0;flex:1}.manual-section h4{margin:17px 0 7px;color:#334155}.manual-section ol,.manual-section ul{margin:0;padding-left:22px;color:#334155;line-height:1.55}.manual-section li+li{margin-top:6px}.manual-notes{margin-top:15px;padding:12px 14px;border-left:4px solid #f59e0b;border-radius:4px;background:#fffbeb;color:#78350f}.manual-notes>strong{display:block;margin-bottom:6px}.manual-notes ul{color:inherit}.manual-section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:16px}.manual-back-link{color:#475569;font-size:12px}@media (max-width: 760px){.manual-section{padding:16px}.manual-step{width:28px;height:28px}.manual-index>div{display:grid}}.activity-plan-page{--calendar-blue: #1d4ed8;--calendar-red: #b91c1c}.activity-plan-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:14px}.activity-plan-header h2{margin:0 0 4px;color:#173766}.activity-plan-header p{margin:0;color:#64748b}.activity-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.activity-view-tabs{display:flex;gap:5px;margin-bottom:12px;overflow-x:auto}.activity-view-tabs button{padding:9px 15px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;cursor:pointer;white-space:nowrap}.activity-view-tabs button.active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.activity-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px;margin-bottom:14px}.activity-filters>input[type=search]{min-width:230px;flex:1}.activity-filters select,.activity-filters input[type=date]{min-height:36px}.activity-filters label{display:flex;align-items:center;gap:5px;color:#64748b;font-size:11px}.annual-sheet-card{overflow:hidden;padding:0}.annual-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #94a3b8;background:#e0f2fe;color:#173766}.annual-sheet-title>div:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.annual-sheet-title span{color:#475569;font-size:12px}.annual-sheet-actions{display:flex;gap:6px;align-items:center}.annual-sheet-scroll{overflow:auto}.annual-sheet{display:grid;min-width:max-content;background:#64748b;gap:1px}.annual-sheet-month{position:sticky;top:0;z-index:3;display:flex;justify-content:center;align-items:baseline;gap:7px;padding:8px 6px;background:#cfc;color:#173766;text-transform:capitalize;font-size:13.5px;font-weight:700}.annual-sheet-month span{font-size:11.5px;font-weight:400;opacity:.85}.annual-sheet-day{display:grid;grid-template-columns:52px minmax(0,1fr);min-height:34px;background:#fff}.annual-sheet-day.invalid{background:#e2e8f0}.annual-sheet-date{display:grid;grid-template-columns:24px 1fr;align-content:start;gap:2px;padding:4px;border-right:1px solid rgba(100,116,139,.35);color:#334155;font-size:10px}.annual-sheet-date strong{font-size:12px}.annual-sheet-date span{text-transform:lowercase}.annual-sheet-events{display:flex;min-width:0;flex-direction:column}.annual-sheet-events button{padding:3px 5px;border:0;border-bottom:1px dotted rgba(51,65,85,.25);background:transparent;color:#0f172a;text-align:left;cursor:pointer;font-size:10px;font-weight:500;line-height:1.3}.annual-sheet-events button:hover{outline:2px solid #1d4ed8;outline-offset:-2px}.annual-toggle-btn{display:inline-block;margin:2px 3px 1px!important;padding:1.5px 6px!important;border:1px dashed #3b82f6!important;border-radius:3px;background:#eff6ff!important;color:#1d4ed8!important;font-size:9px!important;font-weight:700!important;cursor:pointer;text-align:center!important}.annual-toggle-btn:hover{background:#dbeafe!important}.calendar-marker{display:block;padding:3px 5px;border-bottom:1px solid rgba(51,65,85,.35);color:#0f172a;font-size:9.5px;font-weight:900;line-height:1.25;text-transform:uppercase}.annual-ds{padding:0 3px;border-radius:2px;background:#b91c1c;color:#fff;font-weight:800;font-size:9px}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-sunday{background:#ff9}.annual-sheet-day.is-sunday .annual-sheet-date{background:#666;color:#fff}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-training{background:#fce5cd}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-class-council{background:#d0e0e3}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-college{background:#f90}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-department{background:#0ff}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-open-day{background:red}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-monitoring{background:#d9d2e9}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-pcto{background:#d9ead3}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-term{background:#81d41a}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-holiday{background:#fc9}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-vacation{background:#aeebfe}:is(.annual-sheet-day,.monthly-day,.september-event-segment).is-bridge{background:#f9c}.annual-sheet-legend{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 13px;border-top:1px solid #94a3b8;background:#fff}.annual-sheet-legend span{padding:4px 9px;border:1px solid rgba(51,65,85,.35);font-size:9.5px}.legend-sunday{background:#ff9}.legend-term{background:#81d41a}.legend-holiday{background:#fc9}.legend-vacation{background:#aeebfe}.legend-bridge{background:#f9c}.legend-college{background:#f90}.legend-department{background:#0ff}.legend-council{background:#d0e0e3}.legend-open-day{background:red}.legend-ds{background:#b91c1c;color:#fff}.monthly-calendar{overflow:hidden;padding:12px}.monthly-weekdays,.monthly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.monthly-weekdays span{padding:7px;border-bottom:2px solid #173766;color:#475569;text-align:center;font-size:10px;font-weight:800;text-transform:uppercase}.monthly-day{min-width:0;min-height:125px;padding:5px;border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;background:#fff}.monthly-day.invalid{background:#f1f5f9}.monthly-day-number{width:26px;height:24px;margin-bottom:3px;padding:0;border:0;border-radius:50%;background:#ffffffbf;color:#334155;cursor:pointer;font-weight:800}.monthly-more{width:100%;padding:2px;border:0;background:#ffffffbf;color:#1d4ed8;cursor:pointer;font-size:8px}.september-agenda-card{padding:0}.september-agenda-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 16px 8px;color:#173766}.september-agenda-heading>span:last-of-type{text-align:right}.september-agenda-heading h3{grid-column:1/-1;margin:3px 0 0;padding-top:8px;border-top:2px solid #173766;text-align:center;text-transform:uppercase}.september-agenda-scroll{overflow-x:auto}.september-agenda-table{width:100%;min-width:1680px;border-collapse:collapse;font-size:10px}.september-agenda-table th,.september-agenda-table td{padding:7px 8px;border:1px solid #94a3b8;vertical-align:top}.september-agenda-table thead th{background:#173766;color:#fff;text-transform:uppercase;letter-spacing:.03em}.september-period{font-size:12px}.september-period:last-child{background:#7c2d12}.september-agenda-table tbody th{width:58px;background:#dbeafe;color:#173766;text-align:center}.september-date{width:90px;white-space:nowrap}.september-time{width:110px;white-space:nowrap}.september-presenter{width:145px;font-weight:700;color:#334155}.september-mode,.september-director{width:95px}.september-agenda-table .period-start.is-afternoon{border-left:3px solid #c2410c}.september-empty{background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,rgba(148,163,184,.08) 5px,rgba(148,163,184,.08) 10px)}.september-agenda-table tr.alternate-day>:is(th,.september-date,.september-empty),.september-agenda-table tr.alternate-day>.september-event-segment.is-neutral{background-color:#f8fafc}.september-agenda-table tr.alternate-day>th{background-color:#cbd5e1}.september-event-button{width:100%;padding:0;border:0;background:transparent;color:#111827;text-align:left;cursor:pointer;font:inherit}.september-event-button:hover{color:#1d4ed8;text-decoration:underline}.activity-event-chip{display:flex;align-items:flex-start;width:100%;min-width:0;gap:3px;margin:2px 0;padding:3px 4px;border:0;border-left:3px solid #3b82f6;border-radius:3px;background:#eff6ff;color:#1e3a8a;text-align:left;cursor:pointer;font-size:8px}.activity-event-chip.has-director{border-left-color:#b91c1c;background:#fff1f2;color:#881337}.activity-event-chip>strong{flex:0 0 auto}.activity-event-chip>span:not(.activity-badges){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-chip .activity-badges{display:none}.activity-badges{display:inline-flex;flex-wrap:wrap;gap:4px}.activity-badge{padding:2px 5px;border-radius:999px;font-size:8px;font-weight:700}.phase-presence{background:#dcfce7;color:#166534}.phase-online{background:#dbeafe;color:#1e40af}.phase-circular{background:#fef3c7;color:#92400e}.phase-neutral{background:#e2e8f0;color:#475569}.ds-required{background:#fee2e2;color:#991b1b}.ds-greeting{background:#ffedd5;color:#9a3412}.activity-event-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px}.activity-event-detail>div{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:6px;background:#f8fafc}.activity-event-detail strong{color:#64748b;font-size:10px;text-transform:uppercase}.activity-event-detail .activity-badges{grid-column:1/-1}.activity-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.director-event-list>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #e2e8f0}.director-event-date,.director-event-main{padding:11px 13px;border:0;background:#fff;text-align:left;cursor:pointer}.director-event-date{display:flex;flex-direction:column;color:#334155}.director-event-date span{color:#64748b;font-size:10px}.director-event-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.director-event-main>strong{color:#173766}.calendar-navigation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.calendar-navigation>strong{min-width:240px;color:#173766;text-align:center;text-transform:capitalize}.week-scroll{overflow-x:auto;padding-bottom:6px}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));min-width:1260px;gap:5px}.week-calendar>section{min-width:0}.week-calendar>section>h3{margin:0;padding:8px;background:#173766;color:#fff;text-align:center;text-transform:capitalize;font-size:11px}.timeline-day{min-width:0}.all-day-zone{min-height:70px;padding:5px;border:1px solid #dbe3ee;background:#f8fafc}.all-day-zone>strong{display:block;margin-bottom:3px;color:#64748b;font-size:8px;text-transform:uppercase}.timeline-track{position:relative;height:900px;margin-left:34px;border:1px solid #dbe3ee;background:#fff}.timeline-hour{position:absolute;left:0;right:0;height:1px;border-top:1px solid #e2e8f0}.timeline-hour span{position:absolute;right:calc(100% + 4px);top:-6px;color:#94a3b8;font-size:8px}.timeline-event{position:absolute;z-index:2;overflow:hidden;padding:3px;border:1px solid #93c5fd;border-left:3px solid #2563eb;border-radius:4px;background:#dbeafe;color:#1e3a8a;text-align:left;cursor:pointer;font-size:8px}.timeline-event.has-director{border-color:#fca5a5;border-left-color:#b91c1c;background:#fee2e2;color:#7f1d1d}.timeline-event>strong,.timeline-event>span:not(.activity-badges){display:block}.timeline-event .activity-badges{margin-top:2px}.daily-calendar{max-width:900px;margin:0 auto;padding:16px}.daily-calendar>h2{text-align:center;text-transform:capitalize}.timeline-day.wide .all-day-zone{min-height:85px}.timeline-day.wide .timeline-track{margin-left:48px}.timeline-day.wide .timeline-event{padding:5px 7px;font-size:10px}.import-mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.import-mode-choice label{display:flex;flex-direction:column;gap:4px;padding:11px;border:1px solid #cbd5e1;border-radius:7px;cursor:pointer}.import-mode-choice label.selected{border-color:#2563eb;background:#eff6ff}.import-mode-choice label.danger.selected{border-color:#dc2626;background:#fef2f2}.import-mode-choice input{align-self:flex-start}.import-mode-choice span{color:#64748b;font-size:10px}.preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:9px 0}.preview-kpis span{display:flex;flex-direction:column;padding:7px;border-radius:5px;background:#f1f5f9;color:#64748b;font-size:9px}.preview-kpis strong{color:#173766;font-size:17px}.import-preview details{margin:8px 0;padding:8px;border:1px solid #e2e8f0;border-radius:5px}.import-preview summary{cursor:pointer;font-weight:700}.import-preview details p,.possible-change{margin:5px 0;color:#475569;font-size:10px}.possible-change{display:flex;flex-direction:column;padding:5px;background:#fffbeb}@media (max-width: 900px){.activity-plan-header{align-items:flex-start;flex-direction:column}.activity-actions{justify-content:flex-start}.activity-kpis{grid-template-columns:1fr 1fr}.director-event-list>div{grid-template-columns:130px 1fr}.preview-kpis{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.annual-sheet-title{align-items:flex-start;flex-direction:column}.activity-event-chip{font-size:7px}.monthly-calendar{overflow-x:auto}.monthly-weekdays,.monthly-grid{min-width:720px}.activity-event-detail,.import-mode-choice{grid-template-columns:1fr}.director-event-list>div{grid-template-columns:1fr}.director-event-date{padding-bottom:3px}.activity-filters>*{width:100%}.activity-filters label{justify-content:space-between}}@media print{@page{size:A3 landscape;margin:6mm 8mm}html,body,#root{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.topbar,.activity-actions,.activity-view-tabs,.activity-filters,.calendar-navigation,.manual-button,.export-toolbar,.annual-sheet-actions{display:none!important}.app-layout,.main-content,.page-content,.activity-plan-page{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.app-layout{display:block!important}.activity-plan-header{box-shadow:none;border:0;padding:0 0 2mm}.activity-plan-page .annual-sheet-events button,.activity-plan-page .calendar-marker{display:block!important;color:#000!important}.activity-plan-page .activity-event-chip{display:flex!important}.activity-plan-page .timeline-event{display:block!important}.activity-plan-page .director-event-date,.activity-plan-page .director-event-main{display:flex!important}.activity-plan-page .monthly-day-number{display:block!important}.activity-plan-page .annual-sheet-card{border:.35mm solid #475569!important;box-shadow:none!important;margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:avoid!important;break-after:avoid!important}.annual-sheet-scroll{overflow:visible!important;width:100%!important;max-width:100%!important}.annual-sheet{width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(var(--months-count, 10),minmax(0,1fr))!important;gap:.35mm!important;background:#475569!important;box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important}.annual-sheet-title{display:flex!important;align-items:center!important;justify-content:center!important;padding:1.5mm 0 2mm!important;background:transparent!important;border:none!important;text-align:center!important}.annual-sheet-title strong{font-size:14pt!important;color:#173766!important;letter-spacing:.05em!important;text-transform:uppercase!important}.annual-sheet-title span,.annual-sheet-actions{display:none!important}.annual-sheet-month{position:static!important;padding:1.8mm .5mm!important;font-size:10pt!important;font-weight:800!important;background:#cfc!important;color:#173766!important;text-align:center!important;border:.2mm solid #334155!important}.annual-sheet-month span{display:inline-block!important;margin-left:4px!important;font-size:8.5pt!important;font-weight:600!important;color:#334155!important}.annual-sheet-day{grid-template-columns:10mm minmax(0,1fr)!important;min-height:9.8mm!important;max-height:12.2mm!important;overflow:hidden!important;box-sizing:border-box!important;border:.15mm solid #cbd5e1!important;page-break-inside:avoid!important;break-inside:avoid!important}.annual-sheet-date{display:flex!important;align-items:center!important;justify-content:center!important;gap:1.5mm!important;padding:.2mm .5mm!important;font-size:8pt!important;font-weight:700!important;color:#000!important;border-right:.25mm solid #64748b!important;white-space:nowrap!important;overflow:hidden!important}.annual-sheet-date strong{font-size:9.5pt!important;font-weight:800!important;color:#000!important}.annual-sheet-date span{font-size:7.5pt!important;text-transform:capitalize!important;color:#334155!important;font-weight:600!important}.annual-sheet-events{display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;padding:.2mm!important}.annual-sheet-events button{display:block!important;width:100%!important;padding:.35mm .6mm!important;font-size:7.8pt!important;line-height:1.22!important;font-weight:600!important;color:#000!important;border:0!important;border-bottom:.15mm dotted rgba(0,0,0,.3)!important;background:transparent!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important}.annual-sheet-events button strong{font-weight:800!important;color:#000!important}.annual-sheet-events .annual-toggle-btn{display:none!important}.activity-plan-page .calendar-marker{display:block!important;width:100%!important;padding:.35mm .6mm!important;font-size:7.5pt!important;line-height:1.2!important;font-weight:800!important;color:#000!important;text-transform:uppercase!important;border-bottom:.2mm solid rgba(0,0,0,.35)!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important}.annual-sheet-legend{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:2.5mm 4.5mm!important;padding:2.5mm 0 0!important;border-top:.35mm solid #94a3b8!important;background:transparent!important}.annual-sheet-legend span{padding:.8mm 2.5mm!important;border:.25mm solid #64748b!important;font-size:7.8pt!important;font-weight:700!important;color:#000!important}.monthly-calendar{padding:2mm}.monthly-day{min-height:25mm;padding:1mm}.monthly-weekdays span{padding:1mm;font-size:6pt}.monthly-day-number{width:5mm;height:5mm;font-size:6pt}.monthly-day .activity-event-chip{font-size:5pt}.september-agenda-card{border:none!important;box-shadow:none!important;margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;overflow:visible!important;background:transparent!important;page-break-inside:auto!important;break-inside:auto!important}.september-agenda-heading{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:4mm!important;padding:0 0 2mm!important;margin-bottom:2.5mm!important;border-bottom:.5mm solid #173766!important}.september-agenda-heading strong{font-size:11pt!important;font-weight:800!important;color:#173766!important}.september-agenda-heading span{font-size:8.5pt!important;font-weight:600!important;color:#475569!important}.september-agenda-heading h3{grid-column:1/-1!important;margin:1.5mm 0 0!important;padding-top:1.5mm!important;border-top:.25mm solid #cbd5e1!important;text-align:center!important;font-size:12.5pt!important;font-weight:800!important;color:#173766!important;text-transform:uppercase!important}.september-agenda-scroll{overflow:visible!important;width:100%!important;max-width:100%!important}.september-agenda-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:8pt!important;page-break-inside:auto!important;break-inside:auto!important}.september-agenda-table thead{display:table-header-group!important}.september-agenda-table tbody{display:table-row-group!important}.september-agenda-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.september-agenda-table th,.september-agenda-table td{padding:1.6mm 1.8mm!important;border:.25mm solid #64748b!important;box-sizing:border-box!important;vertical-align:top!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;line-height:1.25!important}.september-agenda-table thead th{background-color:#173766!important;color:#fff!important;font-size:7.5pt!important;font-weight:800!important;text-transform:uppercase!important;text-align:center!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.september-agenda-table thead .september-period{font-size:9pt!important;font-weight:800!important;letter-spacing:.04em!important}.september-agenda-table thead .september-period:last-child{background-color:#7c2d12!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.september-agenda-table tbody th{width:3.5%!important;font-size:7.5pt!important;font-weight:800!important;text-align:center!important;background-color:#dbeafe!important;color:#173766!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.september-date{width:5.5%!important;font-size:7.5pt!important;font-weight:700!important;text-align:center!important;white-space:nowrap!important}.september-time{width:6.5%!important;font-size:7.5pt!important;font-weight:700!important;text-align:left!important;white-space:nowrap!important}.september-presenter{width:9%!important;font-size:7.5pt!important;font-weight:600!important;color:#1e293b!important}.september-mode,.september-director{width:5%!important;font-size:7pt!important;text-align:center!important}.september-event-button{display:block!important;width:100%!important;padding:0!important;border:none!important;background:transparent!important;color:#000!important;font-size:8pt!important;font-weight:600!important;line-height:1.25!important;text-align:left!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;cursor:default!important}.september-agenda-table .period-start.is-afternoon{border-left:1.5pt solid #c2410c!important}.september-empty{background-color:#f8fafc!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.september-agenda-table tr.alternate-day>:is(th,.september-date,.september-empty),.september-agenda-table tr.alternate-day>.september-event-segment.is-neutral{background-color:#f1f5f9!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.september-agenda-table tr.alternate-day>th{background-color:#cbd5e1!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.september-agenda-card .annual-sheet-legend{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:1.5mm 3.5mm!important;padding:2mm 0 0!important;margin-top:2.5mm!important;border-top:.35mm solid #94a3b8!important;background:transparent!important;page-break-inside:avoid!important;break-inside:avoid!important}.september-agenda-card .annual-sheet-legend span{padding:.8mm 2mm!important;border:.2mm solid #64748b!important;font-size:7pt!important;font-weight:700!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.week-scroll{overflow:visible}.week-calendar{min-width:0;grid-template-columns:repeat(7,1fr)}.timeline-track{height:900px}.activity-plan-page{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.activity-data-tools{scroll-margin-top:90px}.activity-data-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}.activity-data-layout h4,.import-preview h4{margin:0 0 10px;color:#173766}.activity-data-import,.activity-data-export{padding:14px;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc}.activity-file-picker{display:flex;flex-direction:column;gap:6px;margin:12px 0}.activity-file-picker input{padding:9px;border:1px dashed #94a3b8;background:#fff}.activity-file-picker small,.activity-data-export small{color:#64748b;line-height:1.45}.activity-data-export p{color:#475569;font-size:12px}.activity-export-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0}.activity-data-success{margin-top:12px;padding:10px 12px;border-radius:6px;background:#dcfce7;color:#166534}.activity-calendar-model{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1fr) auto;gap:14px;align-items:end;margin-top:16px;padding:14px;border:1px solid #bae6fd;border-radius:8px;background:#f0f9ff}.activity-calendar-model h4{margin:0 0 5px;color:#173766}.activity-calendar-model p{margin:0;color:#475569;font-size:11px;line-height:1.45}.activity-calendar-model .activity-file-picker{margin:0}.calendar-marker-preview{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding-top:10px;border-top:1px solid #bae6fd}.calendar-marker-preview strong{color:#173766}.calendar-marker-preview span{flex:1;color:#475569;font-size:11px}.activity-danger-zone{margin-top:18px;padding:12px;border:1px solid #fecaca;border-radius:7px;background:#fff7f7}.activity-danger-zone summary{color:#991b1b;cursor:pointer;font-weight:700}.activity-danger-zone p{color:#7f1d1d;font-size:11px}@media (max-width: 800px){.activity-data-layout,.activity-calendar-model{grid-template-columns:1fr}.calendar-marker-preview{grid-column:1}}.teaching-assignments-page{display:grid;gap:14px}.teaching-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.teaching-kpis>div{display:flex;flex-direction:column;padding:13px 15px;border:1px solid #dbe3ee;border-radius:8px;background:#fff}.teaching-kpis strong{color:#1a3a6b;font-size:22px}.teaching-kpis span{color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.teaching-kpis .kpi-warning{border-color:#fdba74;background:#fff7ed}.teaching-view-tabs{display:flex;gap:5px;padding:5px;border-radius:8px;background:#e7edf6}.teaching-view-tabs button{padding:8px 13px;border:0;border-radius:6px;background:transparent;color:#475569;font-weight:700;cursor:pointer}.teaching-view-tabs button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 4px #0f172a1f}.teaching-filter-bar{padding:10px;border:1px solid #dbe3ee;border-radius:8px;background:#fff}.teaching-filter-bar input{min-width:250px;flex:1}.teaching-filter-bar select{max-width:230px}.teaching-master-detail{display:grid;grid-template-columns:265px minmax(0,1fr);gap:12px;align-items:start}.teaching-choice-list{max-height:640px;overflow-y:auto;border:1px solid #dbe3ee;border-radius:8px;background:#fff}.teaching-choice-list button{display:flex;width:100%;flex-direction:column;gap:2px;padding:9px 11px;border:0;border-bottom:1px solid #eef2f7;background:#fff;text-align:left;cursor:pointer}.teaching-choice-list button:nth-child(2n){background:#f8fafc}.teaching-choice-list button:hover,.teaching-choice-list button.selected{background:#dbeafe}.teaching-choice-list strong{color:#243b60;font-size:11px}.teaching-choice-list span{color:#64748b;font-size:9px}.teaching-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid #dbe3ee;border-radius:8px 8px 0 0;background:#fff}.teaching-detail-title h3,.teaching-detail-title p{margin:0}.teaching-detail-title h3{color:#1a3a6b;font-size:16px}.teaching-detail-title p{margin-top:4px;color:#64748b;font-size:10px}.teaching-detail-title>strong{color:#1d4ed8;font-size:18px}.teaching-hour-breakdown{display:flex;gap:8px;padding:8px 12px;border:solid #dbe3ee;border-width:0 1px;background:#f8fafc}.teaching-hour-breakdown span{padding:3px 8px;border-radius:10px;background:#fff;color:#475569;font-size:9px}.teaching-table-container{max-height:570px;overflow:auto;border-radius:0 0 8px 8px}.teaching-assignment-table{min-width:760px}.teaching-assignment-table thead th{position:sticky;top:0;z-index:2}.teaching-assignment-table tbody tr:nth-child(2n) td{background:#f8fafc}.data-link{padding:0;border:0;background:transparent;color:#1d4ed8;font-weight:700;cursor:pointer;text-align:left}.subject-marker{display:flex;flex-direction:column;padding-left:7px;border-left:3px solid}.subject-marker strong{font-size:10px}.subject-marker small{color:#64748b;font-size:8px}.activity-badge,.match-status{display:inline-flex;padding:3px 7px;border-radius:10px;font-size:8px;font-weight:800}.activity-teoria{background:#dbeafe;color:#1e40af}.activity-laboratorio{background:#dcfce7;color:#166534}.activity-codocenza{background:#f3e8ff;color:#7e22ce}.teacher-unassigned,.unassigned-total{color:#b45309;font-weight:800}.teacher-unknown{color:#b91c1c;font-weight:800}.unassigned-total{padding:5px 8px;border-radius:11px;background:#ffedd5;font-size:9px!important}.source-import p{color:#64748b;font-size:10px}.source-file-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.source-file-grid label{padding:8px;border:1px solid #dbe3ee;border-radius:7px;background:#f8fafc}.source-file-grid span{display:block;min-height:24px;font-size:9px;font-weight:700}.source-file-grid input{max-width:100%;font-size:9px}.diagnostic-kpis{display:flex;flex-wrap:wrap;gap:8px}.diagnostic-kpis span{padding:7px 10px;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#475569;font-size:9px}.diagnostics-panel h3{margin:16px 0 8px;color:#1a3a6b;font-size:13px}.diagnostic-list{display:grid;gap:6px}.diagnostic-list>div{display:grid;grid-template-columns:220px 1fr;gap:5px 10px;padding:8px 10px;border-left:4px solid #f59e0b;background:#fff;font-size:9px}.diagnostic-list code{grid-column:1/-1;white-space:pre-wrap;color:#64748b}.diagnostic-error{border-left-color:#dc2626!important}.diagnostic-match-table{min-width:900px}.match-exact{background:#dcfce7;color:#166534}.match-normalized,.match-alias{background:#fef3c7;color:#92400e}.match-unassigned{background:#ffedd5;color:#9a3412}.match-not_found{background:#fee2e2;color:#991b1b}.ignored-value{color:#94a3b8;font-style:italic}@media (max-width:900px){.teaching-kpis{grid-template-columns:1fr 1fr}.teaching-master-detail{grid-template-columns:1fr}.teaching-choice-list{max-height:230px}.source-file-grid{grid-template-columns:1fr}.teaching-view-tabs{overflow-x:auto}.teaching-view-tabs button{white-space:nowrap}.teaching-filter-bar input{min-width:180px}.diagnostic-list>div{grid-template-columns:1fr}}.teaching-cdc-view{display:flex;flex-direction:column;gap:14px}.cdc-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cdc-quick-nav{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc;overflow-x:auto}.cdc-quick-nav-label{font-size:11px;font-weight:700;color:#475569;white-space:nowrap}.cdc-pills{display:flex;flex-wrap:wrap;gap:6px}.cdc-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:11px;cursor:pointer;transition:all .15s ease}.cdc-pill strong{color:#1e3a8a}.cdc-pill span{padding:1px 5px;border-radius:999px;background:#e2e8f0;font-size:9.5px;font-weight:700;color:#475569}.cdc-pill:hover{border-color:#3b82f6;background:#eff6ff}.cdc-pill.active{border-color:#2563eb;background:#1e40af;color:#fff}.cdc-pill.active strong{color:#fff}.cdc-pill.active span{background:#ffffff40;color:#fff}.cdc-group-card{overflow:hidden;padding:0;border:1px solid #cbd5e1;border-radius:9px;background:#fff;box-shadow:0 1px 3px #0000000d}.cdc-group-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#f8fafc,#edf2f7);cursor:pointer;-webkit-user-select:none;user-select:none}.cdc-group-header:hover{background:#edf2f7}.cdc-group-title{display:flex;align-items:center;gap:12px}.cdc-code-badge{display:inline-block;padding:5px 10px;border-radius:6px;background:#1e3a8a;color:#fff;font-size:13px;font-weight:800;letter-spacing:.05em}.cdc-group-title h4{margin:0;font-size:14px;color:#0f172a;font-weight:700}.cdc-meta{margin:2px 0 0;font-size:11px;color:#64748b}.cdc-total-badge{padding:4px 9px;border-radius:6px;background:#e0f2fe;color:#0369a1;font-size:11px;font-weight:700}.cdc-table-container{overflow-x:auto}.cdc-assignment-table{width:100%;min-width:850px;border-collapse:collapse;font-size:11.5px}.cdc-assignment-table th{background:#f1f5f9;color:#334155;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:9px 12px;border-bottom:2px solid #cbd5e1}.cdc-assignment-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.cdc-assignment-table tbody tr:hover td{background:#f0f7ff}.cdc-assignment-table tbody tr.row-unassigned td{background:#fffbeb}.progressive-cell{font-size:11.5px;color:#475569;text-align:center}.teacher-cell{font-size:12.5px}.teacher-name-link{font-size:12.5px;font-weight:700;color:#1d4ed8;text-align:left}.teacher-name-link:hover{text-decoration:underline;color:#1e40af}.badge-unassigned{display:inline-block;padding:3px 8px;border-radius:4px;background:#fef3c7;color:#92400e;font-size:10.5px;font-weight:700}.chair-cell code{display:inline-block;padding:3px 7px;border-radius:4px;background:#f1f5f9;border:1px solid #cbd5e1;color:#0f172a;font-weight:700;font-size:11.5px;font-family:ui-monospace,monospace}.class-tag-list{display:flex;flex-wrap:wrap;gap:4px}.class-chip{display:inline-block;padding:2px 6px;border-radius:3px;background:#e0f2fe;color:#0369a1;font-size:10px;font-weight:700}.subjects-text{font-size:11px;color:#334155}.hours-sub{display:block;font-size:9.5px;color:#64748b;font-weight:600;margin-top:1px}@media (max-width: 900px){.cdc-group-header{flex-direction:column;align-items:flex-start;gap:8px}.cdc-group-title{flex-direction:column;align-items:flex-start;gap:6px}.cdc-quick-nav{flex-direction:column;align-items:flex-start}}.class-coordinator-editor{display:grid;grid-column:1/-1;grid-template-columns:minmax(180px,1fr) auto;gap:7px;align-items:center;padding:9px 12px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff}.class-coordinator-label{grid-column:1/-1;color:#64748b;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.class-coordinator-editor select{width:100%}.class-coordinator-error{grid-column:1/-1;color:#b91c1c}.class-coordinator-help{grid-column:1/-1;color:#475569}.integration-api-intro{color:#64748b;font-size:11px;line-height:1.6}.integration-api-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.integration-api-grid label{padding:9px;border:1px solid #dbe3ee;border-radius:7px;background:#f8fafc}.integration-api-grid strong{display:block;min-height:25px;color:#334155;font-size:9px}.integration-api-grid input{max-width:100%;font-size:9px}.integration-import-result{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding:9px 11px;border:1px solid #86efac;border-radius:7px;background:#f0fdf4;color:#166534;font-size:10px}.integration-export-list{display:grid;gap:6px;margin-top:12px}.integration-export-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid #e2e8f0;border-radius:6px}.integration-export-list span,.integration-export-list strong,.integration-export-list small{display:block}.integration-export-list strong{color:#334155;font-size:10px}.integration-export-list small{margin-top:2px;color:#64748b;font-size:8px}@media (max-width:900px){.integration-api-grid,.class-coordinator-editor{grid-template-columns:1fr}.integration-export-list>div{align-items:stretch;flex-direction:column}}.topbar-search{display:flex;align-items:center;gap:8px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:20px;padding:6px 14px;min-width:280px;transition:all .2s}.topbar-search:focus-within{background:#fff;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2a52981a}.topbar-search input{border:none;background:transparent;outline:none;font-size:13.5px;width:100%;color:var(--gray-800)}.page-content{flex:1;overflow-y:auto;padding:24px}.card-table{overflow:visible}.card{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200);overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:10px}.card-title{font-size:14px;font-weight:600;color:var(--gray-700);margin:0}.card-body{padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200);padding:20px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-color, var(--color-accent))}.stat-value{font-size:28px;font-weight:800;color:var(--gray-900);line-height:1;margin-bottom:4px}.stat-label{font-size:12px;color:var(--gray-500);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.stat-icon{position:absolute;top:16px;right:16px;opacity:.12;font-size:32px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}table.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:10px 12px;background:var(--gray-50);border-bottom:2px solid var(--gray-200);font-weight:600;color:var(--gray-600);font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.data-table td{padding:10px 12px;border-bottom:1px solid var(--gray-100);vertical-align:top}.data-table tr:hover td{background:var(--gray-50)}.data-table tr:last-child td{border-bottom:none}.historic-view{font-size:12px;padding:0}.historic-header{background:var(--color-primary);color:#fff;text-align:center;padding:12px 16px}.historic-header-title{font-size:15px;font-weight:700;letter-spacing:.02em}.historic-header-subtitle{font-size:11px;opacity:.8;margin-top:2px}.update-preview{display:grid;gap:14px;margin-top:16px}.preview-kpis,.group-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.preview-kpis span,.group-summary span{display:flex;flex-direction:column;padding:10px;border:1px solid #dbe3ee;border-radius:7px;background:#f8fafc;color:#64748b;font-size:10px}.preview-kpis b,.group-summary b{margin-top:3px;color:#17365d;font-size:17px}.preview-diff-table{max-height:430px;overflow:auto}.preview-confirm{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;border-top:1px solid #e2e8f0;color:#475569;font-size:11px}.class-groups-view{display:grid;gap:14px}.group-control-card .card-body{display:flex;justify-content:space-between;align-items:center;gap:20px}.group-control-card h3{margin:0;color:#17365d}.group-control-card p{margin:5px 0 0;color:#64748b;font-size:12px}.group-generate-controls{display:flex;align-items:end;gap:9px}.group-generate-controls label{display:flex;flex-direction:column;gap:3px;color:#64748b;font-size:10px}.group-generate-controls input{width:120px;padding:8px;border:1px solid #cbd5e1;border-radius:5px}.group-mode{padding:10px 12px;border:1px solid #86efac;border-radius:7px;background:#f0fdf4;color:#166534;font-size:12px}.mode-combinazioni_candidate{border-color:#fcd34d;background:#fffbeb;color:#92400e}.group-export-actions{display:flex;justify-content:flex-end;gap:8px}.group-table{min-width:1050px}.group-report{display:grid;gap:16px}.group-report-card{overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#fff;break-inside:avoid}.group-report-card>header,.group-report-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f1f5f9}.group-report-card>header{border-bottom:1px solid #cbd5e1}.group-report-card>footer{border-top:1px solid #e2e8f0;color:#475569;font-size:12px}.group-report-card>header h3{margin:0;color:#17365d;font-size:18px}.group-report-card>header div>span{color:#64748b;font-size:11px}.group-report-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.group-report-classes article{min-width:0;padding:13px;border-right:1px solid #e2e8f0}.group-report-classes article:last-child{border-right:0}.group-report-classes h4{margin:0 0 9px;padding-bottom:7px;border-bottom:2px solid #17365d;color:#17365d;font-size:15px}.group-report-teachers{display:flex;flex-direction:column;gap:4px}.group-report-teachers span{line-height:1.3;font-size:11px}.teacher-no-conflict{color:#111827}.teacher-conflict{color:#dc2626;font-weight:700}.teacher-empty{color:#94a3b8;font-style:italic}.group-rating{display:inline-block;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.rating-ottimo{background:#dcfce7;color:#166534}.rating-buono{background:#dbeafe;color:#1e40af}.rating-da-verificare{background:#fef3c7;color:#92400e}.rating-critico{background:#fee2e2;color:#991b1b}.group-detail-card .card-header{display:flex;align-items:center;justify-content:space-between}.group-detail-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.group-detail-classes>div{padding:10px;border:1px solid #dbe3ee;border-radius:7px;background:#f8fafc}.group-detail-classes strong,.group-detail-classes span{display:block}.group-detail-classes span{margin-top:5px;color:#475569;font-size:10px;line-height:1.45}.conflict-matrix{border-collapse:collapse}.conflict-matrix th,.conflict-matrix td{min-width:70px;padding:7px;border:1px solid #dbe3ee;text-align:center;font-size:11px}.conflict-matrix th{background:#f1f5f9;color:#334155}.group-score-line{padding:9px;border-radius:6px;background:#eff6ff;color:#1e3a8a;font-weight:600;font-size:11px}@media (max-width: 900px){.group-control-card .card-body,.preview-confirm{align-items:stretch;flex-direction:column}.group-detail-classes,.group-report-classes{grid-template-columns:1fr}.group-report-classes article{border-right:0;border-bottom:1px solid #e2e8f0}.group-report-classes article:last-child{border-bottom:0}}@media print{.group-control-card,.group-export-actions,.group-detail-card,.group-diagnostics-card,.teaching-view-tabs{display:none!important}.class-groups-view .table-container{overflow:visible}.group-table{min-width:0;font-size:8px}}.organigramma-legal-reference{margin-top:10px;padding:9px 14px;border:2px solid #d97706;border-radius:8px;background:#fff7d6;color:#713f12;font-size:13px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.organigramma-legal-reference-line{display:flex;align-items:center;justify-content:center;gap:10px}.organigramma-legal-reference-label{padding-right:10px;border-right:1px solid #d97706;font-size:10px}.organigramma-proposal-note{max-width:1100px;margin:7px auto 0;padding-top:7px;border-top:1px solid #e5a93d;font-size:10px;font-weight:650;line-height:1.35;letter-spacing:0;text-transform:none}@media (max-width: 720px){.organigramma-legal-reference-line{flex-direction:column;gap:4px}.organigramma-legal-reference-label{padding-right:0;border-right:0}}.historic-section{margin-bottom:2px}.historic-section-header{padding:8px 12px;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.historic-section-header .toggle-icon{font-size:10px;transition:transform .2s}.historic-section-header.collapsed .toggle-icon{transform:rotate(-90deg)}.historic-table{width:100%;border-collapse:collapse}.historic-table th{font-size:11px;font-weight:600;padding:6px 10px;text-align:left;border-bottom:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.06);background:#0000000d}.historic-table td{padding:7px 10px;border-bottom:1px solid rgba(0,0,0,.06);border-right:1px solid rgba(0,0,0,.04);vertical-align:top;line-height:1.4}.historic-table td.code-cell{font-family:Courier New,monospace;font-size:11px;font-weight:600;white-space:nowrap;width:80px}.historic-table td.persons-cell{color:var(--color-primary);font-weight:500}.historic-table td.hours-cell{text-align:right;white-space:nowrap;width:60px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.badge-primary{background:var(--color-primary);color:#fff}.badge-accent{background:var(--color-accent);color:#fff}.badge-gray{background:var(--gray-200);color:var(--gray-700)}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--border-radius);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:none;outline:none;white-space:nowrap;text-decoration:none}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-primary);color:#fff}.btn-accent{background:var(--color-accent);color:#fff}.btn-ghost{background:transparent;color:var(--gray-600);border:1px solid var(--gray-300)}.btn-ghost:hover{background:var(--gray-100)}.btn-danger{background:var(--color-error);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--border-radius);padding:8px 14px;transition:border-color .2s,box-shadow .2s}.search-bar:focus-within{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2a529814}.search-bar input{border:none;background:transparent;outline:none;font-size:14px;flex:1;color:var(--gray-800)}.filters-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filter-select{background:#fff;border:1px solid var(--gray-200);border-radius:var(--border-radius);padding:7px 12px;font-size:13px;color:var(--gray-700);cursor:pointer;outline:none;transition:border-color .15s}.filter-select:focus{border-color:var(--color-primary-light)}.person-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);padding:16px;cursor:pointer;transition:all .2s;display:flex;gap:14px}.person-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow);transform:translateY(-1px)}.person-avatar{width:44px;height:44px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;flex-shrink:0}.person-info .name{font-weight:600;color:var(--gray-800);margin-bottom:4px}.person-info .meta{font-size:12px;color:var(--gray-500);display:flex;gap:10px;flex-wrap:wrap}.quality-issue{display:flex;gap:12px;padding:10px 14px;border-radius:var(--border-radius);margin-bottom:6px;align-items:flex-start;border-left:3px solid}.quality-issue.error{background:#fef2f2;border-color:var(--color-error)}.quality-issue.warning{background:#fffbeb;border-color:var(--color-warning)}.quality-issue.info{background:#eff6ff;border-color:var(--color-info)}.quality-issue .icon{font-size:14px;flex-shrink:0;margin-top:1px}.quality-issue .message{font-size:13px;color:var(--gray-800)}.quality-issue .code{font-size:11px;color:var(--gray-500);font-family:monospace;margin-top:2px}.chart-wrapper{position:relative;height:220px;width:100%}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--gray-400);gap:10px}.spinner{width:20px;height:20px;border:2px solid var(--gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--gray-400)}.empty-state h3{margin:10px 0 6px;font-size:16px;color:var(--gray-600)}.empty-state p{font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}}.modal{background:#fff;border-radius:var(--border-radius-lg);box-shadow:0 20px 60px #0003;max-width:680px;width:100%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:12px}.modal-title{font-size:15px;font-weight:700;flex:1}.modal-close{background:none;border:none;cursor:pointer;color:var(--gray-400);font-size:20px;padding:4px;transition:color .15s}.modal-close:hover{color:var(--gray-700)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.tabs{display:flex;border-bottom:2px solid var(--gray-200);gap:0;margin-bottom:20px}.tab{padding:10px 18px;font-size:13.5px;font-weight:500;cursor:pointer;color:var(--gray-500);border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-2px}.tab:hover{color:var(--gray-700)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}@media print{.sidebar,.topbar,.btn,.tabs{display:none!important}.page-content{padding:0;overflow:visible}.historic-view{font-size:10px}.print-header{display:block!important;text-align:center;padding:10px 0;border-bottom:2px solid #000;margin-bottom:10px}.historic-section{page-break-inside:avoid}.historic-table th{background:#e0e0e0!important;-webkit-print-color-adjust:exact}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#0f2748,#2a5298)}.auth-card{width:min(420px,100%);box-sizing:border-box;padding:30px;background:#fff;border-radius:14px;box-shadow:0 24px 70px #00000047;display:flex;flex-direction:column;gap:9px}.auth-card h1{margin:4px 0;font-size:23px;color:#1a3a6b}.auth-card p{margin:0 0 10px;color:#64748b;line-height:1.5;font-size:13px}.auth-card label{font-size:11px;font-weight:700;color:#475569;margin-top:4px}.auth-card input{padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;font-size:14px}.auth-logo{font-size:12px;font-weight:800;color:#e07820;text-transform:uppercase;letter-spacing:.08em}.auth-error{padding:8px 10px;border-radius:6px;background:#fee2e2;color:#b91c1c;font-size:12px;margin:4px 0}.auth-note{color:#94a3b8;font-size:10px;text-align:center;margin-top:5px}.sidebar-account{padding:10px 14px;border-top:1px solid rgba(255,255,255,.1);color:#ffffffd9;font-size:11px}.sidebar-account>div:first-child div{color:#ffffff73;margin-top:2px}.sidebar-account button{margin-top:7px;border:1px solid rgba(255,255,255,.2);color:#fffc;background:transparent;border-radius:4px;padding:3px 7px;cursor:pointer;font-size:10px}.auth-password-modal{max-width:440px}.auth-password-modal .modal-body{display:flex;flex-direction:column;gap:8px}.print-header{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:-100%;transition:left .3s;height:100vh;z-index:200}.sidebar.open{left:0}.stats-grid{grid-template-columns:repeat(2,1fr)}}.text-muted{color:var(--gray-500)}.text-small{font-size:12px}.text-mono{font-family:Courier New,monospace}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.p-4{padding:16px}.rounded{border-radius:var(--border-radius)}.w-full{width:100%}.overflow-auto{overflow:auto}.font-bold{font-weight:700}.font-semibold{font-weight:600}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.export-toolbar{display:flex;gap:4px;margin-left:8px;flex-shrink:0;align-items:center}.export-toolbar .btn{padding:5px 8px;font-size:10px}.form-label{display:block;margin-bottom:5px;font-size:11px;font-weight:700;color:#475569}textarea.w-full,input.w-full,select.w-full{box-sizing:border-box;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}@media print{.sidebar,.topbar,.export-toolbar,.btn,input,select,.filters-row,.search-bar,.modal-overlay{display:none!important}.main-content,.page-content{margin:0!important;padding:0!important;width:100%!important}.card{box-shadow:none!important;break-inside:avoid}}.sidebar-profile-link{display:flex;align-items:center;gap:9px;padding:11px 13px;border-top:1px solid rgba(255,255,255,.1);color:#ffffffe6;text-decoration:none}.sidebar-profile-link:hover,.sidebar-profile-link.active{background:#ffffff14}.sidebar-profile-link>span:nth-child(2){flex:1;min-width:0}@media print{@page{size:A3 landscape;margin:31mm 8mm 10mm}.historic-page .print-header{display:block!important;position:fixed;top:-27mm;left:0;right:0;height:23mm;box-sizing:border-box;margin:0;padding:2mm 3mm;border:0;border-bottom:.6mm solid #1e3a5f;background:#fff!important;text-align:center;z-index:1000}.historic-page .print-header>div:first-child{font-size:13pt!important}.historic-page .print-header>div:nth-child(2){margin-top:.5mm!important;font-size:9pt!important}.historic-page .print-header>div:last-child{margin-top:.5mm!important;font-size:6.5pt!important}.historic-page .print-header .organigramma-legal-reference{margin-top:1mm;padding:1mm 2mm;border-width:.35mm;border-radius:1mm;background:#fff7d6!important}.historic-page .print-header .organigramma-legal-reference-line{gap:2mm}.historic-page .print-header .organigramma-legal-reference-label{font-size:6pt}.historic-page .print-header .organigramma-legal-reference strong{font-size:7.5pt}.historic-page .print-header .organigramma-proposal-note{margin-top:.8mm;padding-top:.8mm;font-size:5.8pt;line-height:1.15}.historic-page>.flex,.historic-page .historic-header{display:none!important}.historic-page .historic-view,.historic-page .historic-section,.historic-page .historic-table,.historic-page .card{break-inside:auto!important;page-break-inside:auto!important;box-shadow:none!important}.historic-page .historic-view{overflow:visible!important;border:0!important;border-radius:0!important;font-family:Arial,Helvetica,sans-serif;font-size:7.5pt}.historic-page .historic-section-header{min-height:0;padding:1.3mm 2mm;break-after:avoid-page;page-break-after:avoid;font-size:7.5pt}.historic-page .toggle-icon{display:none!important}.historic-page .historic-sd-callout{padding:1.5mm 2mm!important;break-after:avoid-page;page-break-after:avoid;font-size:6.8pt!important}.historic-page .historic-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed}.historic-page .historic-table thead{display:table-header-group}.historic-page .historic-table tbody{display:table-row-group}.historic-page .historic-table tr{break-inside:avoid-page;page-break-inside:avoid}.historic-page .historic-table th,.historic-page .historic-table td{padding:1.1mm 1.5mm!important;border:.2mm solid #b8c2cc!important;vertical-align:top;font-size:7pt!important;line-height:1.2;overflow-wrap:anywhere}.historic-page .historic-table th{font-weight:800}.historic-page .historic-table th:nth-child(1){width:19mm!important}.historic-page .historic-table th:nth-child(3){width:42mm!important}.historic-page .historic-table th:nth-child(4){width:25mm!important}.historic-page .historic-table th:nth-child(5){width:13mm!important}.historic-page .historic-table td div{max-height:none!important}.historic-page *,.historic-page *:before,.historic-page *:after{box-shadow:none!important;text-shadow:none!important}}.sidebar-profile-link strong,.sidebar-profile-link small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-link strong{font-size:11px}.sidebar-profile-link small{margin-top:2px;color:#ffffff7a;font-size:9px}@media print{html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important}.app-layout,.main-content,.page-content,.activity-plan-page{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.app-layout{display:block!important}.activity-plan-page .card,.activity-plan-page .annual-sheet-card,.activity-plan-page .annual-sheet-scroll,.activity-plan-page .annual-sheet{height:auto!important;max-height:none!important;overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}.activity-plan-page .annual-sheet-day,.activity-plan-page .monthly-day,.activity-plan-page .director-event-list>div{break-inside:avoid!important;page-break-inside:avoid!important}}.sidebar-profile-avatar,.profile-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800}.sidebar-profile-avatar{width:30px;height:30px;background:#e07820;color:#fff;font-size:10px}.organization-actions,.profile-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:9px}.organization-actions h2,.profile-header h2{margin:0;color:#1a3a6b;font-size:19px}.organization-actions p,.profile-header p{margin:4px 0 0;color:#64748b;font-size:12px}.organization-editor{border:2px solid #2a5298;box-shadow:0 10px 30px #2a52981f}.organization-editor.creating{border-color:#16a34a}.organization-editor-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;background:#2a5298}.organization-editor.creating .organization-editor-banner{background:#15803d}.organization-editor-banner span,.organization-editor-banner strong{display:block}.organization-editor-banner span{font-size:9px;font-weight:800;letter-spacing:.12em;opacity:.75}.organization-editor-banner strong{margin-top:3px;font-size:14px}.organization-editor-banner .btn{color:#fff;border-color:#fff6}.organization-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.organization-editor-grid section{min-width:0;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.organization-editor-grid h4{margin:0 0 9px;color:#334155}.organization-editor-grid h4 span{margin-left:5px;padding:1px 6px;border-radius:10px;background:#dbeafe;color:#1d4ed8;font-size:10px}.organization-editor-grid p{color:#64748b;font-size:11px;line-height:1.5}.person-check-list{max-height:300px;overflow:auto;margin-top:8px;border:1px solid #e2e8f0;background:#fff}.person-check-list label{display:flex;gap:8px;padding:7px 9px;border-bottom:1px solid #f1f5f9;cursor:pointer;font-size:12px}.person-check-list label.selected{background:#eff6ff;color:#1d4ed8}.person-check-list label span{display:flex;flex-direction:column}.person-check-list small{color:#94a3b8;font-size:9px;margin-top:2px}.person-check-list label.council-person>span{color:#b91c1c;font-weight:600}.person-check-list label.other-person>span{color:#111827}.pcto-person-legend{display:flex;gap:14px;margin-top:7px;font-size:10px}.pcto-person-legend span:first-child{color:#b91c1c;font-weight:600}.pcto-person-legend span:last-child{color:#111827}.tasks-editor{min-height:315px;resize:vertical;line-height:1.5}.task-block-list{display:grid;gap:12px;max-height:620px;overflow-y:auto;padding-right:4px}.task-block-editor{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.task-block-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#475569;font-size:12px}.task-block-editor .tasks-editor{min-height:180px;font-family:inherit;white-space:pre-wrap}.year-management-list{display:grid;gap:8px}.year-management-row{display:grid;grid-template-columns:minmax(110px,1fr) 120px auto;gap:8px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc}.year-management-row small{display:block;margin-top:2px;color:#64748b}.backup-preview{padding:12px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4}.backup-preview>span{display:block;margin:4px 0 8px;color:#475569;font-size:12px}.backup-preview>div:not(.flex){display:flex;flex-wrap:wrap;gap:5px 10px;font-size:11px;color:#334155}.editor-save-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px}.organization-table .row-editing{background:#eff6ff;outline:2px solid #93c5fd}.organization-table{min-width:1180px;border-collapse:separate;border-spacing:0}.organization-table th:first-child,.organization-table td:first-child{position:sticky;left:0;z-index:2;min-width:76px;background:#fff;box-shadow:5px 0 8px -8px #0f172a8c}.organization-table th:last-child,.organization-table td:last-child{position:sticky;right:0;z-index:3;min-width:205px;background:#fff;box-shadow:-7px 0 10px -9px #0f172ab3}.organization-table thead th:first-child,.organization-table thead th:last-child{z-index:5;background:#f8fafc}.organization-table tbody tr:nth-child(odd) td{background:#fff}.organization-table tbody tr:nth-child(2n) td{background:#f1f5f9}.organization-table tbody tr:hover td{background:#e0edff}.organization-table tbody tr{transition:background-color .12s ease}.organization-table tbody td{border-bottom:1px solid #dbe3ee}.organization-table tbody tr:nth-child(odd) td:first-child,.organization-table tbody tr:nth-child(odd) td:last-child{background:#fff}.organization-table tbody tr:nth-child(2n) td:first-child,.organization-table tbody tr:nth-child(2n) td:last-child{background:#f1f5f9}.organization-table tbody tr:hover td:first-child,.organization-table tbody tr:hover td:last-child{background:#e0edff}.organization-table .row-editing td:first-child,.organization-table .row-editing td:last-child{background:#eff6ff}.organization-table .row-editing td{background:#dbeafe!important;border-top:1px solid #60a5fa;border-bottom:1px solid #60a5fa}.organization-row-actions{display:flex;gap:6px;white-space:nowrap;justify-content:flex-end}.organization-row-actions .btn{min-width:82px}.row-description{max-width:700px;margin-top:2px;color:#64748b;font-size:10px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.vacant{color:#94a3b8}.delete-confirmation{max-width:520px}.delete-warning{padding:10px 12px;border-radius:6px;background:#fee2e2;color:#991b1b;font-size:12px}.profile-header{justify-content:flex-start}.profile-header>button{margin-left:auto}.profile-avatar{width:56px;height:56px;background:#1a3a6b;color:#fff;font-size:18px}.profile-password{display:flex;flex-direction:column;gap:7px}.role-current{padding:9px 11px;border-radius:6px;background:#eff6ff;color:#1d4ed8;font-weight:600;font-size:12px}.role-explanation{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.role-explanation div{padding:12px;border:1px solid #e2e8f0;border-radius:7px}.role-explanation strong,.role-explanation span{display:block}.role-explanation strong{color:#1a3a6b;font-size:12px}.role-explanation span{margin-top:4px;color:#64748b;font-size:10px;line-height:1.5}.status-toggle{display:flex;align-items:center;gap:5px;font-size:11px}@media (max-width: 900px){.organization-editor-grid,.role-explanation,.grid-4{grid-template-columns:1fr}.organization-actions,.profile-header,.editor-save-bar{align-items:stretch;flex-direction:column}.profile-header>button{margin-left:0}}.search-result-title{word-break:break-word;overflow-wrap:break-word;white-space:normal}.card .card-body div[style*="fontWeight: 600"],.card .card-body div[style*="font-weight: 600"]{word-break:break-word;overflow-wrap:break-word}.search-persons-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}@media (max-width: 1100px){.topbar-search{min-width:200px}}@media (max-width: 900px){.topbar{padding:8px 16px;gap:8px}.topbar-search{min-width:160px;flex:1}.topbar-title{font-size:14px}.topbar-year-badge{display:none}}.data-table td{word-break:break-word;overflow-wrap:break-word}.filters-row{flex-wrap:wrap}.filter-select{max-width:240px;min-width:0}.badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historic-table td:not(.code-cell):not(.hours-cell){word-break:break-word;overflow-wrap:break-word;min-width:120px}.row-description{white-space:normal!important}.tasks-editor{min-height:200px;word-break:break-word}.row-highlight{animation:rowGlow 2.5s ease-out;background-color:#dbeafe!important}@keyframes rowGlow{0%{background-color:#93c5fd}to{background-color:transparent}}.row-editing{background-color:#eff6ff!important}.badge-danger{background:#fee2e2;color:#991b1b}.topbar-year-badge{background:#fff;color:#1e40af;border:1px solid #bfdbfe;box-shadow:0 1px 2px #0000000d}
