@charset "UTF-8";.ei-page{max-width:1280px;margin:0 auto}.ei-page__error{margin:0 0 12px;padding:10px 12px;border:1px solid #fecaca;border-radius:var(--ei-radius-sm);background:#fef2f2;color:var(--ei-danger);font-size:13px}.ei-page__state{margin:24px 0;color:var(--ei-text-muted)}.ei-page__empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:64px 24px;border:1px solid #e6e6ea;border-radius:14px;background:var(--ei-surface);text-align:center}.ei-page__empty:before{content:"";width:44px;height:44px;margin-bottom:10px;border-radius:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h10M4 17h7'/%3E%3C/svg%3E") center/20px no-repeat,#f4f4f5}.ei-page__empty h3{margin:0;color:var(--ei-text);font-size:15px;font-weight:650;letter-spacing:-.01em}.ei-page__empty p{max-width:360px;margin:0 0 14px;color:var(--ei-text-muted);font-size:13px;line-height:1.5}.ei-page__empty button{height:36px;padding:0 14px;border:0;border-radius:8px;background:var(--ei-accent-strong);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.ei-page__empty button:hover:not(:disabled){background:#2f63d6}.ei-status{--status-bg: #f1f1f3;--status-fg: #5b5b64;display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--status-bg);color:var(--status-fg);font-size:12px;font-weight:600;line-height:1;letter-spacing:-.005em;white-space:nowrap}.ei-status[data-status=active],.ei-status[data-status=scheduled],.ei-status[data-status=passed],.ei-status[data-status=settled],.ei-status[data-status=overpaid],.ei-status[data-status=finished]{--status-bg: #e7f5ea;--status-fg: #1a7336}.ei-status[data-status=in_progress],.ei-status[data-status=in_lesson],.ei-status[data-status=theory]{--status-bg: #e8effd;--status-fg: #2856bd}.ei-status[data-status=practical]{--status-bg: #fdf0df;--status-fg: #9a5406}.ei-status[data-status=elapsed],.ei-status[data-status=paused],.ei-status[data-status=service],.ei-status[data-status=no_show],.ei-status[data-status=pending],.ei-status[data-status=partial],.ei-status[data-status=owing]{--status-bg: #fbf2d5;--status-fg: #835f00}.ei-status[data-status=completed]{--status-bg: #e1f3f0;--status-fg: #0d6b62}.ei-status[data-status=inactive],.ei-status[data-status=none]{--status-bg: #f1f1f3;--status-fg: #6b6b74}.ei-status[data-status=cancelled],.ei-status[data-status=failed]{--status-bg: #fdeaea;--status-fg: #b42323}.ei-avatar{--av-bg: #eceef2;--av-fg: #475569;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--av-bg);color:var(--av-fg);font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.ei-avatar--xs{width:22px;height:22px;font-size:9px}.ei-avatar--lg{width:46px;height:46px;font-size:15px}.ei-avatar[data-tone="0"]{--av-bg: #e6edfc;--av-fg: #2a58c0}.ei-avatar[data-tone="1"]{--av-bg: #ddf2ee;--av-fg: #0e6e65}.ei-avatar[data-tone="2"]{--av-bg: #fbeed8;--av-fg: #975607}.ei-avatar[data-tone="3"]{--av-bg: #fce5ea;--av-fg: #b3163c}.ei-avatar[data-tone="4"]{--av-bg: #eee8fc;--av-fg: #6532c9}.ei-avatar[data-tone="5"]{--av-bg: #e2f3e6;--av-fg: #1b7a3a}.ei-avatar[data-tone="6"]{--av-bg: #eceef2;--av-fg: #475569}.ei-avatar[data-tone="7"]{--av-bg: #fde8dc;--av-fg: #b5400f}.ei-cats{display:inline-flex;flex-wrap:wrap;gap:4px}.ei-cat{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 5px;border-radius:5px;background:#1c1c21;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1}.ei-plate{display:inline-flex;align-items:stretch;height:24px;border:1.5px solid #26262b;border-radius:4px;background:#fff;overflow:hidden;color:#18181b;font-family:var(--ei-font-mono);font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1;white-space:nowrap}.ei-plate:before{content:"";width:7px;background:#2451c5;flex-shrink:0}.ei-plate>span{display:flex;align-items:center;padding:0 8px 0 7px}.ei-plate--lg{height:32px;border-width:2px;border-radius:5px;font-size:15px}.ei-plate--lg:before{width:10px}.ei-plate--lg>span{padding:0 12px 0 10px}.ei-stage{--stage-color: #3b73ed;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.ei-stage__track{display:inline-flex;gap:3px}.ei-stage__track i{width:16px;height:4px;border-radius:2px;background:#e6e6ea}.ei-stage__label{color:var(--ei-text);font-size:13px;font-weight:550}.ei-stage[data-stage=theory]{--stage-color: #3b73ed}.ei-stage[data-stage=theory] i:nth-child(-n+1){background:var(--stage-color)}.ei-stage[data-stage=practical]{--stage-color: #e08a12}.ei-stage[data-stage=practical] i:nth-child(-n+2){background:var(--stage-color)}.ei-stage[data-stage=finished]{--stage-color: #1f9d4c}.ei-stage[data-stage=finished] i{background:var(--stage-color)}.ei-stage--lg{display:flex;flex-direction:column;align-items:stretch;gap:8px}.ei-stage--lg .ei-stage__track{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.ei-stage--lg .ei-stage__track i{width:auto;height:6px;border-radius:3px}.ei-stage__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.ei-stage__steps span{color:#a1a1aa;font-size:11.5px;font-weight:500}.ei-stage[data-stage=theory] .ei-stage__steps span:nth-child(1),.ei-stage[data-stage=practical] .ei-stage__steps span:nth-child(2),.ei-stage[data-stage=finished] .ei-stage__steps span:nth-child(3){color:var(--ei-text);font-weight:650}.ei-stage[data-stage=practical] .ei-stage__steps span:nth-child(1),.ei-stage[data-stage=finished] .ei-stage__steps span:nth-child(-n+2){color:var(--ei-text-muted)}.ei-meter{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.ei-meter>span{min-width:38px;color:var(--ei-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.ei-meter>span b{color:var(--ei-text);font-size:13px;font-weight:650}.ei-meter>i{display:block;width:56px;height:4px;border-radius:2px;background:#e9e9ed;overflow:hidden}.ei-meter>i b{display:block;height:100%;border-radius:inherit;background:#18181b}.ei-meter--block{display:flex;flex-direction:column;align-items:stretch;gap:6px}.ei-meter--block>i{width:100%}.ei-when{display:flex;flex-direction:column;gap:2px;min-width:0;white-space:nowrap}.ei-when strong{color:var(--ei-text);font-size:13px;font-weight:600}.ei-when span{color:var(--ei-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.ei-when.is-soon strong{color:var(--ei-accent-strong)}.ei-assignee{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--ei-text);font-size:13px;font-weight:500}.ei-assignee>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ei-none{color:#a1a1aa;font-size:13px;white-space:nowrap}.ei-num{color:var(--ei-text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.ei-date-tone{font-variant-numeric:tabular-nums;font-weight:600}.ei-date-tone[data-tone=danger]{color:#b42323}.ei-date-tone[data-tone=warn]{color:#9a5c00}.ei-date-tone[data-tone=ok]{color:var(--ei-text)}.ei-table-wrap{border:1px solid #e6e6ea;border-radius:14px;background:var(--ei-surface);box-shadow:0 1px 2px #18181b0a,0 8px 24px -18px #18181b1f;overflow:auto;-webkit-overflow-scrolling:touch}.ei-table{width:100%;min-width:var(--ei-table-min, 960px);font-variant-numeric:tabular-nums}.ei-table__head,.ei-table__row{display:grid;grid-template-columns:var(--ei-table-cols);column-gap:24px;align-items:center;padding:0 24px}.ei-table__head{position:sticky;top:0;z-index:1;height:44px;border-bottom:1px solid #ececef;background:var(--ei-surface);color:#8b8b94;font-size:12px;font-weight:500;white-space:nowrap}.ei-table__row{min-height:68px;padding-top:12px;padding-bottom:12px;border-bottom:1px solid #f2f2f4;color:var(--ei-text);font-size:13px;transition:background-color .12s ease}.ei-table__row:last-child{border-bottom:0}.ei-table__row:hover{background:#fafafb}.ei-table__col{min-width:0}.ei-table__col--center{text-align:center;justify-self:center}.ei-table__col--end{justify-self:end}.ei-table__person{display:flex;align-items:center;gap:12px;min-width:0}.ei-table__person>div:last-child{min-width:0}.ei-table__person strong{display:block;color:var(--ei-text);font-size:13.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-table__person span:not(.ei-avatar):not(.ei-cat){display:block;margin-top:2px;color:var(--ei-text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-table__person--link{padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ei-table__person--link:hover strong{color:var(--ei-accent-strong)}.ei-table__muted{color:var(--ei-text-secondary);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.ei-table__mono{color:var(--ei-text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.ei-table__soft{display:block;color:var(--ei-text);font-size:13px;font-weight:600}.ei-table__actions{display:flex;justify-content:flex-end;gap:6px}.ei-table__row--child{min-height:56px;background:#fbfbfc}.ei-table__row--child:hover{background:#f6f6f8}.ei-table__row--child>:nth-child(2){padding-left:12px;border-left:2px solid #e6e6ea}.ei-table__row--child strong{font-weight:550}.ei-expand-btn{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ei-text-muted);cursor:pointer;flex-shrink:0}.ei-expand-btn:hover{background:#f1f1f3;color:var(--ei-text)}.ei-expand-btn svg{transition:transform .15s ease}.ei-expand-btn svg.is-open{transform:rotate(90deg)}.ei-kpis{display:grid;grid-template-columns:repeat(var(--ei-kpis-cols, 4),minmax(0,1fr));gap:12px;margin-bottom:16px}.ei-kpi{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;background:var(--ei-surface);border:1px solid var(--ei-border);border-radius:var(--ei-radius);overflow:hidden;box-shadow:var(--ei-shadow-sm)}.ei-kpi__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ei-kpi__label{font-size:12px;font-weight:500;color:var(--ei-text-muted)}.ei-kpi__swatch{width:8px;height:8px;border-radius:50%;background:var(--kpi-accent, var(--ei-accent-strong));box-shadow:0 0 0 3px var(--kpi-wash, transparent)}.ei-kpi__value{font-size:28px;font-weight:600;letter-spacing:-.045em;line-height:1;color:var(--ei-text);font-variant-numeric:tabular-nums}.ei-kpi__meta{font-size:12px;color:var(--ei-text-faint)}.ei-kpi[data-tone=teal]{--kpi-accent: #0f766e;--kpi-wash: rgba(15, 118, 110, .14)}.ei-kpi[data-tone=sky]{--kpi-accent: #0369a1;--kpi-wash: rgba(3, 105, 161, .14)}.ei-kpi[data-tone=amber]{--kpi-accent: #b45309;--kpi-wash: rgba(180, 83, 9, .14)}.ei-kpi[data-tone=rose]{--kpi-accent: #be123c;--kpi-wash: rgba(190, 18, 60, .12)}.ei-kpi[data-tone=ink]{--kpi-accent: #3f3f46;--kpi-wash: rgba(63, 63, 70, .12)}.ei-kpi--money .ei-kpi__value{font-size:18px;letter-spacing:-.03em;line-height:1.2}@media(max-width:1100px){.ei-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ei-kpis{grid-template-columns:1fr}}.ei-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:stretch}.ei-card{display:flex;flex-direction:column;gap:18px;min-width:0;padding:20px;border:1px solid #e6e6ea;border-radius:14px;background:var(--ei-surface);box-shadow:0 1px 2px #18181b0a,0 8px 24px -20px #18181b24;font-variant-numeric:tabular-nums;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ei-card:hover{border-color:#d6d6dc;box-shadow:0 1px 2px #18181b0d,0 14px 32px -18px #18181b38}.ei-card__head{display:flex;align-items:flex-start;gap:12px;min-width:0}.ei-card__id{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}.ei-card__id>div{min-width:0}.ei-card__id strong{display:block;color:var(--ei-text);font-size:15px;font-weight:650;letter-spacing:-.015em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__id small{display:block;margin-top:2px;color:var(--ei-text-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__id--link{cursor:pointer}.ei-card__id--link:hover strong{color:var(--ei-accent-strong)}.ei-card__id--stack{flex-direction:column;align-items:flex-start;gap:14px}.ei-card__id--stack>div{max-width:100%}.ei-card__aside{display:flex;align-items:center;gap:4px;flex-shrink:0;margin:-4px -8px 0 auto}.ei-card__person-row{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border-radius:10px;background:#f7f7f9}.ei-card__person-row>div{min-width:0}.ei-card__person-row strong{display:block;color:var(--ei-text);font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__person-row small{display:block;margin-top:1px;color:var(--ei-text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__hero{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.ei-card__time{display:flex;flex-direction:column;gap:2px}.ei-card__time strong{color:var(--ei-text);font-size:22px;font-weight:650;letter-spacing:-.03em;line-height:1.1}.ei-card__time span{color:var(--ei-text-muted);font-size:12.5px;font-weight:600}.ei-card__time.is-soon span{color:var(--ei-accent-strong)}.ei-card__stats{display:grid;grid-template-columns:var(--ei-card-cols, repeat(var(--ei-card-stats, 3), minmax(0, 1fr)));margin:0;padding:12px 0;border-radius:10px;background:#f7f7f9}.ei-card__stats>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:0 14px}.ei-card__stats>div+div{border-left:1px solid #e9e9ed}.ei-card__stats dt{color:var(--ei-text-muted);font-size:11.5px;font-weight:500;white-space:nowrap}.ei-card__stats dd{display:flex;align-items:center;gap:4px;min-height:22px;margin:0;color:var(--ei-text);font-size:14px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__stats dd small{color:var(--ei-text-muted);font-size:12px;font-weight:500}.ei-card__stats dd.is-stack{flex-direction:column;align-items:flex-start;gap:1px}.ei-card__stats dd.is-stack>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.ei-card__rows{display:flex;flex-direction:column;gap:10px}.ei-card__rows>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.ei-card__rows dt{flex-shrink:0;color:var(--ei-text-muted);font-size:12.5px}.ei-card__rows dd{min-width:0;margin:0;color:var(--ei-text);font-size:13px;font-weight:550;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__note{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:10px;background:#f7f7f9}.ei-card__note span{color:var(--ei-text-muted);font-size:11.5px;font-weight:500}.ei-card__note strong{color:var(--ei-text);font-size:13.5px;font-weight:600}.ei-card__note em{color:var(--ei-text-secondary);font-size:12.5px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ei-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-top:auto;padding-top:14px;border-top:1px solid #f0f0f2;color:var(--ei-text-muted);font-size:12px}.ei-card__foot>span:last-child:not(.ei-assignee):not(.ei-none){flex-shrink:0;white-space:nowrap}.ei-card__foot b.ei-num{margin-left:4px}.ei-card__foot-note{min-width:0;max-width:50%;flex-shrink:1!important;overflow:hidden;text-overflow:ellipsis}.ei-card__members{display:flex;flex-direction:column;margin:0 -4px}.ei-card__member{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-top:1px solid #f0f0f2}.ei-card__member>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.ei-card__member strong{display:block;font-size:13px;font-weight:600}.ei-card__member small{display:block;margin-top:1px;color:var(--ei-text-muted);font-size:12px}.ei-card__member-meta{display:flex;align-items:center;gap:10px;flex:none}.ei-card__toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:28px;padding:0 10px 0 6px;border:0;border-radius:7px;background:transparent;color:var(--ei-text-secondary);font-size:12.5px;font-weight:550;cursor:pointer}.ei-card__toggle:hover{background:#f4f4f5;color:var(--ei-text)}.ei-card__toggle svg{transition:transform .15s ease}.ei-card__toggle.is-open svg{transform:rotate(90deg)}@media(max-width:760px){.ei-cards{grid-template-columns:1fr;gap:12px}.ei-card{padding:18px 16px 16px;gap:16px}.ei-card__stats>div{padding:0 12px}.ei-table__head,.ei-table__row{padding-left:16px;padding-right:16px;column-gap:18px}}.ei-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.ei-modal__backdrop{position:absolute;inset:0;border:0;background:#09090b6b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ei-modal__panel{position:relative;z-index:1;width:min(100%,var(--ei-modal-width, 520px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;border:1px solid rgba(228,228,231,.9);border-radius:20px;background:linear-gradient(180deg,#fff,#fafafa);box-shadow:0 0 0 1px #fff9 inset,var(--ei-shadow-lg);overflow:hidden;animation:ei-modal-in .18s ease-out}.ei-modal__panel--sm{--ei-modal-width: 400px}.ei-modal__panel--lg{--ei-modal-width: 640px}.ei-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px 16px;background:linear-gradient(180deg,#fff,#ffffffb8)}.ei-modal__header h2{margin:0 0 4px;font-size:17px;font-weight:650;letter-spacing:-.03em;color:var(--ei-text)}.ei-modal__header p{margin:0;color:var(--ei-text-muted);font-size:12.5px;line-height:1.45;max-width:42ch}.ei-modal__x{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--ei-control-bg);color:var(--ei-text-muted);font-size:18px;line-height:1;flex-shrink:0;transition:background .15s ease,color .15s ease,transform .15s ease}.ei-modal__x:hover:not(:disabled){color:var(--ei-text);background:var(--ei-control-bg-hover)}.ei-modal__x:active:not(:disabled){transform:scale(.96)}.ei-modal__x:disabled{opacity:.5;cursor:not-allowed}.ei-modal__form{display:flex;flex-direction:column;min-height:0;flex:1}.ei-modal__body{display:flex;flex-direction:column;gap:14px;padding:6px 22px 18px;overflow:auto}.ei-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ei-modal__field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;color:var(--ei-text-secondary);letter-spacing:-.01em}.ei-modal__field>span{padding-left:1px}.ei-modal__field input,.ei-modal__field textarea{width:100%;border:1px solid var(--ei-control-border);border-radius:12px;background:var(--ei-control-bg);color:var(--ei-text);font:inherit;font-size:13px;font-weight:500;outline:none;box-shadow:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.ei-modal__field input::placeholder,.ei-modal__field textarea::placeholder{color:var(--ei-text-faint);font-weight:450}.ei-modal__field input:hover:not(:disabled):not(:focus),.ei-modal__field textarea:hover:not(:disabled):not(:focus){background:var(--ei-control-bg-hover)}.ei-modal__field input:focus,.ei-modal__field textarea:focus{outline:none;background:var(--ei-control-bg-focus);border-color:var(--ei-control-border-focus);box-shadow:none}.ei-modal__field input:disabled,.ei-modal__field textarea:disabled{opacity:.6;cursor:not-allowed}.ei-modal__field input{height:40px;padding:0 12px}.ei-modal__field input[type=date],.ei-modal__field input[type=time],.ei-modal__field input[type=number]{font-variant-numeric:tabular-nums}.ei-modal__field textarea{padding:10px 12px;resize:vertical;min-height:80px;line-height:1.45}.ei-modal__field app-select{display:block;width:100%}.ei-modal__field em{font-style:normal;color:var(--ei-danger);font-size:11px;font-weight:550;padding-left:1px}.ei-modal__field.is-invalid input,.ei-modal__field.is-invalid textarea{border-color:#fca5a5;background:#fff7f7}.ei-modal__field.is-invalid input:focus,.ei-modal__field.is-invalid textarea:focus{border-color:#f87171;box-shadow:none;background:#fff}.ei-modal__cats{display:flex;flex-wrap:wrap;gap:6px}.ei-modal__cat{height:32px;min-width:40px;padding:0 11px;border:1px solid transparent;border-radius:10px;background:var(--ei-control-bg);color:var(--ei-text-secondary);font-size:12px;font-weight:600;font-family:var(--ei-font-mono);transition:background .15s ease,color .15s ease,border-color .15s ease}.ei-modal__cat:hover:not(.is-active){background:var(--ei-control-bg-hover)}.ei-modal__cat.is-active{border-color:transparent;background:var(--ei-accent);color:#fff;box-shadow:0 4px 12px #6692f147}.ei-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px 18px;background:linear-gradient(180deg,#fafafa00,#fafafa 40%);border-top:1px solid rgba(228,228,231,.7)}.ei-modal__ghost,.ei-modal__submit,.ei-modal__action{height:38px;padding:0 14px;border-radius:11px;font-size:13px;font-weight:600;letter-spacing:-.01em;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease}.ei-modal__ghost:disabled,.ei-modal__submit:disabled,.ei-modal__action:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ei-modal__ghost:active:not(:disabled),.ei-modal__submit:active:not(:disabled),.ei-modal__action:active:not(:disabled){transform:translateY(.5px)}.ei-modal__ghost{border:1px solid transparent;background:var(--ei-control-bg);color:var(--ei-text-secondary)}.ei-modal__ghost:hover:not(:disabled){color:var(--ei-text);background:var(--ei-control-bg-hover)}.ei-modal__ghost--sm{height:30px;padding:0 10px;font-size:12px;border-radius:9px}.ei-modal__ghost.is-danger:hover:not(:disabled){color:var(--ei-danger);background:#fef2f2}.ei-modal__hint{margin:0;color:var(--ei-text-muted);font-size:12px;font-weight:450;line-height:1.4}.ei-modal__form-error{margin:0;padding:10px 12px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:var(--ei-danger);font-size:12.5px;font-weight:550}.ei-modal__section{display:flex;flex-direction:column;gap:10px;padding-top:6px;border-top:1px solid rgba(228,228,231,.8)}.ei-modal__section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ei-modal__section-head strong{font-size:13px;font-weight:650;letter-spacing:-.02em;color:var(--ei-text)}.ei-modal__block{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid transparent;border-radius:14px;background:#f4f4f5d9}.ei-modal__block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:650;letter-spacing:-.01em;color:var(--ei-text)}.ei-modal__submit{border:0;background:linear-gradient(180deg,#7aa0f4 0%,var(--ei-accent) 100%);color:#fff;box-shadow:0 1px #ffffff38 inset,0 6px 16px #6692f147}.ei-modal__submit:hover:not(:disabled){background:linear-gradient(180deg,#8aabf6 0%,var(--ei-accent-strong) 100%)}.ei-modal__action{border:0;color:#fff}.ei-modal__action[data-tone=danger]{background:#b91c1c;box-shadow:0 6px 16px #b91c1c38}.ei-modal__action[data-tone=danger]:hover:not(:disabled){background:#991b1b}.ei-modal__action[data-tone=default]{background:linear-gradient(180deg,#7aa0f4 0%,var(--ei-accent) 100%);box-shadow:0 1px #ffffff38 inset,0 6px 16px #6692f147}.ei-modal__action[data-tone=default]:hover:not(:disabled){background:linear-gradient(180deg,#8aabf6 0%,var(--ei-accent-strong) 100%)}.ei-modal__entity{margin:0;padding:12px 14px;border:1px solid transparent;border-radius:14px;background:var(--ei-control-bg)}.ei-modal__entity strong{display:block;font-size:13px;font-weight:650;color:var(--ei-text)}.ei-modal__entity span{display:block;margin-top:2px;color:var(--ei-text-muted);font-size:12px}@keyframes ei-modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.ei-check-list{display:flex;flex-direction:column;max-height:260px;overflow:auto;border:1px solid transparent;border-radius:14px;background:var(--ei-control-bg)}.ei-check-list__block{border-bottom:1px solid rgba(228,228,231,.7)}.ei-check-list__block:last-child{border-bottom:0}.ei-check-list__item{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;color:var(--ei-text);cursor:pointer}.ei-check-list__item>span{flex:1;min-width:0}.ei-check-list__item>input[type=checkbox]{width:15px;height:15px;margin:0;flex:none;accent-color:var(--ei-accent)}.ei-check-list__time-row{display:flex;align-items:center;gap:10px;padding:0 12px 12px 36px;font-size:12px;font-weight:550;color:var(--ei-muted, var(--ei-text-muted));cursor:default}.ei-check-list__time-row>span{flex:none}.ei-check-list__time{width:120px;height:34px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:#fff;font:inherit;font-size:12.5px;font-weight:500;color:var(--ei-text);outline:none;box-shadow:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.ei-check-list__time:focus{outline:none;border-color:var(--ei-control-border-focus);box-shadow:none}@media(max-width:640px){.ei-modal__row{grid-template-columns:1fr}}.select__menu{position:fixed;z-index:200;margin:0;padding:4px;list-style:none;overflow:auto;border:1px solid var(--ei-border);border-radius:var(--ei-radius);background:var(--ei-surface);box-shadow:0 8px 24px #18181b1f}.select__option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:32px;padding:6px 8px;border:0;border-radius:var(--ei-radius-sm);background:transparent;color:var(--ei-text-secondary);font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer}.select__option:hover:not(:disabled){background:var(--ei-surface-muted);color:var(--ei-text)}.select__option.is-active{background:var(--ei-accent-soft);color:var(--ei-accent-strong)}.select__option:disabled{opacity:.45;cursor:not-allowed}.select__empty{padding:10px 8px;color:var(--ei-text-muted);font-size:12px}.ei-cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ei-cal-toolbar__left,.ei-cal-toolbar__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ei-cal-toolbar h1{margin:0;font-size:20px;font-weight:600;letter-spacing:-.03em}.ei-cal-toolbar__range{color:var(--ei-text-muted);font-size:13px;font-variant-numeric:tabular-nums}.ei-cal-toolbar__nav{display:inline-flex;border:1px solid var(--ei-border);border-radius:var(--ei-radius);background:var(--ei-surface);overflow:hidden}.ei-cal-toolbar__nav button{height:36px;padding:0 12px;border:0;border-right:1px solid var(--ei-border);background:transparent;color:var(--ei-text-secondary);font-size:13px;font-weight:500}.ei-cal-toolbar__nav button:last-child{border-right:0}.ei-cal-toolbar__nav button:hover{background:var(--ei-surface-muted);color:var(--ei-text)}.ei-cal-toolbar__filter{width:180px}.ei-cal-toolbar__add{height:36px;padding:0 12px;border:0;border-radius:var(--ei-radius-sm);background:var(--ei-accent);color:#fff;font-size:13px;font-weight:600}.ei-cal-toolbar__add span{color:#ffffffb8;margin-right:4px}.ei-cal-toolbar__add:hover{background:var(--ei-accent-hover)}.ei-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--ei-border);border-radius:var(--ei-radius-lg);background:var(--ei-surface);overflow:hidden;min-height:480px}.ei-cal__day{display:flex;flex-direction:column;min-height:480px;border-right:1px solid var(--ei-border);background:var(--ei-surface)}.ei-cal__day:last-child{border-right:0}.ei-cal__day.is-today,.ei-cal__day.is-past{background:#fafafa}.ei-cal__day.is-past .ei-cal__day-head strong,.ei-cal__day.is-past .ei-cal__day-head span{color:var(--ei-text-faint)}.ei-cal__day.is-past .ei-cal__event{opacity:.72}.ei-cal__day-head{padding:10px 12px;border-bottom:1px solid var(--ei-border)}.ei-cal__day-head strong{display:block;font-size:13px;font-weight:600}.ei-cal__day-head span{color:var(--ei-text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.ei-cal__day-body{display:flex;flex-direction:column;gap:8px;padding:10px;flex:1}.ei-cal__empty{color:var(--ei-text-faint);font-size:12px;padding:4px 0}.ei-cal__event{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px;border:1px solid var(--ei-border);border-radius:var(--ei-radius-sm);background:var(--ei-surface);text-align:left;color:inherit;cursor:pointer}.ei-cal__event:hover{border-color:var(--ei-border-strong);background:var(--ei-surface-muted)}.ei-cal__event--theory{border-color:color-mix(in srgb,#3b82f6 28%,var(--ei-border));background:color-mix(in srgb,#eff6ff 70%,var(--ei-surface))}.ei-cal__event--theory:hover{border-color:color-mix(in srgb,#3b82f6 45%,var(--ei-border));background:#eff6ff}.ei-cal__event strong{font-size:12.5px;font-weight:600;line-height:1.3}.ei-cal__event em{font-style:normal;color:var(--ei-text-muted);font-size:11.5px;font-variant-numeric:tabular-nums}.ei-cal__event span{color:var(--ei-text-faint);font-size:11px}@media(max-width:1100px){.ei-cal{grid-template-columns:1fr;min-height:0}.ei-cal__day{min-height:0;border-right:0;border-bottom:1px solid var(--ei-border)}.ei-cal__day:last-child{border-bottom:0}}:root{--ei-font: "Montserrat", "Segoe UI", sans-serif;--ei-font-mono: "IBM Plex Mono", ui-monospace, monospace;--ei-bg: #f4f4f5;--ei-surface: #ffffff;--ei-surface-muted: #fafafa;--ei-border: #e4e4e7;--ei-border-strong: #d4d4d8;--ei-text: #18181b;--ei-text-secondary: #3f3f46;--ei-text-muted: #71717a;--ei-text-faint: #a1a1aa;--ei-accent: #6692f1;--ei-accent-strong: #3b73ed;--ei-accent-hover: #0b49d1;--ei-accent-soft: #e9effd;--ei-focus-ring: rgba(102, 146, 241, .28);--ei-success: #3f6212;--ei-success-soft: transparent;--ei-warning: #92400e;--ei-warning-soft: transparent;--ei-danger: #991b1b;--ei-danger-soft: transparent;--ei-radius-sm: 8px;--ei-radius: 12px;--ei-radius-lg: 16px;--ei-shadow-sm: 0 1px 2px rgba(24, 24, 27, .04);--ei-shadow-md: 0 8px 24px rgba(24, 24, 27, .08);--ei-shadow-lg: 0 24px 64px rgba(24, 24, 27, .16);--ei-control-bg: #f4f4f5;--ei-control-bg-hover: #ececef;--ei-control-bg-focus: #ffffff;--ei-control-border: transparent;--ei-control-border-focus: color-mix(in srgb, var(--ei-accent) 42%, #e4e4e7);--ei-sidebar-width: 248px;--ei-sidebar-collapsed: 72px;--ei-topbar-height: 52px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--ei-font);font-size:14px;line-height:1.45;color:var(--ei-text);background:var(--ei-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}input,textarea,select,button{outline:none}a{color:inherit;text-decoration:none}button{cursor:pointer}
