/* Репетитор 2026 · Тетрадь. All rules are opt-in and reversible. */
body.atelier {
  --blue:#285b4d; --blue-2:#285b4d; --blue-soft:#edf3ee;
  --violet:#285b4d; --violet2:#285b4d; --green:#28694b; --green-soft:#edf4ee;
  --red:#a43d32; --red-soft:#fcf0ec; --orange:#a66a20; --orange-soft:#fcf4e5;
  --dark:#242c29; --dark-2:#39423c; --ink:#242c29; --muted:#667068;
  --bg:#f5f4ef; --bg-2:#f5f4ef; --card:#fffefa; --card-strong:#fffefa;
  --border:#dddeda; --line:#dddeda; --shadow:none; --shadow-soft:none;
  --radius:10px; --radius-md:8px; --radius-sm:6px;
  color:var(--ink); background:#f5f4ef; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
  overflow-x:clip!important;overflow-y:visible!important;
}
body.atelier h1,body.atelier h2,body.atelier h3 {color:var(--ink)}
body.atelier :is(a,button,input,select,textarea):focus-visible {outline:2px solid #285b4d;outline-offset:3px}
body.atelier :is(input,textarea,select) {
  border-color:#d6dad4; border-radius:6px; background-color:#fffefa;
  color:var(--ink); box-shadow:none; font-family:inherit; min-height:44px;
}
body.atelier :is(input,textarea,select):focus {border-color:#285b4d;box-shadow:0 0 0 3px #285b4d12;transform:none}
body.atelier :is(input[type="checkbox"],input[type="radio"]) {min-height:0;width:auto;display:inline-block;margin:0 7px 0 0;vertical-align:middle;accent-color:#285b4d}
body.atelier :is(.btn,button) {border-radius:6px;background:#285b4d;color:#fffefa;box-shadow:none;letter-spacing:0;font-weight:600;transition:background .15s,border-color .15s;}
body.atelier :is(.btn,button):hover {box-shadow:none;transform:none;filter:none;background:#204a3e}
body.atelier .btn.secondary {border:1px solid #d4d9d3;background:#fffefa;color:#39463d}
body.atelier .btn.secondary:hover {background:#eef2eb;border-color:#b8c4b9}
body.atelier .btn.dark {background:#303a34;color:#fffefa}
body.atelier .btn.green {background:#eaf3ec;color:#255b3f;border:1px solid #c7ddcc}
body.atelier .btn.red {background:#fcf0ed;color:#a43d32;border:1px solid #ecd0c8}
body.atelier .btn.orange {background:#fcf3e2;color:#82571b;border:1px solid #e8d8b8}
body.atelier .btn.small {border-radius:5px;font-size:12px;line-height:1.35;min-height:32px}
body.atelier :is(.btn,button):disabled {opacity:.55;cursor:not-allowed}
body.atelier .card {border:1px solid #dddeda;border-radius:10px;background:#fffefa;box-shadow:none;backdrop-filter:none}
body.atelier .card:hover {box-shadow:none}
body.atelier .app-shell {grid-template-columns:244px minmax(0,1fr)}
body.atelier .app-sidebar {background:#eeefe8;border-color:#d7dcd3;box-shadow:none;padding:30px 18px 22px;backdrop-filter:none;align-self:start}
body.atelier .side-brand {gap:10px;margin-bottom:32px}
body.atelier .brand-icon {border-radius:4px;background:#285b4d;color:#fffefa;box-shadow:none;width:36px;height:40px;font:italic 30px Georgia,serif}
body.atelier .side-brand strong {font-size:16px;letter-spacing:-.4px;font-weight:650}
body.atelier .side-brand span {font-size:11px;color:#627062}
body.atelier .side-balance {padding:18px 4px 22px;background:transparent;border:0;border-bottom:1px solid #d3d9cf;border-radius:0;margin-bottom:20px}
body.atelier .side-balance strong {font-size:26px;font-weight:600;overflow-wrap:anywhere}
body.atelier .side-balance span {font-size:10px;letter-spacing:1.2px}
body.atelier .side-balance a {font-size:13px;font-weight:600;border-bottom:1px solid #9eb8a8}
body.atelier .side-help {background:transparent;border:0;border-top:1px solid #d3d9cf;border-radius:0;padding:18px 4px 0;margin-top:24px}
body.atelier .side-help span,body.atelier .side-help a {font-size:11px;overflow-wrap:anywhere}
body.atelier .side-help b {font-size:12px;font-weight:600}
body.atelier .side-logout {background:transparent;color:#526152;border:1px solid #d1d9cf;border-radius:6px;font-size:12px;padding:9px}
body.atelier .side-logout:hover {background:#e2e8de}
body.atelier .side-link {border-radius:5px;font-size:13px}
body.atelier .side-link.active {background:#dfe8dc;color:#28513e;box-shadow:none}
body.atelier .app-main .topbar {padding:32px 32px 20px;position:relative;background:transparent;box-shadow:none;backdrop-filter:none}
body.atelier .topbar h2 {font-size:26px;letter-spacing:-.8px;font-weight:600;line-height:1.25}
body.atelier .topbar #userTitle {margin-top:8px;font-size:12px}
body.atelier .topbar .right {gap:8px}
body.atelier .topbar .right .btn {font-size:12px;padding:8px 12px;min-height:36px}
body.atelier .app-main .container {padding:8px 32px 64px;max-width:1600px}
body.atelier .container > section {scroll-margin-top:24px}
body.atelier .container > section.card {padding:24px;margin-bottom:24px}
body.atelier .section-title {margin-bottom:22px;gap:16px}
body.atelier .section-title h3 {font-size:20px;font-weight:600;letter-spacing:-.4px}
body.atelier .section-title .muted {font-size:12px;max-width:650px;margin-top:4px}
body.atelier .eyebrow {font-size:10px;letter-spacing:1.3px;font-weight:600;color:#50715a;margin-bottom:7px}
body.atelier :is(#dashboard,#top).grid {gap:0;background:#fffefa;border:1px solid #d9ddd5;border-radius:8px;overflow:hidden;margin-bottom:28px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
body.atelier :is(#dashboard,#top).grid > .card {border:0;border-right:1px solid #e0e3dc;border-radius:0;margin:0;padding:22px 20px;min-width:0}
body.atelier :is(#dashboard,#top).grid > .card:last-child {border-right:0}
body.atelier :is(#dashboard,#top).grid .muted {font-size:11px;font-weight:500;line-height:1.5}
body.atelier .metric {font-variant-numeric:tabular-nums;font-size:29px;font-weight:500;letter-spacing:-1px;line-height:1.25;overflow-wrap:anywhere}
body.atelier .metric.small-metric {font-size:19px;letter-spacing:-.3px}
body.atelier .scroll {border-radius:6px;border-color:#dce1d8}
body.atelier .atelier-table-hint {font-size:11px;color:#68765e;margin:0 0 9px;line-height:1.4}
body.atelier table {background:#fffefa}
body.atelier :is(th,td) {border-bottom-color:#e5e7e1;padding:14px 12px;font-size:13px}
body.atelier th {background:#f1f3ed!important;color:#64705f;font-size:11px;font-weight:650;letter-spacing:.1px;box-shadow:inset 0 -1px #d9dfd4!important}
body.atelier tr:last-child td {border-bottom:0}
body.atelier tbody tr:hover td {background:#f7f8f2}
body.atelier .clickable-row:hover td {background:#edf2e8!important}
body.atelier .debt-row td {background:#fff5f0!important}
body.atelier .pill {border-radius:4px;font-size:11px;padding:5px 8px;font-weight:600;line-height:1.25}
body.atelier :is(.pill.ok,.pill.good) {background:#e8f1e7;color:#35633b}
body.atelier .pill.wait {background:#faf0db;color:#805c1c}
body.atelier :is(.pill.cancel,.pill.debt) {background:#f9eae5;color:#9a4333}
body.atelier .notice {background:#f1f4ed;border:1px solid #d9e3d2;border-radius:6px;color:#42543d;box-shadow:none}
body.atelier .notice.danger {background:#fdf0ea;border-color:#e6c8bb;color:#964534}
body.atelier .notice.success {background:#edf5eb;border-color:#c9ddc3;color:#3a6439}
body.atelier .mini-panel,body.atelier .homework-card,body.atelier .progress-card {background:#f8f9f3;border-color:#dde2d5;border-radius:7px}
body.atelier .homework-card.done {background:#f0f6ed;border-color:#cedec5}
body.atelier :is(.tc-table-control,.tc-global-controls) {background:#f5f7f0;border-color:#dae0d2;border-radius:5px;box-shadow:none}
body.atelier :is(.tc-table-toggle,.tc-all-btn) {background:#fffefa;color:#45623f;box-shadow:none;border:1px solid #d4dece;border-radius:5px}
body.atelier .payment-suite::before {display:none}
body.atelier .amount-chip {background:#fffefa;border:1px solid #d3dccf;color:#43553c;box-shadow:none;border-radius:6px}
body.atelier .amount-chip.active {background:#edf4e8;border:2px solid #45673e;color:#35542f;box-shadow:none}
body.atelier #topupAmount {font-variant-numeric:tabular-nums;min-height:60px;font-size:28px;font-weight:600;border:2px solid #80986c;background:#fffef5}
body.atelier .pay-input-row label {font-weight:650;color:#405832}
body.atelier .pay-main {background:#285b4d;color:white;box-shadow:none;border-radius:6px}
body.atelier .pay-footer strong {font-weight:550;font-variant-numeric:tabular-nums}
body.atelier .secure-strip {background:#f7f6e9;border-color:#e4dfbf;border-radius:6px}
body.atelier .public-links a {font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
body.atelier .chat-contacts,body.atelier .chat-panel {border-color:#dce2d5;border-radius:7px;background:#fffefa}
body.atelier .chat-contact {background:transparent;color:#3a4437;border-radius:5px;box-shadow:none}
body.atelier .chat-contact:hover,body.atelier .chat-contact.active {background:#edf2e7;border-color:#d3ddc9;color:#39502e}
body.atelier .chat-contact .avatar {background:#e0e9d7;color:#45603a;border-radius:50%}
body.atelier .chat-messages {background:#fafbf5}
body.atelier .chat-message.mine .bubble {background:#e9f1e2;border:1px solid #dde7d5}
body.atelier .bubble {background:#f0f1eb;border-radius:10px 10px 10px 2px}
body.atelier .chat-message.mine .bubble {border-radius:10px 10px 2px 10px}
body.atelier .chat-head,body.atelier .chat-compose {background:#fffefa;border-color:#dce2d5}
body.atelier .chat-compose textarea {border-radius:6px}
body.atelier .send-btn {background:#285b4d;border-radius:6px}
body.atelier .attach-btn {background:#f1f4ea;color:#506147;border:1px solid #d3ddc8;border-radius:6px}
body.atelier .modal-v1-dialog,body.atelier .parent-card-drawer {background:#fffefa;border-radius:12px}
body.atelier .modal-v1-title {font-weight:600}
body.atelier .modal-v1-icon {background:#edf3e8;color:#47613b;border-radius:8px}
body.atelier .modal-v1-btn-primary {background:#285b4d;color:#fff}
body.atelier .mobile-header {background:#eeefe8;backdrop-filter:none;border-bottom:1px solid #d7dcd3;min-height:62px}
body.atelier .hamburger {color:#35512e;background:#f9faf4;border:1px solid #d3ddcb;box-shadow:none}

/* Section navigation only links to sections already on the page. */
body.atelier .atelier-section-nav {min-width:0;color:#4c5c45}
body.atelier .atelier-nav-heading {font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;margin:4px 10px 12px;color:#75816e}
body.atelier .atelier-nav-links {display:grid;gap:3px}
body.atelier .atelier-nav-link {display:block;border-radius:5px;padding:10px 12px;color:#536049;font-size:13px;font-weight:500;line-height:1.35;transition:background .15s}
body.atelier .atelier-nav-link:hover {background:#e2e8dc;color:#2c4e37}
body.atelier .atelier-nav-link[aria-current],body.atelier .atelier-nav-link.active {background:#dce7d8;color:#285b3b;box-shadow:inset 3px 0 #4f7550;font-weight:600}
body.atelier .atelier-nav-search {min-height:36px;font-size:12px;background:#f7f8f2;border-color:#d1dacb;margin-bottom:12px;padding:8px 10px}
body.atelier .atelier-nav-search-label {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.atelier .atelier-nav-empty {font-size:12px;margin:8px;color:#6c7566}
body.atelier #atelier-view-toggle {background:transparent!important;color:#5d6d57!important;border:1px solid #cbd5c4!important;box-shadow:none!important;border-radius:6px!important;padding:8px 12px!important;font:500 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;min-height:36px;white-space:nowrap}
body.atelier #atelier-view-toggle:hover {background:#eaf0e3!important}
body.atelier .atelier-back-top {position:fixed;right:22px;bottom:22px;z-index:40;background:#fffefa!important;color:#49603d!important;border:1px solid #c9d7c0;border-radius:6px;box-shadow:0 2px 8px #263b2410!important;padding:9px 14px;font-size:12px}
body.atelier .atelier-section-nav:not(.app-sidebar *) {padding:14px 24px;border-bottom:1px solid #d5dfcc}
body.atelier .atelier-section-nav:not(.app-sidebar *) .atelier-nav-links {display:flex;overflow-x:auto;gap:8px}
body.atelier .atelier-section-nav:not(.app-sidebar *) .atelier-nav-link {white-space:nowrap}

/* Entry page: typography and a simple, quiet hierarchy. */
body.atelier.login-page {display:flex;min-height:100vh;min-height:100svh;align-items:center!important;padding:88px 56px 64px!important;background:#f5f4ef;overflow:visible}
body.atelier .login-bg-orb {display:none}
body.atelier .login-wrap {width:min(1152px,100%);grid-template-columns:minmax(0,1.4fr) minmax(320px,.85fr);align-items:center;gap:80px}
body.atelier .login-hero-card {padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;gap:0;order:0}
body.atelier .login-brand {gap:13px;margin-bottom:58px}
body.atelier .login-brand h1 {font-size:20px;font-weight:600;letter-spacing:-.6px}
body.atelier .login-brand p {display:none}
body.atelier .login-brand .brand-icon {width:34px;height:40px;background:#285b4d;color:#fffefa;border-radius:3px;font:italic 29px Georgia,serif}
body.atelier .atelier-eyebrow {display:block;color:#6e776a;font-size:10px;font-weight:600;letter-spacing:2px;margin-bottom:22px}
body.atelier .atelier-welcome h2 {font:normal clamp(40px,4.6vw,62px)/1.04 Georgia,"Times New Roman",serif;letter-spacing:-2.4px;color:#28372b;margin:0}
body.atelier .atelier-welcome h2 em {font-weight:normal;color:#59744a}
body.atelier .atelier-welcome p {color:#626f5a;font-size:14px;line-height:1.8;max-width:365px;margin-top:24px}
body.atelier .hero-points {margin:40px 0 0;gap:24px;counter-reset:point}
body.atelier .hero-points > div {border:0;border-top:1px solid #cbd4c3;border-radius:0;background:transparent;box-shadow:none;padding:14px 0 0;min-width:0;counter-increment:point}
body.atelier .hero-points > div::before {content:"0" counter(point);display:block;font-size:10px;color:#87917e;font-family:Georgia,serif;margin-bottom:16px}
body.atelier .hero-points b {font-size:12px;color:#48543f;font-weight:600;line-height:1.4}
body.atelier .hero-points span {font-size:11px;color:#68735e;line-height:1.6;margin-top:6px}
body.atelier .login-bank-panel {border:0;border-top:1px solid #d9dfd1;border-radius:0;background:transparent;box-shadow:none;padding:22px 0 0;margin-top:35px}
body.atelier .bank-panel-head {gap:10px}
body.atelier .bank-panel-head b {font-size:11px;font-weight:600;color:#68735c}
body.atelier .bank-panel-head small {font-size:10px;color:#66715b;margin-top:3px}
body.atelier .shield-dot {width:27px;height:30px;border-radius:4px;background:#e5e8d7;color:#5b664a;font-size:14px;flex-shrink:0}
body.atelier .bank-logo-row {display:none}
body.atelier .legal-mini-link {display:inline-block;margin:14px 0 0 37px;color:#657359;font-size:10px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
body.atelier .login-form-card {width:100%;padding:40px 32px 34px;border:1px solid #d6ddcf;border-top:3px solid #496847;border-radius:4px;background:#fffefa;box-shadow:0 8px 22px #39412b04;backdrop-filter:none;overflow:visible}
body.atelier .login-form-card::before {display:none}
body.atelier .login-form-card h2 {font-size:27px;line-height:1.2;letter-spacing:-1px;font-weight:550;margin-bottom:12px}
body.atelier .login-form-card > .muted {font-size:12px;line-height:1.7;margin-bottom:28px;color:#6c7663}
body.atelier .login-form-card label {font-size:11px;font-weight:600;color:#56644b;margin:0 0 8px;display:block}
body.atelier .login-form-card input:not(.autofill-trap) {height:47px;font-size:14px;padding:12px;border-color:#d6ddcc;border-radius:4px;margin-bottom:22px;background:#fffefa}
body.atelier .login-form-card input::placeholder {color:#a0a995;font-size:12px}
body.atelier .login-submit {height:46px;border-radius:4px;margin-top:5px;font-size:13px;background:#285b4d!important;color:#fffefa}
body.atelier .login-safe-note:empty {display:none}
body.atelier .atelier-password-wrap {position:relative;margin-bottom:22px}
body.atelier .atelier-password-wrap input#password {padding-right:88px;margin-bottom:0}
body.atelier .atelier-password-toggle {position:absolute;right:5px;top:5px;height:37px;min-width:72px;padding:6px 8px;background:transparent;color:#6a7b5c;font-size:11px!important;font-weight:500;border-radius:3px}
body.atelier .atelier-password-toggle:hover {background:#eef3e7;color:#38552d}
body.atelier .atelier-caps-warning {color:#965e18;font-size:11px;line-height:1.5;margin:-12px 0 16px}
body.atelier [hidden] {display:none!important}

@media(min-width:1021px){body.atelier .app-sidebar {height:100dvh}body.atelier .topbar {flex-wrap:wrap}}
@media(max-width:1199px){
  body.atelier .login-wrap {gap:48px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.85fr)}
  body.atelier.login-page {padding:80px 36px 48px!important}
  body.atelier .app-main .topbar {padding:26px 24px 18px}
  body.atelier .app-main .container {padding:8px 24px 48px}
  body.atelier .topbar h2 {font-size:23px}
}
@media(max-width:1020px){
  body.atelier .app-shell {display:block}
  body.atelier .app-sidebar {width:270px;max-width:86vw;padding:25px 18px}
  body.atelier .topbar {gap:18px;flex-wrap:wrap}
  body.atelier .topbar .right {width:auto}
  body.atelier .container > section {scroll-margin-top:76px}
  body.atelier .login-wrap {gap:32px}
  body.atelier .login-form-card {padding:30px 24px}
  body.atelier .atelier-welcome h2 {font-size:45px;letter-spacing:-1.8px}
}
@media(max-width:760px){
  body.atelier.login-page {padding:70px 24px 34px!important;display:block}
  body.atelier .login-wrap {display:flex!important;flex-direction:column;gap:32px!important;max-width:500px;margin:0 auto}
  body.atelier .login-hero-card {display:contents}
  body.atelier .login-brand {margin-bottom:0;order:0;align-self:flex-start}
  body.atelier .atelier-welcome {order:1;width:100%}
  body.atelier .login-brand h1 {font-size:19px!important}
  body.atelier .atelier-eyebrow {font-size:9px;margin-bottom:16px;letter-spacing:1.6px}
  body.atelier .atelier-welcome h2 {font-size:36px;letter-spacing:-1.4px}
  body.atelier .atelier-welcome p {margin-top:18px;max-width:340px;font-size:13px;line-height:1.7}
  body.atelier .hero-points {display:none}
  body.atelier .login-bank-panel {display:block;order:3;margin-top:0;padding-top:20px;width:100%}
  body.atelier .login-form-card {padding:27px 24px!important;border-radius:4px!important;order:2}
  body.atelier .login-form-card h2 {font-size:25px}
  body.atelier .login-form-card input:not(.autofill-trap) {font-size:16px}
  body.atelier .login-form-card > .muted {margin-bottom:23px}
  body.atelier .topbar h2 {font-size:23px}
  body.atelier .app-main .topbar {padding:24px 16px 18px}
  body.atelier .app-main .container {padding:0 12px 48px}
  body.atelier .app-main {padding:0!important}
  body.atelier .container > section.card {padding:18px 14px;margin-bottom:18px}
  body.atelier .section-title {flex-wrap:wrap;gap:8px;margin-bottom:18px}
  body.atelier .section-title h3 {font-size:19px}
  body.atelier :is(#dashboard,#top).grid {grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
  body.atelier :is(#dashboard,#top).grid>.card {padding:16px 14px;border-bottom:1px solid #e0e3dc}
  body.atelier .metric {font-size:25px}
  body.atelier .topbar .right {gap:6px;flex-wrap:wrap;flex-direction:row;width:100%;justify-content:flex-start}
  body.atelier .topbar .right .btn {flex:none;width:auto;font-size:12px!important;min-height:40px}
  body.atelier .scroll {max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important}
  body.atelier .scroll th {position:static!important;box-shadow:none!important}
  body.atelier .atelier-back-top {right:12px;bottom:12px;font-size:11px;padding:8px 12px}
}
@media(max-width:360px){
  body.atelier.login-page {padding-left:18px!important;padding-right:18px!important}
  body.atelier .atelier-welcome h2 {font-size:32px}
  body.atelier .login-form-card {padding:24px 18px!important}
}
@media(prefers-reduced-motion:reduce){body.atelier *,body.atelier *::before,body.atelier *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
