*{box-sizing:border-box;margin:0;padding:0}:root{--green-900:#0f3d2e;--green-800:#14532d;--green-700:#166534;--green-600:#15803d;--green-500:#16a34a;--green-100:#dcfce7;--green-50:#f0fdf4;--white:#fff;--slate-900:#0f172a;--slate-800:#1e293b;--slate-700:#334155;--slate-600:#475569;--slate-500:#64748b;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--danger-100:#fee2e2;--danger-700:#b91c1c;--shadow-soft:0 10px 30px #0f172a14;--shadow-card:0 16px 40px #0f172a14;--shadow-hover:0 20px 45px #15803d29;--radius-lg:18px;--radius-md:14px;--radius-sm:10px}html,body,#root{min-height:100%}body{color:var(--slate-800);background:radial-gradient(circle at 0 0,#16a34a1a,#0000 28%),linear-gradient(#f8fffb 0%,#f4f7f5 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}input,select,textarea{border:1px solid var(--slate-300);border-radius:var(--radius-sm);background-color:var(--white);width:100%;color:var(--slate-800);padding:12px 14px;transition:border-color .2s,box-shadow .2s,transform .2s}input:focus,select:focus,textarea:focus{border-color:var(--green-600);outline:none;box-shadow:0 0 0 4px #16a34a1f}input.no-number-spinner[type=number]{appearance:textfield}input.no-number-spinner[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.no-number-spinner[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{transition:transform .2s,box-shadow .2s,opacity .2s,background-color .2s}button:hover:not(:disabled){transform:translateY(-1px)}button:focus-visible{outline-offset:2px;outline:3px solid #16a34a52}button:disabled{cursor:not-allowed}.support-header-button{color:#ffffffd6;width:42px;height:42px;box-shadow:none;cursor:pointer;background-color:#ffffff0f;border:1px solid #fff3;border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.support-header-button:hover:not(:disabled){color:#fffffff0;box-shadow:none;background-color:#ffffff1f}.support-header-button:focus-visible{outline-offset:2px;outline:3px solid #ffffff6b}.support-header-button__icon{border:2px solid;border-radius:999px;justify-content:center;align-items:center;width:19px;height:19px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}table{border-collapse:collapse;width:100%}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:end;gap:16px;display:grid}.filter-field{flex-direction:column;min-width:0;display:flex}.filter-field label{color:var(--green-800);margin-bottom:8px;font-size:13px;font-weight:800;display:block}.filter-field input,.filter-field select,.filter-field textarea{background-color:var(--white);border-color:#14532d2e;border-radius:11px;min-height:46px;box-shadow:0 1px 2px #0f172a0a}.filter-field input:hover,.filter-field select:hover,.filter-field textarea:hover{border-color:#16a34a6b}.filter-checkbox-field{min-height:44px;color:var(--green-800);background-color:#ffffffd1;border:1px solid #14532d29;border-radius:11px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:800;line-height:1.35;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.filter-checkbox-field:hover{border-color:#16a34a6b}.filter-checkbox-field input{width:18px;height:18px;min-height:18px;accent-color:var(--green-700);flex:none;padding:0}@media (width<=640px){.filter-grid{grid-template-columns:1fr}.filter-checkbox-field,.filter-checkbox-field+button{width:100%}}.student-movements-history-filters{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:12px;display:grid}.student-movements-history-filter{flex-direction:column;min-width:0;display:flex}.student-movements-history-filter input,.student-movements-history-filter select{min-height:44px}.student-movements-history-filter--search,.student-movements-history-filter--type,.student-movements-history-filter--status,.student-movements-history-filter--from-class{grid-column:span 3}.student-movements-history-filter--to-class,.student-movements-history-filter--date-from,.student-movements-history-filter--date-to{grid-column:span 4}@media (width<=1024px){.student-movements-history-filter--search{grid-column:span 12}.student-movements-history-filter--type,.student-movements-history-filter--status,.student-movements-history-filter--from-class,.student-movements-history-filter--to-class,.student-movements-history-filter--date-from,.student-movements-history-filter--date-to{grid-column:span 6}}@media (width<=768px){body{background:radial-gradient(circle at top,#16a34a14,#0000 24%),linear-gradient(#f8fffb 0%,#f4f7f5 100%)}}@media (width<=640px){.student-movements-history-filter--search,.student-movements-history-filter--type,.student-movements-history-filter--status,.student-movements-history-filter--from-class,.student-movements-history-filter--to-class,.student-movements-history-filter--date-from,.student-movements-history-filter--date-to{grid-column:span 12}}.academic-calendar-page{gap:18px;display:grid}.academic-calendar-panel{background-color:var(--white);border:1px solid #0f172a0f;border-radius:14px;gap:16px;padding:20px;display:grid;box-shadow:0 8px 22px #0f172a0f}.academic-calendar-panel__header{gap:4px;display:grid}.academic-calendar-panel__title{color:var(--slate-900);margin:0;font-size:20px;line-height:1.25}.academic-calendar-muted{color:var(--slate-500);margin:0;line-height:1.5}.academic-calendar-block{background-color:#f8fafcc7;border:1px solid #14532d1a;border-radius:12px;gap:14px;padding:16px;display:grid}.academic-calendar-block__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.academic-calendar-block__title{color:var(--green-800);margin:0 0 4px;font-size:16px;line-height:1.3}.academic-calendar-form{gap:12px;display:grid}.academic-calendar-year-grid,.academic-calendar-event-grid,.academic-calendar-event-details-grid{align-items:end;gap:12px;display:grid}.academic-calendar-year-grid{grid-template-columns:minmax(120px,.8fr) minmax(160px,1fr) minmax(160px,1fr) minmax(190px,1.1fr)}.academic-calendar-event-grid{grid-template-columns:minmax(240px,1.8fr) minmax(170px,1fr) minmax(150px,.9fr) minmax(150px,.9fr)}.academic-calendar-event-details-grid{grid-template-columns:minmax(240px,.9fr) minmax(320px,1.6fr);align-items:stretch}.academic-calendar-field{gap:6px;min-width:0;display:grid}.academic-calendar-field label{color:var(--slate-700);font-weight:800;line-height:1.35}.academic-calendar-field--compact{max-width:170px}.academic-calendar-field--wide{min-width:0}.academic-calendar-field textarea{resize:vertical;min-height:96px}.academic-calendar-check-card{min-width:0;min-height:46px;color:var(--green-800);background-color:#ffffffe6;border:1px solid #14532d24;border-radius:11px;align-items:center;gap:10px;padding:11px 12px;font-weight:800;line-height:1.35;display:flex;box-shadow:0 1px 2px #0f172a0a}.academic-calendar-check-card input{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--green-700);padding:0}.academic-calendar-check-card small{color:var(--slate-500);margin-top:2px;font-size:12px;font-weight:600;display:block}.academic-calendar-check-card--event{align-items:flex-start;min-height:96px}.academic-calendar-check-card--event input{margin-top:2px}.academic-calendar-actions{flex-wrap:wrap;gap:8px;display:flex}.academic-calendar-actions--card{justify-content:flex-end;padding-top:2px}.academic-calendar-card-list{gap:10px;display:grid}.academic-calendar-item-card{background-color:var(--white);border:1px solid #0f172a14;border-radius:12px;gap:10px;padding:14px;display:grid;box-shadow:0 6px 16px #0f172a0a}.academic-calendar-item-card--selected{background-color:#f0fdf4b8;border-color:#1665346b;box-shadow:0 8px 20px #16653414}.academic-calendar-item-card__content{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.academic-calendar-item-card__title{color:var(--green-800);font-size:17px;line-height:1.35;display:block}.academic-calendar-item-card__meta{color:var(--slate-500);margin:4px 0 0;font-size:13px;line-height:1.4}.academic-calendar-item-card__text{color:var(--slate-700);overflow-wrap:anywhere;margin:0;line-height:1.5}.academic-calendar-badge-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.academic-calendar-selected-pill,.academic-calendar-type-badge{border-radius:999px;align-items:center;padding:7px 12px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.academic-calendar-selected-pill{background-color:var(--green-100);color:var(--green-800);border:1px solid #16653438}.academic-calendar-type-badge{background-color:var(--slate-100);color:var(--slate-700);border:1px solid #1e293b1f}.academic-calendar-year-selector{background:linear-gradient(#f0fdf4c7,#ffffffeb);grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr);align-items:end}.academic-calendar-selector-note,.academic-calendar-empty-state{color:var(--slate-600);background-color:#ffffffdb;border:1px solid #14532d1f;border-radius:11px;margin:0;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.45}.academic-calendar-empty-state{text-align:center;border-style:dashed}@media (width<=1024px){.academic-calendar-year-grid,.academic-calendar-event-grid,.academic-calendar-event-details-grid,.academic-calendar-year-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-calendar-field--compact{max-width:none}}@media (width<=640px){.academic-calendar-panel{padding:16px}.academic-calendar-block{padding:14px}.academic-calendar-year-grid,.academic-calendar-event-grid,.academic-calendar-event-details-grid,.academic-calendar-year-selector{grid-template-columns:1fr}.academic-calendar-actions,.academic-calendar-actions button{width:100%}.academic-calendar-actions--card{justify-content:stretch}.academic-calendar-item-card__content,.academic-calendar-badge-group{justify-content:flex-start}}@media print{@page{size:A4;margin:12mm}html,body,#root{height:auto!important;min-height:0!important;overflow:visible!important}body.print-declaration-mode{background:#fff}body.print-declaration-mode #root>div{min-height:0!important;display:block!important}body.print-declaration-mode #root>div>header,body.print-declaration-mode #root>div>main+div,body.print-declaration-mode main>div>:not(.declaration-print-root),body.print-declaration-mode .declaration-preview-header{display:none!important}body.print-declaration-mode main,body.print-declaration-mode main>div,body.print-declaration-mode .declaration-print-root{width:auto!important;max-width:none!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important}body.print-declaration-mode .printable-declaration,body.print-declaration-mode .printable-declaration *{break-inside:avoid;page-break-inside:avoid}body.print-declaration-mode .printable-declaration{page-break-after:avoid;break-after:avoid;width:100%;max-width:none;height:auto!important;min-height:0!important;box-shadow:none!important;color:#111827!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:8mm 10mm!important;display:block!important;position:static!important}body.print-declaration-mode .declaration-document-header{gap:2px!important;font-size:12px!important;line-height:1.25!important}body.print-declaration-mode .declaration-date-line{margin-top:28px!important;font-size:13px!important;line-height:1.4!important}body.print-declaration-mode .declaration-document-title{margin-top:34px!important;margin-bottom:28px!important;font-size:19px!important}body.print-declaration-mode .declaration-document-paragraph{text-indent:36px!important;font-size:14px!important;line-height:1.65!important}body.print-declaration-mode .declaration-truth-line{margin-top:28px!important;font-size:14px!important;line-height:1.5!important}body.print-declaration-mode .declaration-signature-area{gap:6px!important;margin-top:72px!important}body.print-attendance-list-mode{background:#fff}body.print-attendance-list-mode #root>div{min-height:0!important;display:block!important}body.print-attendance-list-mode #root>div>header,body.print-attendance-list-mode #root>div>main+div,body.print-attendance-list-mode main>div>:not(.attendance-list-print-root),body.print-attendance-list-mode .attendance-list-preview-header{display:none!important}body.print-attendance-list-mode main,body.print-attendance-list-mode main>div,body.print-attendance-list-mode .attendance-list-print-root{width:auto!important;max-width:none!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important}body.print-attendance-list-mode .printable-attendance-list{width:100%;max-width:none;height:auto!important;min-height:0!important;box-shadow:none!important;color:#111827!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;padding:8mm!important;display:block!important;position:static!important}body.print-attendance-list-mode .attendance-list-document-header{gap:2px!important;font-size:11px!important;line-height:1.25!important}body.print-attendance-list-mode .attendance-list-document-title{margin:18px 0 14px!important;font-size:18px!important}body.print-attendance-list-mode .attendance-list-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px 12px!important;margin-bottom:12px!important;font-size:11px!important}body.print-attendance-list-mode .attendance-signature-table{font-size:10px!important}body.print-attendance-list-mode .attendance-signature-table tr{break-inside:avoid;page-break-inside:avoid}body.print-complete-diary-mode{background:#fff}body.print-complete-diary-mode #root>div>header,body.print-complete-diary-mode #root>div>main+div,body.print-complete-diary-mode main>div>:not(.diary-preview-shell),body.print-complete-diary-mode .diary-warning{display:none!important}body.print-complete-diary-mode main,body.print-complete-diary-mode main>div,body.print-complete-diary-mode .diary-preview-shell,body.print-complete-diary-mode .complete-diary-print-root{width:auto!important;max-width:none!important;box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important}body.print-complete-diary-mode .diary-print-page{break-before:page;page-break-before:always}body.print-complete-diary-mode .diary-print-page:first-child{break-before:auto;page-break-before:auto}body.print-complete-diary-mode .diary-table tr,body.print-complete-diary-mode .avoid-break{break-inside:avoid;page-break-inside:avoid}body.print-complete-diary-mode .diary-table-wrapper{overflow:visible}body.print-complete-diary-mode .diary-table{table-layout:fixed;width:100%;font-size:9px}body.print-complete-diary-mode .diary-table th,body.print-complete-diary-mode .diary-table td{overflow-wrap:anywhere;padding:3px}}.diary-preview-shell,.diary-empty-card{background:#fff;border:1px solid #0f172a14;border-radius:16px;padding:20px;box-shadow:0 10px 24px #0f172a0f}.diary-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.diary-warning{color:#92400e;margin-bottom:8px;font-size:14px}.diary-print-page{background:#fff;border:1px solid #cbd5e1;margin:20px 0;padding:20px}.diary-print-page h2{color:#14532d;margin-bottom:14px}.diary-cover{text-align:center;min-height:520px;padding-top:36px}.diary-cover h1,.diary-cover h3{margin:18px 0}.diary-table-wrapper{overflow-x:auto}.diary-table{margin-top:10px;font-size:12px}.diary-table th,.diary-table td{text-align:left;border:1px solid #475569;padding:6px}.diary-signatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px;padding-top:56px;display:grid}.diary-signatures span{border-top:1px solid #111827;display:block}.diary-signatures p{text-align:center;margin-top:8px}@media print{@page complete-diary{size:A4 landscape;margin:10mm}body.print-complete-diary-mode .complete-diary-print-root{page:complete-diary}}
