*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:Arial,sans-serif;color:#111827;background:#eef3fb}a{color:inherit;text-decoration:none}.header{width:calc(100% - 48px);max-width:1100px;margin:24px auto 0;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.logo{display:flex;align-items:center}.logo__text{padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:12px;font-size:20px;font-weight:800;line-height:1;letter-spacing:-.03em;box-shadow:0 8px 20px #2563eb47}.nav{padding:4px;display:flex;align-items:center;gap:4px;background:#f3f6fb;border-radius:14px}.nav__link{padding:11px 16px;color:#334155;border-radius:11px;font-size:15px;font-weight:700;line-height:1;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease}.nav__link:hover{color:#1d4ed8;background-color:#fff;box-shadow:0 6px 16px #0f172a14}.nav__link_login{padding-left:42px;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 8V6.8C14 5.8 13.2 5 12.2 5H6.8C5.8 5 5 5.8 5 6.8V17.2C5 18.2 5.8 19 6.8 19H12.2C13.2 19 14 18.2 14 17.2V16' stroke='%23334155' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M11 12H20' stroke='%23334155' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M17 9L20 12L17 15' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center;background-size:20px 20px}.page{flex:1}.footer{width:calc(100% - 48px);max-width:1100px;margin:0 auto 24px;padding:18px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#64748b;border-top:1px solid #dbe3ef}.footer__copy{margin:0;font-size:14px;font-weight:700}.footer__nav{display:flex;align-items:center;gap:20px}.footer__link{color:#64748b;font-size:14px;font-weight:700;transition:color .2s ease}.footer__link:hover{color:#1d4ed8}.home{width:calc(100% - 48px);max-width:1100px;margin:24px auto}.home__card{padding:48px 40px;text-align:center;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.home__title{margin:0 0 8px;color:#0f172a;font-size:36px;font-weight:900;letter-spacing:-.03em;line-height:1.1}.home__subtitle{margin:0 0 16px;color:#2563eb;font-size:18px;font-weight:800;letter-spacing:-.01em}.home__text{margin:0;color:#475569;font-size:16px;font-weight:500;line-height:1.6}.home__button{display:inline-block;margin-top:20px;padding:14px 28px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:16px;font-weight:700;border-radius:12px;transition:all .2s ease;box-shadow:0 10px 25px #2563eb40}.home__button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #2563eb59}.rasp{width:calc(100% - 48px);max-width:1400px;margin:24px auto}.rasp__card{padding:32px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.rasp__filters{display:grid;grid-template-columns:2.5fr 1fr 1fr;gap:20px}.rasp__filters_bottom{max-width:500px;margin:24px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.rasp__field{display:flex;flex-direction:column;gap:6px}.rasp__label{color:#334155;font-size:14px;font-weight:800}.rasp__select{width:100%;height:42px;padding:0 14px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:700;outline:none;transition:all .2s ease}.rasp__select:valid{color:#0f172a}.rasp__select:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.rasp__info{margin-top:24px;color:#475569;font-size:14px;font-weight:600;line-height:1.6}.rasp__button{display:block;height:46px;margin:24px auto 0;padding:0 28px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;font-size:16px;font-weight:800;box-shadow:0 10px 25px #2563eb40;transition:all .2s ease}.rasp__button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #2563eb59}.rasp__info p{margin:0 0 8px}.rasp-schedule{margin-top:28px;padding-top:28px;border-top:1px solid #e2e8f0}.rasp-schedule__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.rasp-schedule__title{margin:0;color:#0f172a;font-size:24px;font-weight:900}.rasp-schedule__meta{margin:8px 0 0;color:#64748b;font-size:14px;font-weight:700;line-height:1.5}.rasp-schedule__message{margin:0 0 18px;padding:12px 14px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:14px;font-weight:800}.rasp-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.rasp-week{min-width:0}.rasp-week__empty{padding:14px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:800}.rasp-week__title{position:sticky;top:0;z-index:1;margin:0 0 12px;padding:12px 14px;color:#fff;background:#1f2937;border-radius:10px;font-size:18px;font-weight:900}.rasp-day{margin-bottom:16px;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px}.rasp-day__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:10px 12px;cursor:pointer;color:#0f172a;background:#f1f5f9;font-size:15px;font-weight:900;list-style:none}.rasp-day[open] .rasp-day__summary{border-bottom:1px solid #e2e8f0}.rasp-day__summary::-webkit-details-marker{display:none}.rasp-day__summary:after{content:"+";color:#64748b;font-size:18px;font-weight:900;line-height:1}.rasp-day[open] .rasp-day__summary:after{content:"-"}.rasp-day__lessons{display:grid}.rasp-lesson{display:grid;grid-template-columns:104px minmax(0,1fr);min-height:74px;border-bottom:1px solid #e2e8f0}.rasp-lesson:last-child{border-bottom:none}.rasp-lesson__number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;color:#334155;background:#f8fafc;border-right:1px solid #e2e8f0;font-size:13px;font-weight:900;text-align:center}.rasp-lesson__number small{color:#64748b;font-size:12px;font-weight:800;line-height:1.2}.rasp-lesson__body{display:grid;gap:8px;padding:10px 12px}.rasp-lesson-card{display:grid;gap:4px;padding:10px;background:#fff;border:1px solid #dbeafe;border-radius:8px}.rasp-lesson-card strong{color:#0f172a;font-size:14px;font-weight:900;line-height:1.35}.rasp-lesson-card span{color:#475569;font-size:13px;font-weight:700;line-height:1.4}@media(max-width:850px){.rasp__filters,.rasp__filters_bottom,.rasp-weeks{grid-template-columns:1fr}.rasp-schedule__header{display:block}}.rasp__select:invalid{color:#9ca3af}.rasp__select option{color:#0f172a}.login{width:calc(100% - 48px);max-width:480px;margin:70px auto}.login__card{padding:36px 32px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.login__title{margin:0 0 8px;color:#0f172a;font-size:32px;font-weight:900;text-align:center}.login__subtitle{margin:0 0 28px;color:#2563eb;font-size:16px;font-weight:800;text-align:center}.login__form{display:flex;flex-direction:column;gap:18px}.login__field{display:flex;flex-direction:column;gap:6px}.login__label{color:#334155;font-size:14px;font-weight:800}.login__input{height:44px;padding:0 14px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:600;outline:none;transition:all .2s ease}.login__input::placeholder{color:#9ca3af}.login__input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.login__button{height:46px;margin-top:8px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;font-size:16px;font-weight:800;box-shadow:0 10px 25px #2563eb40;transition:all .2s ease}.login__button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #2563eb59}.login__error{margin-bottom:18px;padding:14px 16px;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;font-size:14px;font-weight:700}.panel{width:calc(100% - 48px);max-width:1100px;margin:48px auto 24px}.panel__header{margin-bottom:24px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.panel__title{margin:0 0 6px;color:#0f172a;font-size:32px;font-weight:900}.panel__subtitle{margin:0;color:#2563eb;font-size:16px;font-weight:800}.panel__logout{padding:12px 18px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;font-size:14px;font-weight:800}.panel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.panel__card{min-height:150px;padding:24px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14;transition:all .2s ease}.panel__card:hover{transform:translateY(-3px);box-shadow:0 22px 50px #0f172a1f}.panel__card h2{margin:0 0 10px;color:#0f172a;font-size:20px;font-weight:900}.panel__card p{margin:0;color:#64748b;font-size:14px;font-weight:600;line-height:1.5}@media(max-width:1000px){.panel__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.panel__header{align-items:flex-start;flex-direction:column}.panel__grid{grid-template-columns:1fr}}.admin-page{width:calc(100% - 48px);max-width:1100px;margin:48px auto 24px}.admin-page__header{margin-bottom:20px;padding:28px 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.admin-page__back{display:inline-flex;margin-bottom:12px;color:#2563eb;font-size:14px;font-weight:800}.admin-page__title{margin:0 0 6px;color:#0f172a;font-size:32px;font-weight:900}.admin-page__subtitle{margin:0;color:#64748b;font-size:15px;font-weight:700;line-height:1.5}.admin-page__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-alert{margin-bottom:18px;padding:14px 16px;border-radius:12px;font-size:14px;font-weight:800}.admin-alert_success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.admin-alert_error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.admin-forms{margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form{padding:22px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 14px 34px #0f172a12}.admin-form_single{margin-bottom:20px}.admin-form__title{margin:0 0 16px;color:#0f172a;font-size:18px;font-weight:900}.admin-form__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-form__grid_two{grid-template-columns:minmax(160px,.6fr) minmax(260px,1.4fr)}.admin-form__field{margin-bottom:14px;display:flex;flex-direction:column;gap:7px;color:#334155;font-size:14px;font-weight:800}.admin-form__grid .admin-form__field{margin-bottom:0}.admin-form__grid+.admin-button{margin-top:18px}.admin-form__input{width:100%;min-height:42px;padding:0 13px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font:inherit;font-size:14px;font-weight:700;outline:none;transition:all .2s ease}.admin-form__input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.admin-button{min-height:42px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;font-size:14px;font-weight:800;line-height:1;box-shadow:0 10px 25px #2563eb38;transition:all .2s ease}.admin-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #2563eb52}.admin-button_secondary{color:#334155;background:#f8fafc;border:1px solid #dbe3ef;box-shadow:none}.admin-button_secondary:hover{background:#fff;box-shadow:0 10px 24px #0f172a14}.admin-list{display:flex;flex-direction:column;gap:14px}.admin-list__item{min-height:88px;padding:18px 20px;display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 14px 34px #0f172a12}.admin-list__content{min-width:0;flex:1}.admin-list__title{margin:0 0 6px;color:#0f172a;font-size:20px;font-weight:900}.admin-list__meta{margin:0;color:#64748b;font-size:14px;font-weight:700;line-height:1.45}.admin-list__link{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;color:#1d4ed8;background:#eff6ff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:800}.admin-list__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-list__danger{min-height:38px;padding:0 14px;cursor:pointer;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;font-size:14px;font-weight:800}.admin-tags{margin-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.admin-tag{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:8px;color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;font-size:13px;font-weight:800}.admin-tag button{width:20px;height:20px;cursor:pointer;color:#1d4ed8;background:#dbeafe;border:none;border-radius:50%;font-size:16px;line-height:1}.admin-tag_static{color:#334155;background:#f8fafc;border-color:#e2e8f0}.admin-empty{padding:28px;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;font-size:15px;font-weight:800;text-align:center}.modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:24px}.modal_open{display:flex}.modal__overlay{position:absolute;inset:0;background:#0f172a73}.modal__dialog{position:relative;z-index:1;width:100%;max-width:520px;padding:26px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 28px 80px #0f172a38}.modal__header{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.modal__title{margin:0;color:#0f172a;font-size:24px;font-weight:900}.modal__close{width:38px;height:38px;cursor:pointer;color:#334155;background:#f8fafc;border:1px solid #dbe3ef;border-radius:50%;font-size:24px;font-weight:600;line-height:1}.modal__form{display:flex;flex-direction:column;gap:16px}.modal__field{display:flex;flex-direction:column;gap:7px}.modal__label{color:#334155;font-size:14px;font-weight:800}.modal__input{height:44px;padding:0 14px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:700;outline:none;transition:all .2s ease}.modal__input::placeholder{color:#9ca3af}.modal__input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.modal__actions{margin-top:8px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.admin-page_wide{max-width:1600px}.planner-form{display:block;padding-bottom:30px}.planner-header{align-items:center}.planner-toolbar{margin-bottom:18px;padding:18px 20px;display:flex;align-items:flex-end;gap:12px;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 14px 34px #0f172a12}.planner-toolbar__field{width:min(420px,100%);display:flex;flex-direction:column;gap:7px;color:#334155;font-size:14px;font-weight:800}.planner-scroll{overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.planner-scroll::-webkit-scrollbar{display:none}.planner-page-scroll{position:fixed;right:0;bottom:0;left:0;z-index:40;width:calc(100% - 48px);max-width:1600px;height:22px;margin:0 auto;overflow-x:auto;overflow-y:hidden;background:#fffffff5;border:1px solid #dbe3ef;border-bottom:none;border-radius:12px 12px 0 0;box-shadow:0 -8px 22px #0f172a1f}.planner-page-scroll[hidden]{display:none}.planner-page-scroll__track{height:1px}.planner-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 45px #0f172a14}.planner-table th,.planner-table td{border-right:1px solid #e6ebf3;border-bottom:1px solid #e6ebf3;vertical-align:top}.planner-table tr:last-child th,.planner-table tr:last-child td{border-bottom:none}.planner-table th:last-child,.planner-table td:last-child{border-right:none}.planner-table__day{width:310px;min-width:310px;padding:16px;color:#0f172a;background:#f8fafc;text-align:center}.planner-table__day span{color:#334155;font-size:15px;font-weight:900}.planner-table__group{position:sticky;left:0;z-index:2;width:240px;min-width:240px;padding:14px;background:#f8fafc;text-align:left}.planner-table__corner{z-index:3;color:#0f172a;font-size:14px;font-weight:900}.planner-group-head{display:grid;grid-template-columns:1fr 32px;gap:4px 10px;align-items:center}.planner-group-head span{overflow:hidden;color:#0f172a;font-size:16px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.planner-group-head small{overflow:hidden;color:#64748b;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.planner-group-head__remove{grid-row:1 / span 2;grid-column:2;width:32px;height:32px;cursor:pointer;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;font-size:18px;font-weight:900;line-height:1}.planner-group-head__remove:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.planner-table__day-cell{width:310px;min-width:310px;padding:10px;background:#fff}.planner-day{display:flex;flex-direction:column;gap:10px}.planner-lesson{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.planner-lesson[open]{background:#fff;border-color:#bfdbfe;box-shadow:0 10px 24px #0f172a12}.planner-lesson_conflict{border-color:#fecaca;box-shadow:0 10px 24px #b91c1c1f}.planner-lesson__summary{min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:#0f172a;list-style:none}.planner-lesson__summary::-webkit-details-marker{display:none}.planner-lesson__summary span{display:inline-flex;flex-direction:column;gap:3px;font-size:14px;font-weight:900}.planner-lesson__summary small{color:#64748b;font-size:12px;font-weight:800;line-height:1.2}.planner-lesson__summary b{min-height:24px;padding:0 8px;display:inline-flex;align-items:center;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;font-size:11px;font-weight:900}.planner-lesson__conflicts{margin:0 10px 10px;padding:9px 10px;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:9px;font-size:12px;font-weight:800;line-height:1.35}.planner-cell{padding:0 10px 10px;display:flex;flex-direction:column;gap:10px}.planner-cell[data-mode=split]{min-width:500px}.planner-cell__modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.planner-cell__mode{min-height:30px;padding:0 8px;cursor:pointer;color:#334155;background:#f8fafc;border:1px solid #dbe3ef;border-radius:9px;font-size:12px;font-weight:900}.planner-cell__mode_active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.planner-cell__panel{display:none;flex-direction:column;gap:8px}.planner-cell__panel_active{display:flex}.planner-cell__panel[data-week-panel=split].planner-cell__panel_active{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:10px}.planner-cell__input{width:100%;min-height:36px;padding:0 10px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;font-size:13px;font-weight:700;outline:none}.planner-cell__input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f}.planner-joint{min-height:34px;padding:0 10px;display:flex;align-items:center;gap:8px;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;font-size:12px;font-weight:900}.planner-joint input{width:15px;height:15px;margin:0}.planner-week-block{padding:10px;display:flex;flex-direction:column;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.planner-week-block span{color:#334155;font-size:12px;font-weight:900}@media(max-width:720px){.admin-page__header{align-items:flex-start;flex-direction:column}.admin-page__actions{width:100%;justify-content:flex-start}.admin-forms,.admin-form__grid{grid-template-columns:1fr}.admin-list__item{align-items:flex-start;flex-direction:column}.admin-list__link{width:100%}.admin-list__actions{width:100%;align-items:stretch;flex-direction:column}.admin-list__actions form,.admin-list__actions .admin-list__danger{width:100%}.modal__actions{align-items:stretch;flex-direction:column-reverse}.planner-toolbar{align-items:stretch;flex-direction:column}.planner-toolbar .admin-button{width:100%}}
