:root{color-scheme:dark;--bg: #09090b;--panel: #111113;--panel-2: #151518;--line: #27272a;--line-soft: #1f1f23;--text: #f4f4f5;--muted: #a1a1aa}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:Manrope,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{min-height:100vh;background:var(--bg)}.app-sider{padding:22px 18px;border-right:1px solid var(--line);background:#08080a}.sidebar-login{background:#111113!important;border:1px solid var(--line)!important}.sidebar-label{display:inline-block;margin-bottom:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700}.profile-name{font-size:1.05rem;font-weight:800;margin-bottom:10px}.sidebar-divider{border-color:var(--line)}.sidebar-stats{display:grid;gap:12px}.journal-menu{margin-top:8px;border-inline-end:0!important;background:transparent!important}.journal-menu .ant-menu-item-group-title{padding-left:14px!important;color:var(--muted)!important;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:800}.journal-menu .ant-menu-item-group-list{margin-bottom:8px}.sidebar-stat{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:14px;background:#0f0f10;border:1px solid var(--line)}.sidebar-stat span{color:var(--muted)}.sidebar-stat strong{font-size:1.15rem}.app-layout{min-height:100vh;background:transparent}.app-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px 24px 18px;height:auto}.app-header .ant-typography{margin:0}.app-header h2.ant-typography{margin-top:8px;font-size:clamp(1.6rem,2.6vw,2.7rem);line-height:1.08}.page-kicker{display:inline-block;margin-bottom:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700}.app-content{padding:0 24px 24px}.page-stack{display:grid;gap:16px}.journal-card{background:var(--panel)!important;border:1px solid var(--line)!important;box-shadow:none!important}.journal-card .ant-card-head{border-bottom:1px solid var(--line)!important}.journal-card .ant-card-head-title{font-weight:700}.journal-card .ant-card-extra{max-width:min(100%,900px)}.welcome-card{min-height:320px}.control-row,.admin-actions,.summary-line{display:flex;flex-wrap:wrap}.admin-actions{margin-top:14px}.summary-line{justify-content:flex-end}.lesson-head{display:flex;flex-direction:column;gap:6px}.lesson-head-main{all:unset;width:100%;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.lesson-head-main span{font-weight:700;color:var(--text)}.lesson-head-main small{max-width:140px;color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-subtitle{margin-top:10px;color:var(--muted)}.attendance-select{min-width:92px}.attendance-option{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;padding:0 8px;border-radius:999px;font-weight:800;background:#151518;border:1px solid var(--line)}.attendance-option--empty{color:var(--muted)}.attendance-option--present{background:#1d4ed82e;border-color:#1d4ed873}.attendance-option--absent{background:#7f1d1d33;border-color:#7f1d1d73}.attendance-option--late{background:#b4530933;border-color:#b4530973}.attendance-option--excused{background:#16653433;border-color:#16653473}.grade-cell{display:grid;gap:8px}.grade-column-block{display:grid;gap:8px;padding:10px;border:1px solid var(--line-soft);border-radius:14px;background:#0f0f10}.grade-column-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grade-quick-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.grade-quick-btn{min-width:32px;font-weight:800}.schedule-grid-card .ant-table-thead>tr>th{vertical-align:top}.schedule-cell{display:grid;gap:8px;min-width:200px}.schedule-cell .ant-select,.schedule-cell .ant-input{width:100%}.lesson-head-wrap{display:grid;gap:8px}.lesson-column-card{border-color:var(--line)!important}.loading-state{min-height:100vh;display:grid;place-items:center}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,#09090b,#0b0b0d);padding:24px}.login-panel{width:min(100%,360px);padding:22px 20px 18px;border:1px solid var(--line)!important;background:#111113!important;box-shadow:0 18px 44px #00000047}.login-mark{color:var(--muted);letter-spacing:.08em;font-size:.78rem;font-weight:700;text-transform:uppercase}.login-title{margin-top:10px!important;margin-bottom:8px!important;font-size:clamp(1.8rem,4vw,2.3rem)!important;line-height:1.05!important}.login-subtitle{display:block;color:var(--muted);margin-bottom:18px}.login-form{margin-top:4px}.order-list-card{background:#0f0f10!important;border:1px solid var(--line-soft)!important}.order-list-card--active{border-color:#3a3a3f!important}.rich-editor{display:grid;gap:12px}.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:8px}.rich-editor-area{min-height:320px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0f0f10;color:var(--text);outline:none;line-height:1.65}.rich-editor-area:focus{border-color:#3a3a3f}.rich-editor-area:empty:before{content:attr(data-placeholder);color:var(--muted)}.rich-editor-area h2,.order-preview-body h2{margin:0 0 12px;font-size:1.35rem}.rich-editor-area p,.order-preview-body p{margin:0 0 12px}.rich-editor-area ul,.rich-editor-area ol,.order-preview-body ul,.order-preview-body ol{margin:0 0 12px 20px}.order-preview-card{background:#0f0f10!important;border:1px solid var(--line-soft)!important}.order-preview-body{min-height:120px;color:var(--text);line-height:1.7}.calendar-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.calendar-day-card{min-height:220px}.calendar-lesson-card{display:grid;gap:8px;padding:12px;border-radius:14px;background:#0f0f10;border:1px solid var(--line-soft)}.calendar-lesson-topic{color:var(--text);font-size:.95rem;line-height:1.35}.stat-card{min-height:120px}.stat-number{margin-top:10px;font-size:1.8rem;font-weight:800}.ant-card,.ant-modal-content,.ant-modal-header,.ant-modal-footer{border-color:var(--line)!important}.ant-card-head{background:transparent!important}.ant-btn{border-color:var(--line)!important;background:var(--panel-2);color:var(--text)}.ant-btn:hover{border-color:#3f3f46!important;color:var(--text)!important}.ant-btn-primary{background:var(--text)!important;border-color:var(--text)!important;color:var(--bg)!important}.ant-btn-primary:hover{background:#e4e4e7!important;border-color:#e4e4e7!important;color:var(--bg)!important}.ant-select-selector,.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-segmented,.ant-segmented .ant-segmented-group,.ant-segmented .ant-segmented-item,.ant-modal-content{background:#0f0f10!important;border-color:var(--line)!important;color:var(--text)!important}.ant-select-selection-item,.ant-select-selection-placeholder,.ant-input,.ant-input::placeholder,.ant-input-number-input,.ant-segmented-item-label{color:var(--text)!important}.ant-select-dropdown,.ant-dropdown,.ant-picker-dropdown{background:#0f0f10!important;border-color:var(--line)!important}.ant-table-wrapper .ant-table{background:transparent!important}.ant-table-container{border:1px solid var(--line)!important;border-radius:12px;overflow:hidden}.ant-table-thead>tr>th{background:#0d0d0f!important;color:var(--text)!important;border-bottom:1px solid var(--line)!important;font-weight:700!important}.ant-table-tbody>tr>td{background:#111113!important;border-bottom:1px solid var(--line-soft)!important}.ant-table-cell-fix-left,.ant-table-cell-fix-right{background:#111113!important}.ant-table-cell-row-hover{background:#17171a!important}.ant-table-empty .ant-table-tbody>tr>td{background:#111113!important}.ant-tag{border-radius:999px;padding-inline:10px;border-color:var(--line)}.ant-modal-title{color:var(--text)!important}.ant-form-item-label>label{color:var(--muted)!important}.ant-empty-description{color:var(--muted)!important}@media(max-width:960px){.app-header{align-items:flex-start;flex-direction:column}.journal-card .ant-card-extra{max-width:100%}.app-content{padding:0 16px 16px}.app-header{padding-left:16px;padding-right:16px}}
