@layer theme{:root,:host{--default-font-family:Arial, Helvetica, sans-serif;--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg:#171717;--card:#242424;--card2:#2b2b2b;--text:#f5f5f5;--muted:#b9b9b9;--orange:#ff5a12;--orange2:#ff8a00;--green:#35d07f;--red:#ff4f4f;--yellow:#ffd166;--line:#ffffff1f;--shadow:0 18px 48px #00000059;--radius:15px;--background:var(--bg);--foreground:var(--text)}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:radial-gradient(circle at 18% 12%, #ff5a122b, transparent 32%), radial-gradient(circle at 88% 18%, #35d07f1a, transparent 29%), var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.app-shell{width:min(1480px,100%);margin:0 auto;padding:10px}.topbar{align-items:center;gap:10px;margin-bottom:6px;display:flex}.tabs{border:1px solid var(--line);background:#ffffff14;border-radius:14px;gap:4px;padding:4px;display:flex;overflow-x:auto}.tab{min-height:30px;color:var(--text);white-space:nowrap;background:0 0;border-radius:10px;padding:7px 10px;font-size:13px;font-weight:900}.tab.active{background:linear-gradient(135deg, var(--orange), var(--orange2));color:#1c100a}.top-section-title{color:var(--orange2);background:#ff5a1214;border:1px solid #ff5a1247;border-radius:12px;margin-left:auto;padding:6px 10px;font-size:16px;font-weight:900}.google-sync-pill{border:1px solid var(--line);max-width:360px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffff12;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex;overflow:hidden}.google-sync-pill a{color:inherit;text-underline-offset:2px;text-decoration:underline}.google-sync-pill.ready{color:var(--muted);border-color:#ffffff29}.google-sync-pill.pending{color:var(--yellow);border-color:#ffd16673}.google-sync-pill.success{color:var(--green);border-color:#35d07f73}.google-sync-pill.error{color:var(--red);border-color:#ff4f4f8c}.account-pill{border:1px solid var(--line);background:#ffffff12;border-radius:12px;align-items:center;gap:8px;max-width:340px;padding:4px;display:flex}.account-pill span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-left:7px;font-size:12px;font-weight:900;overflow:hidden}.view.active{display:block}.grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.62fr);align-items:start;gap:10px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#242424eb;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);background:#ffffff09;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.schedule-head-compact{display:none}.panel-title{margin:0;font-size:17px;line-height:1.1}.panel-body{padding:10px}.editor.new-mode{background:#242424eb}.editor.editing{box-shadow:0 0 0 2px #ff5a122e, var(--shadow);background:linear-gradient(#ff5a122e,#242424f0 35%);border-color:#ff5a12bf}.date-row{grid-template-columns:auto 1fr auto;align-items:center;gap:6px;margin-bottom:8px;display:grid}.date-box{border:1px solid var(--line);background:var(--card2);text-align:center;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:900}.btn,.icon-btn{border:1px solid var(--line);min-height:34px;color:var(--text);background:#ffffff14;border-radius:10px;padding:7px 10px;font-size:13px;font-weight:900}.btn:disabled,.icon-btn:disabled{cursor:not-allowed;opacity:.48}.icon-btn{width:38px;font-size:20px}.primary{background:linear-gradient(135deg, var(--orange), var(--orange2));color:#1c100a;border:0}.green{color:#a9ffd0;background:#35d07f29;border:1px solid #35d07f59}.danger{color:#ffb0b0;background:#ff4f4f26;border:1px solid #ff4f4f59}.small{min-height:30px;padding:6px 9px;font-size:12px}.calendar-tools{grid-template-columns:1fr 220px;align-items:end;gap:8px;margin-bottom:8px;display:grid}.view-switch{border:1px solid var(--line);background:#ffffff0f;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.view-btn{min-height:30px;color:var(--text);background:0 0;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:900}.view-btn.active{background:linear-gradient(135deg, var(--orange), var(--orange2));color:#1c100a}.jump-row{grid-template-columns:1fr auto;gap:6px;display:grid}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.stat{border:1px solid var(--line);background:var(--card2);border-radius:12px;min-height:60px;padding:10px}.stat-label{color:var(--muted);margin-bottom:5px;font-size:11px}.stat-value{font-size:19px;font-weight:900;line-height:1}.form,.student-list,.income-table{gap:8px;display:grid}.student-list{gap:10px}.field{flex-direction:column;gap:4px;display:flex}label{color:var(--muted);font-size:11px;font-weight:900}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffff14;border-radius:10px;outline:none;padding:8px 10px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#ff5a12b3;box-shadow:0 0 0 2px #ff5a1229}select option{color:#111}textarea{resize:vertical;min-height:56px}.two{grid-template-columns:1fr 1fr;gap:8px;display:grid}.three{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.check-row{align-items:center;gap:8px;display:flex}.check-row input{width:auto}.notification-form-card{background:linear-gradient(#55a6ff14,#55a6ff09),#ffffff09;border:1px solid #55a6ff38;border-radius:12px;gap:9px;padding:10px;display:grid}.notification-form-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.notification-form-head>div{gap:3px;min-width:0;display:grid}.notification-form-head strong{font-size:13px;line-height:1.1}.notification-form-head span{color:var(--muted);font-size:11px;font-weight:900}.notification-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.reminder-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.recipient-form-list{gap:8px;display:grid}.recipient-form-card{background:#0000001f;border:1px solid #ffffff17;border-radius:10px;gap:8px;padding:9px;display:grid}.recipient-form-top{grid-template-columns:minmax(95px,.55fr) minmax(0,1fr);gap:8px;display:grid}.recipient-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipient-form-actions .btn{margin-left:auto}.recipient-form-empty{color:var(--muted);text-align:center;border:1px dashed #ffffff1a;border-radius:10px;padding:12px;font-size:12px;font-weight:900}.recipient-form-empty.compact{text-align:left;padding:8px;font-size:11px}.empty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#ffffff0a;border-radius:12px;padding:20px}.payment-reminders{background:linear-gradient(#ffd16624,#ffd1660e),#ffd1660f;border:1px solid #ffd16670;border-radius:12px;gap:12px;margin-bottom:14px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #ffd16614}.payment-reminders-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.payment-reminders-head>div{gap:3px;min-width:0;display:grid}.payment-reminders-head strong{color:#ffe1a1;font-size:15px;line-height:1.2;display:block}.payment-reminders-head small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25;display:block}.payment-reminders-head span{min-width:74px;min-height:22px;color:var(--yellow);white-space:nowrap;background:#ffd1661a;border:1px solid #ffd16647;border-radius:999px;justify-content:center;align-items:center;padding:3px 9px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.telegram-receipts-panel{background:linear-gradient(135deg,#35d07f1f,#ff8a000b),#ffffff09;border:1px solid #35d07f57;border-radius:12px;gap:12px;margin-bottom:14px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #35d07f12}.telegram-receipts-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.telegram-receipts-head>div:first-child{gap:3px;min-width:0;display:grid}.telegram-receipts-head strong{color:#caffdf;font-size:15px;font-weight:900;line-height:1.2}.telegram-receipts-head small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.telegram-receipts-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.telegram-receipts-actions span{color:#a7f0c3;white-space:nowrap;background:#35d07f1a;border:1px solid #35d07f47;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:4px 9px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.telegram-receipts-state{border-radius:10px;gap:5px;padding:10px 11px;font-size:12px;line-height:1.35;display:grid}.telegram-receipts-state strong{font-size:13px;font-weight:900;line-height:1.2}.telegram-receipts-state span{color:#ffffffb8;font-weight:750}.telegram-receipts-state.success{color:#caffdf;background:#35d07f17;border:1px solid #35d07f47}.telegram-receipts-state.warning{color:#ffd79a;background:#ffb84d17;border:1px solid #ffb84d52}.telegram-receipts-state.error{color:#ffc2c2;background:#ff6b6b1a;border:1px solid #ff6b6b5c}.telegram-receipts-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px;display:grid}.telegram-receipt-card{background:linear-gradient(90deg,#35d07f30,#0000 9px),#35d07f14;border:1px solid #35d07f40;border-radius:10px;gap:9px;min-width:0;padding:10px;display:grid}.telegram-receipt-main{background:#ffffff0e;border:1px solid #ffffff14;border-radius:9px;gap:5px;min-width:0;padding:9px 10px;display:grid}.telegram-receipt-main strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:900;line-height:1.1;overflow:hidden}.telegram-receipt-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;line-height:1.2;overflow:hidden}.telegram-receipt-fields{grid-template-columns:.9fr 1fr 1fr;gap:7px;display:grid}.telegram-receipt-fields span{background:#00000021;border:1px solid #ffffff17;border-radius:9px;align-content:center;gap:4px;min-width:0;min-height:48px;padding:8px;display:grid}.telegram-receipt-fields small{color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:900;line-height:1;overflow:hidden}.telegram-receipt-fields b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.1;overflow:hidden}.telegram-receipt-text,.telegram-receipt-hint{color:var(--muted);background:#0000001a;border:1px solid #ffffff14;border-radius:9px;margin:0;padding:8px 9px;font-size:12px;font-weight:700;line-height:1.35}.telegram-receipt-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.telegram-receipt-hint{color:#ffe1a1}.telegram-receipt-payment{background:#35d07f14;border:1px solid #35d07f38;border-radius:10px;grid-template-columns:1fr 1.2fr;gap:8px;padding:9px;display:grid}.telegram-receipt-payment .field{min-width:0}.telegram-receipt-payment input{min-height:34px;font-weight:900}.telegram-receipt-buttons{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.telegram-receipts-empty{background:#35d07f0e;border:1px dashed #35d07f3d;border-radius:10px;gap:5px;padding:12px;display:grid}.telegram-receipts-empty strong{color:#caffdf;font-size:13px;line-height:1.2}.telegram-receipts-empty span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.payment-dashboard{background:linear-gradient(135deg,#ff8a001f,#35d07f12),#ffffff09;border-color:#ff8a0061;gap:14px}.payment-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.payment-dashboard-section{background:#0000001f;border:1px solid #ffd16633;border-radius:11px;align-content:start;gap:10px;min-width:0;padding:10px;display:grid}.payment-dashboard-section.debt-section{background:linear-gradient(#ff5f5f14,#0000),#00000021;border-color:#ff5f5f47}.payment-dashboard-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.payment-dashboard-section-head strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.1;overflow:hidden}.payment-dashboard-section-head span{min-height:24px;color:var(--muted);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.payment-empty-card{background:#35d07f11;border:1px dashed #35d07f42;border-radius:10px;gap:5px;min-height:92px;padding:12px;display:grid}.payment-empty-card.debt-empty{background:#ffffff0b;border-color:#ffffff1f}.payment-empty-card strong{color:#caffdf;font-size:13px;line-height:1.2}.payment-empty-card span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.student-section-label{background:linear-gradient(90deg,#35d07f2e,#0000 58%),#35d07f12;border:1px solid #35d07f47;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:10px 12px;display:grid}.student-section-label.archive{background:linear-gradient(90deg,#ff8a0033,#0000 58%),#ff8a0012;border-color:#ff8a0057;margin-top:8px}.student-section-label span{gap:3px;min-width:0;display:grid}.student-section-label strong{color:#caffdf;font-size:15px;line-height:1.1}.student-section-label.archive strong{color:#ffd18a}.student-section-label small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.2}.student-section-label b{min-width:34px;min-height:28px;color:var(--text);background:#00000029;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.payment-reminders-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.payment-reminder-card{border:1px solid var(--line);min-height:92px;color:var(--text);text-align:left;cursor:pointer;background:#ffffff0e;border-radius:10px;gap:8px;padding:10px;display:grid}.payment-reminder-card *{min-width:0}.payment-reminder-card:hover{background:#ffffff14;border-color:#ffffff2e}.payment-reminder-card.urgent{background:linear-gradient(90deg,#ff4f4f38,#0000 9px),#ff4f4f21;border-color:#ff4f4f61}.payment-reminder-card.warning{background:linear-gradient(90deg,#ffd16638,#0000 9px),#ffd1661a;border-color:#ffd1665c}.payment-reminder-name{background:#ffffff0f;border:1px solid #ffffff14;border-radius:9px;gap:6px;min-width:0;padding:9px 10px;display:grid}.payment-reminder-label{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900;line-height:1;display:block}.payment-reminder-student{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:900;line-height:1.1;display:block;overflow:hidden}.payment-reminder-bottom{grid-template-columns:96px minmax(0,1fr);gap:8px;display:grid}.payment-reminder-value{background:#0000001f;border:1px solid #ffffff1a;border-radius:9px;align-content:center;justify-items:center;gap:4px;padding:8px;display:grid}.payment-reminder-value>span:last-child{color:var(--text);font-size:18px;font-weight:900;line-height:1}.payment-reminder-status{text-align:center;border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1.15;display:inline-flex}.payment-reminder-card.urgent .payment-reminder-status{color:#ffc4c4;background:#ff4f4f29;border:1px solid #ff4f4f57}.payment-reminder-card.warning .payment-reminder-status{color:var(--yellow);background:#ffd16624;border:1px solid #ffd16657}.debt-reminders-list{gap:8px;display:grid}.debt-reminder-card{min-width:0;min-height:116px;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(90deg,#ff5f5f38,#0000 9px),#ff5f5f1c;border:1px solid #ff5f5f52;border-radius:10px;gap:9px;padding:10px;display:grid}.debt-reminder-card:hover{background:linear-gradient(90deg,#ff5f5f47,#0000 9px),#ff5f5f26;border-color:#ff7e7e7a}.debt-reminder-main{background:#ffffff0e;border:1px solid #ffffff14;border-radius:9px;gap:6px;min-width:0;padding:9px 10px;display:grid}.debt-reminder-main strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:900;line-height:1.1;overflow:hidden}.debt-reminder-fields{grid-template-columns:1.25fr .85fr .95fr;gap:7px;display:grid}.debt-reminder-fields span{background:#00000024;border:1px solid #ffffff17;border-radius:9px;align-content:center;gap:4px;min-width:0;min-height:48px;padding:8px;display:grid}.debt-reminder-fields small{color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:900;line-height:1;overflow:hidden}.debt-reminder-fields b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.1;overflow:hidden}.debt-telegram-status{text-align:center;border-radius:9px;justify-content:center;align-items:center;min-height:30px;padding:6px 9px;font-size:12px;font-weight:900;line-height:1.15;display:inline-flex}.debt-telegram-status.ready{color:#a7f0c3;background:#35d07f1f;border:1px solid #35d07f47}.debt-telegram-status.missing{color:var(--yellow);background:#ffd1661f;border:1px solid #ffd16652}.calendar-grid{gap:8px;display:grid}.week-grid{grid-template-columns:repeat(7,minmax(120px,1fr))}.month-grid{grid-template-columns:repeat(7,minmax(95px,1fr))}.day-cell{border:1px solid var(--line);background:#2b2b2be6;border-radius:13px;min-height:170px;padding:7px;transition:all .14s}.week-grid .day-cell{min-height:360px}.month-grid .day-cell{min-height:105px}.day-cell:hover{background:#ff5a1214;border-color:#ff5a1273}.day-cell.today{box-shadow:0 0 0 2px #35d07f40}.day-cell.outside{opacity:.42}.day-cell-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.day-number{color:var(--text);font-size:13px;font-weight:900}.day-week{color:var(--muted);font-size:10px;font-weight:900}.mini-event{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#ffffff14;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;margin-top:4px;padding:5px 6px;display:grid}.mini-event-main{gap:4px;min-width:0;display:grid}.mini-event-top{align-items:center;gap:4px;min-width:0;display:flex}.mini-event.selected{background:linear-gradient(135deg,#ff5a1280,#ff8a0038);border-color:#ff5a12cc}.mini-event-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:900;line-height:1.1;display:flex;overflow:hidden}.more-events{color:var(--muted);margin-top:4px;font-size:11px;font-weight:900}.day-timeline{grid-template-columns:54px 1fr;gap:6px;display:grid;position:relative}.timeline-hours{grid-template-rows:repeat(14,44px);display:grid}.timeline-hour-label{color:var(--muted);text-align:right;padding-top:5px;font-size:12px;font-weight:900}.timeline-area{background:#ffffff06;border:1px solid #ffffff14;border-radius:14px;min-height:616px;position:relative;overflow:hidden}.timeline-slot{pointer-events:none;background:#ffffff05;border-bottom:1px dashed #ffffff1f;height:44px;position:absolute;left:0;right:0}.timeline-half-slot{background:0 0;border-bottom:1px dotted #ffffff0e;height:22px;transition:all .12s;position:absolute;left:0;right:0}.timeline-half-slot:hover{background:#ff5a121a}.timeline-half-slot.drag-over,.day-cell.drag-over{outline-offset:-2px;background:#ff5a1221;outline:2px solid #ff5a12bf}.timeline-event{z-index:3;color:var(--text);text-align:left;background:linear-gradient(135deg,#ff5a1257,#2b2b2bf5);border:1px solid #ff8a0073;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 7px;display:grid;position:absolute;left:8px;right:8px;overflow:hidden;box-shadow:0 8px 20px #00000038}.timeline-event,.mini-event{cursor:grab;-webkit-user-select:none;user-select:none}.timeline-event:active,.mini-event:active{cursor:grabbing}.timeline-event.selected{border-color:#ff5a12f2;box-shadow:0 0 0 2px #ff5a1247,0 8px 20px #00000040}.timeline-event-main{gap:4px;min-width:0;display:grid}.timeline-event-top{align-items:center;gap:4px;min-width:0;display:flex}.timeline-event-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:900;line-height:1.1;display:flex;overflow:hidden}.event-student-name{text-overflow:ellipsis;min-width:0;display:inline-block;overflow:hidden}.event-subscription-scale{gap:3px;width:min(420px,100%);display:grid}.event-subscription-scale span{background:#ffffff1a;border:1px solid #ffffff21;border-radius:3px;height:7px;display:block}.event-subscription-scale span.past{background:linear-gradient(135deg, var(--orange), var(--orange2));border-color:#ff8a00b3}.event-subscription-scale span.current{background:linear-gradient(135deg, #28c978, var(--green));border-color:#35d07fd1}.mini-event .event-subscription-scale{gap:2px}.mini-event .event-subscription-scale span{height:5px}.timeline-event.short{grid-template-columns:minmax(0,1fr) auto;padding:2px 6px}.timeline-event.short .timeline-event-main{align-items:center;display:flex}.timeline-event.short .timeline-event-top{display:none}.timeline-event.short .timeline-event-name{min-width:0;font-size:12px;line-height:1;display:flex}.timeline-event.short .event-subscription-scale{display:none}.event-actions{justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.event-action-btn{border:1px solid var(--line);width:28px;height:28px;color:var(--text);background:#ffffff17;border-radius:8px;place-items:center;font-size:17px;font-weight:900;line-height:1;display:grid}.event-action-btn.done{color:#a9ffd0;border-color:#35d07f59}.event-action-btn.done.active{color:#fff;background:#35d07f52;border-color:#35d07fc7}.event-action-btn.cancel{color:#ffb0b0;border-color:#ff4f4f61}.event-action-btn.cancel.active{color:#fff;background:#ff4f4f47;border-color:#ff4f4fc7}.mini-event .event-actions{gap:4px}.mini-event .event-action-btn{border-radius:7px;width:24px;height:24px;font-size:15px}.timeline-event.short .event-action-btn{border-radius:6px;width:22px;height:20px;font-size:13px}.timeline-event.done-event{background:linear-gradient(135deg,#35d07f57,#2b2b2bf5);border-color:#35d07fb3}.timeline-event.cancelled-event{background:linear-gradient(135deg,#ff4f4f47,#2b2b2bf5);border-color:#ff4f4fb8}.timeline-event.done-event .timeline-event-name,.mini-event.done-event .mini-event-name{color:#d9ffe9}.timeline-event.cancelled-event .timeline-event-name,.mini-event.cancelled-event .mini-event-name{color:#ffd1d1}.mini-event.done-event{background:linear-gradient(135deg,#35d07f52,#2b2b2beb);border-color:#35d07fa6}.mini-event.cancelled-event{background:linear-gradient(135deg,#ff4f4f42,#2b2b2beb);border-color:#ff4f4fa6}.event-status-badge{border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;width:fit-content;min-height:14px;margin:0;padding:1px 5px;font-size:8px;font-weight:900;line-height:1;display:inline-flex}.event-status-badge.cancelled{color:#ffd1d1;background:#ff4f4f33;border-color:#ff4f4f80}.event-status-badge.moved{color:#e3d7ff;background:#b48cff29;border-color:#b48cff6b}.student-card,.income-row,.settings-card{border:1px solid var(--line);background:var(--card2);border-radius:12px;padding:10px}.student-card{align-items:stretch;gap:0;padding:0;transition:all .14s;display:grid;overflow:hidden}.student-card.expanded{background:linear-gradient(180deg, #ff5a1214, var(--card2) 110px);border-color:#ff5a1252}.student-card.archived-card{background:linear-gradient(90deg, #ff8a0014, transparent 120px), var(--card2);opacity:.82;border-color:#ff8a002e}.student-disclosure{width:100%;color:var(--text);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.student-disclosure:hover{background:#ffffff0b}.student-disclosure-main{gap:6px;min-width:0;display:grid}.student-name-line{align-items:center;gap:8px;min-width:0;display:flex}.student-name-line b{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.student-compact-meta{flex-wrap:wrap;gap:6px;display:flex}.student-compact-meta span,.student-summary-chip{min-height:24px;color:var(--muted);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff17;border-radius:8px;align-items:center;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.student-summary-chip{color:#a9ffd0;background:#35d07f1f;border-color:#35d07f57}.student-caret{border:1px solid var(--line);width:28px;height:28px;color:var(--text);background:#ffffff12;border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.student-details{border-top:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:0 14px 14px;display:grid}.student-details-main{gap:10px;min-width:0;display:grid}.student-info-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.student-info-strip>div,.student-contact-line{background:#ffffff0e;border:1px solid #ffffff17;border-radius:10px;min-width:0;padding:8px 10px}.student-info-strip span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;display:block;overflow:hidden}.student-info-strip strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;display:block;overflow:hidden}.student-contact-line{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.student-details .actions{align-content:start;padding-top:12px}.income-row strong{font-size:16px}.student-subscription p,.note{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.muted-card{opacity:.58}.student-card.archived-card.muted-card{opacity:.82}.badge{border:1px solid var(--line);background:#ffffff14;border-radius:999px;align-items:center;min-height:22px;margin-left:8px;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex}.badge.inactive,.error-note{color:#ffb0b0}.success-note{color:#a9ffd0}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.subscription-presets{flex-wrap:wrap;gap:6px;display:flex}.student-subscription{background:#35d07f11;border:1px solid #35d07f33;border-radius:10px;gap:8px;margin-top:0;padding:10px;display:grid}.student-telegram-card{background:#55a6ff11;border:1px solid #55a6ff38;border-radius:10px;gap:8px;margin-top:0;padding:10px;display:grid}.student-telegram-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-telegram-head strong{font-size:13px}.student-telegram-head span{border-radius:999px;align-items:center;min-height:22px;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex}.student-telegram-head span.ready{color:#a9ffd0;background:#35d07f1f;border:1px solid #35d07f52}.student-telegram-head span.pending{color:var(--yellow);background:#ffd1661a;border:1px solid #ffd16647}.student-telegram-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.student-recipients-card{background:linear-gradient(135deg,#55a6ff1a,#35d07f0f),#55a6ff0b;border-color:#55a6ff47}.student-recipient-list{gap:7px;display:grid}.student-recipient-chip{background:#ffffff0e;border:1px solid #ffffff17;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.student-recipient-chip>div:first-child{gap:2px;min-width:0;display:grid}.student-recipient-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.1;overflow:hidden}.student-recipient-chip span{color:var(--muted);font-size:10px;font-weight:900}.recipient-channel-tags{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.recipient-channel-tags span,.recipient-channel-tags b{color:#b8d9ff;background:#55a6ff1a;border:1px solid #55a6ff3d;border-radius:999px;min-height:20px;padding:3px 6px;font-size:10px;font-weight:900;line-height:1.1}.recipient-channel-tags b{color:#a9ffd0;background:#35d07f1c;border-color:#35d07f42}.lesson-reminder-summary{background:#ffd16613;border:1px solid #ffd16638;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.lesson-reminder-summary span{color:var(--muted);font-size:11px;font-weight:900}.lesson-reminder-summary strong{color:var(--yellow);font-size:12px;font-weight:900}.student-telegram-actions{grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:8px;display:grid}.student-telegram-actions select{min-height:30px;padding:6px 9px;font-size:12px;font-weight:900}.student-subscription-head{justify-content:space-between;align-items:center;gap:10px;max-width:520px;display:flex}.student-subscription-head strong{font-size:13px}.student-subscription-head span{color:var(--muted);font-size:12px;font-weight:900}.subscription-progress-grid{grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:6px;width:min(420px,100%);display:grid}.subscription-progress-grid span{border:1px solid var(--line);background:#ffffff1a;border-radius:6px;min-height:18px;display:block}.subscription-progress-grid span.filled{background:linear-gradient(135deg, var(--orange), var(--orange2));border-color:#ff8a00b3}.subscription-stack,.subscription-create{gap:8px;display:grid}.subscription-item,.subscription-create{background:#ffffff0e;border:1px solid #ffffff17;border-radius:10px;padding:9px}.subscription-item.finished{opacity:.82;background:#ffffff09;border-color:#ffffff14}.subscription-item-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.subscription-item-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.subscription-item-head span{color:#a9ffd0;white-space:nowrap;background:#35d07f1a;border:1px solid #35d07f47;border-radius:999px;align-items:center;min-height:22px;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex}.subscription-item.finished .subscription-item-head span{color:var(--muted);background:#ffffff0f;border-color:#ffffff1f}.subscription-item .btn,.subscription-create .btn{margin-top:8px}.subscription-limit-note{color:var(--yellow);background:#ffd16614;border:1px solid #ffd16638;border-radius:9px;padding:8px 10px}.student-history{background:#ff8a000e;border:1px solid #ff8a002e;border-radius:10px;gap:8px;margin-top:0;padding:10px;display:grid}.student-history-head{justify-content:space-between;align-items:center;gap:10px;max-width:none;display:flex}.student-history-head strong{font-size:13px}.student-history-head span{color:var(--muted);font-size:12px;font-weight:900}.history-disclosure{width:100%;color:var(--text);text-align:left;background:#ffffff12;border:1px solid #ffffff1a;border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.history-disclosure span:first-child{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.history-disclosure small{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:900}.student-history-grid{grid-template-columns:minmax(250px,1.2fr) repeat(3,minmax(150px,1fr));align-items:start;gap:10px;display:grid}.student-history-section{background:#0000001f;border:1px solid #ffffff17;border-radius:10px;min-width:0;padding:8px}.history-section-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.student-history-section h3{color:var(--muted);margin:0;font-size:11px;font-weight:900}.history-section-title span{min-width:24px;min-height:22px;color:var(--muted);background:#ffffff12;border:1px solid #ffffff17;border-radius:999px;justify-content:center;align-items:center;padding:2px 6px;font-size:11px;font-weight:900;display:inline-flex}.student-history-section ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.student-history-section li{background:#ffffff0e;border:1px solid #ffffff12;border-radius:9px;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:8px;display:grid}.student-history-section li:first-child{border-top:1px solid #ffffff12;padding-top:8px}.lesson-history-text{gap:2px;min-width:0;display:grid}.lesson-history-text strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.student-history-section small,.student-history-section p{color:var(--muted);margin:0;font-size:11px;line-height:1.3}.history-dot{background:var(--muted);border-radius:999px;width:8px;height:8px;margin-top:4px}.history-dot.done{background:var(--green)}.history-dot.cancelled{background:var(--red)}.history-dot.moved{background:#b48cff}.payment-history-table{gap:5px;display:grid}.payment-history-header,.payment-history-row{grid-template-columns:72px minmax(84px,1fr) 54px;align-items:center;gap:6px;display:grid}.payment-history-header{color:var(--muted);padding:0 8px;font-size:10px;font-weight:900}.payment-history-row{background:#ffffff0e;border:1px solid #ffffff12;border-radius:9px;min-height:34px;padding:7px 8px}.payment-history-row.cancelled{background:#ff4f4f17;border-color:#ff4f4f3d}.payment-history-row span,.payment-history-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:900;overflow:hidden}.payment-history-row span{color:var(--muted)}.payment-history-row strong{color:var(--text)}.subscription-payment-fields{grid-template-columns:100px 150px;align-items:end;gap:8px;display:grid}.income-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.settings-card{margin-bottom:8px}.settings-card h3,.section-subtitle{margin:0 0 5px;font-size:15px}.settings-action{margin-top:10px}.telegram-settings-action{background:#ffffff0e;border:1px solid #ffffff17;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px;display:flex}.telegram-settings-action span{color:var(--muted);font-size:12px;font-weight:900}.telegram-settings-action strong{color:var(--text)}.telegram-settings-action .settings-action{margin-top:0}.telegram-auto-card{background:#35d07f14;border:1px solid #35d07f3d;border-radius:10px;gap:3px;margin-top:8px;padding:9px 10px;display:grid}.telegram-auto-card strong{color:#a9ffd0;font-size:12px;line-height:1.2}.telegram-auto-card span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.telegram-student-auto-card{background:#55a6ff12;border:1px solid #55a6ff3d;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:10px;display:grid}.telegram-student-auto-card.enabled{background:#35d07f14;border-color:#35d07f47}.telegram-student-auto-card>span{gap:3px;min-width:0;display:grid}.telegram-student-auto-card strong{color:var(--text);font-size:12px;line-height:1.2}.telegram-student-auto-card small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.telegram-student-auto-card .settings-action{margin-top:0}.telegram-chat-list{gap:6px;margin-top:8px;display:grid}.telegram-chat-row{background:#35d07f14;border:1px solid #35d07f3d;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.telegram-chat-row span{gap:2px;min-width:0;display:grid}.telegram-chat-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.telegram-chat-row small{color:var(--muted);font-size:10px;font-weight:900}.telegram-chat-row code{color:#a9ffd0;background:#0003;border:1px solid #ffffff1a;border-radius:8px;padding:5px 7px;font-size:12px;font-weight:900}.telegram-schedule-card{background:#ff8a0014;border:1px solid #ff8a003d;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:10px;display:grid}.telegram-schedule-card>span{gap:3px;min-width:0;display:grid}.telegram-schedule-card strong{color:var(--text);font-size:12px;line-height:1.2}.telegram-schedule-card small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.telegram-schedule-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.telegram-schedule-actions .settings-action{margin-top:0}.auth-shell{place-items:center;min-height:100vh;display:grid}.auth-panel{width:min(460px,100%)}.auth-head{align-items:flex-start}.auth-kicker{color:var(--orange2);margin:0 0 4px;font-size:12px;font-weight:900}.auth-switch{border:1px solid var(--line);background:#ffffff0f;border-radius:12px;gap:4px;padding:4px;display:flex}.auth-form{gap:10px;display:grid}.auth-submit{width:100%;margin-top:4px}.auth-link-button{width:fit-content;color:var(--orange2);text-underline-offset:3px;background:0 0;border-radius:8px;justify-self:center;padding:4px 8px;font-size:12px;font-weight:900;text-decoration:underline}.auth-link-button:disabled{cursor:not-allowed;opacity:.5}.auth-loading{text-align:center}.toast{z-index:50;border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#111;border-radius:14px;padding:13px 16px;font-weight:900;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.modal{z-index:40;background:#0000009e;place-items:center;padding:18px;display:none;position:fixed;inset:0}.modal.show{display:grid}.modal-card{width:min(520px,100%);box-shadow:var(--shadow);background:#202020;border:1px solid #ff5a1259;border-radius:16px;padding:14px}.modal-card h3{margin:0 0 8px;font-size:19px}.modal-card p{color:var(--muted);line-height:1.5}.modal-actions{gap:10px;margin-top:14px;display:grid}.receipt-preview-backdrop{z-index:60;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.receipt-preview-modal{width:min(980px,96vw);height:min(860px,92vh);box-shadow:var(--shadow);background:#1f1f1f;border:1px solid #35d07f57;border-radius:16px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.receipt-preview-head{border-bottom:1px solid var(--line);background:#35d07f14;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:11px 12px;display:flex}.receipt-preview-head>div{gap:3px;min-width:0;display:grid}.receipt-preview-head span{color:#a9ffd0;text-transform:uppercase;font-size:11px;font-weight:900;line-height:1}.receipt-preview-head strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;line-height:1.15;overflow:hidden}.receipt-preview-body{background:#0000003d;min-height:0;padding:12px;display:grid}.receipt-preview-body object,.receipt-preview-body iframe{background:#fff;border:0;border-radius:10px;width:100%;height:100%;min-height:0}.receipt-preview-fallback{border:1px dashed var(--line);text-align:center;background:#ffffff0a;border-radius:12px;place-content:center;justify-items:center;gap:10px;min-height:260px;display:grid}.receipt-preview-fallback span{color:var(--muted);font-size:12px;font-weight:800}@media (max-width:980px){.app-shell{padding:8px}.grid,.calendar-tools,.stats,.three,.week-grid,.month-grid{grid-template-columns:1fr}.week-grid .day-cell{min-height:auto}.student-details{grid-template-columns:1fr}.student-details .actions{justify-content:flex-start;padding-top:0}.student-info-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.student-recipient-chip,.recipient-form-top,.student-telegram-actions{grid-template-columns:1fr}.recipient-channel-tags{justify-content:flex-start}.student-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-history-section{grid-column:1/-1}}@media (max-width:700px){.topbar{flex-direction:column;align-items:flex-start}.top-section-title,.google-sync-pill,.account-pill{width:100%;margin-left:0}.auth-head{flex-direction:column;gap:10px}.auth-switch{width:100%}.auth-switch .view-btn{flex:1}}@media (max-width:900px){.payment-dashboard-grid{grid-template-columns:1fr}}@media (max-width:560px){.two,.subscription-payment-fields,.student-telegram-actions,.income-row,.debt-reminder-fields,.telegram-receipt-fields,.telegram-receipt-payment,.telegram-receipts-head,.payment-reminder-bottom,.telegram-student-auto-card,.telegram-schedule-card{grid-template-columns:1fr}.telegram-receipts-actions{justify-content:flex-start}.telegram-receipts-list,.payment-reminders-list{grid-template-columns:1fr}.payment-reminder-status,.payment-reminder-value{justify-content:flex-start;justify-items:flex-start}.student-disclosure{grid-template-columns:minmax(0,1fr) auto}.student-summary-chip{grid-column:1;width:fit-content}.student-info-strip{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:flex-start}.actions{justify-content:flex-start}.student-history-grid{grid-template-columns:1fr}}
