:root{color-scheme:light;--paper:#F3F1EA;--card:#fff;--ink:#24251F;--muted:#65685E;--line:#DADCD2;--blue:#1B2EFF;--blue-soft:#EEF0FF;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;min-height:44px;background:var(--card);border:1px solid var(--line);padding:10px 15px;border-radius:10px;color:inherit;font-weight:550;transition:background .16s,border-color .16s,color .16s}button:hover{background:var(--blue-soft);border-color:#CBD0FF;color:#1B2EFF}button:disabled{opacity:.55;cursor:default}a{color:#1B2EFF;text-underline-offset:3px}input,select,textarea{min-height:44px;padding:11px 13px;border:1px solid #DADCD2;border-radius:10px;background:#fff;max-width:100%;color:var(--ink)}input:focus,select:focus,button:focus-visible,textarea:focus,a:focus-visible{outline:3px solid #AAB1FF;outline-offset:3px}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--blue)}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.9px;margin-bottom:0;font-weight:700}h2{font-size:20px;letter-spacing:-.4px;margin-bottom:16px;font-weight:650}p{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.6}.eyebrow,.nav-label{font-size:11px;letter-spacing:1.1px;font-weight:650;color:var(--muted);margin-bottom:8px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:750;letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand i{display:block;width:28px;height:28px;border-radius:9px;background:url(logo.png) center/cover no-repeat;flex-shrink:0}aside{width:244px;position:fixed;inset:0 auto 0 0;padding:26px 16px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#fff;overflow-y:auto}aside .brand{padding:0 12px}.nav-label{margin:28px 12px 2px}.nav-group{font-size:11px;font-weight:650;letter-spacing:.6px;color:#65685E;margin:20px 12px 7px}nav{display:grid;gap:3px;flex-shrink:0}nav button{display:flex;gap:11px;align-items:center;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:500;min-width:0}nav button:hover{background:#F3F1EA}nav button.active{background:var(--blue-soft);color:#1B2EFF;font-weight:650}nav svg{width:19px;height:19px;flex:0 0 19px}nav button span{white-space:normal}.side-bottom{margin-top:auto;padding:28px 12px 0}.side-bottom p{font-size:12px;color:var(--muted);margin:12px 0}.side-bottom a{font-size:12px}.side-bottom button{display:block;margin-top:16px;font-size:12px}main{margin-left:244px;padding:32px 36px 24px;max-width:1700px;min-width:0;container-type:inline-size;overflow-wrap:anywhere}header,.section-head,.actions{display:flex;justify-content:space-between;align-items:center;gap:12px}header{flex-wrap:wrap;gap:20px;margin-bottom:24px}header>div:first-child{min-width:0;flex:1 1 230px}header .eyebrow{font-size:11px;color:#65685E}.actions{justify-content:flex-start;flex-wrap:wrap}header .actions{flex:0 1 348px;min-width:0;max-width:100%;align-items:stretch}header .actions select{flex:1 1 190px;width:190px;min-width:0;max-width:100%;height:44px;padding:10px 38px 10px 14px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23526078' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}header #refresh{flex:0 0 auto;white-space:nowrap}.notices{display:grid;gap:10px;margin:14px 0 0}.notices:empty{display:none}.notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:13px;line-height:1.55;box-shadow:0 1px 2px #24251f08;animation:notice-in .2s ease-out}@keyframes notice-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.notice{animation:none}}.notice>svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px}.notice-body{flex:1;min-width:0}.notice-body b{display:block;font-weight:600;margin-bottom:2px}.notice-body span{display:block;color:var(--muted)}.notice>button{flex:0 0 auto;margin:-2px 0 0 auto;min-height:36px;padding:8px 13px;font-size:12.5px;border-radius:10px;white-space:nowrap}.notice.ok{background:#F1F6EC;border-color:#CFE0C0}.notice.ok>svg{color:#45772F}.notice.ok .notice-body b{color:#2F5A1E}.notice.ok>button{background:#fff;border-color:#CFE0C0}.notice.ok>button:hover{background:#E8F1E0;border-color:#B6D0A2;color:#2F5A1E}#promo-done{margin-top:14px}.notice.warn{background:#FFF8EC;border-color:#F0DCB4}.notice.warn>svg{color:#A5680B}.notice.warn .notice-body b{color:#7A4D07}.notice.warn>button{background:#fff;border-color:#E7CE9F}.notice.warn>button:hover{background:#FFF2DB;border-color:#DDBE85;color:#7A4D07}.notice.error{background:#FFF0E9;border-color:#E6B6A0}.notice.error>svg{color:#B4451D}.notice.error .notice-body b{color:#8C3517}.notice.error>button{background:#fff;border-color:#E6B6A0}.notice.error>button:hover{background:#FFE6DA;border-color:#D79674;color:#8C3517}@container (max-width:620px){.notice{flex-wrap:wrap}.notice>button{width:calc(100% - 30px);margin:6px 0 0 30px;flex:0 0 auto}}#sync{margin:10px 0 20px;color:#65685E}.badge{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px;font-size:11px;letter-spacing:.4px;font-weight:600;color:var(--muted)}.section-head{margin:28px 0 16px;flex-wrap:wrap}.section-head h2{margin:0}.section-head button{font-size:13px}.section-head>*{min-width:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{padding:22px;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);min-width:0}.metric:first-child{border-color:#DADCD2;background:#FFFFFF}.metric p{font-size:13px;color:var(--muted);margin-bottom:12px}.metric strong{font-size:30px;font-weight:650;letter-spacing:-1px;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;line-height:1.25}.metric small{font-size:12px;color:var(--muted);display:block;margin-top:10px;line-height:1.5}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow-wrap:anywhere;container-type:inline-size}.panel label{display:block;margin-top:16px;font-size:13px;font-weight:550}.panel input:not([type=checkbox]),.panel textarea{width:100%;margin:7px 0 13px}.panel button{margin-top:10px}.panel .section-head{margin-top:0}.blue-panel{background:#EEF0FF;border-color:#CBD0FF;position:relative}.blue-panel h2{font-size:28px;line-height:1.2;margin:14px 0;letter-spacing:-.8px}.blue-panel p{max-width:390px;color:#55584D}.blue-panel .eyebrow{color:#1B2EFF}.blue-panel button{background:var(--blue);border-color:var(--blue);color:white}.blue-panel button:hover{background:#1B2EFF}.funnel>div{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;gap:16px}.funnel>div:last-child{border-bottom:0}.funnel strong{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:18px;max-width:100%}table{border-collapse:collapse;min-width:700px;width:100%;text-align:left;font-size:13px}th{font-size:12px;color:var(--muted);padding:14px 17px;background:#FAFAF7;font-weight:600;white-space:nowrap}td{padding:16px 17px;border-top:1px solid #ECEDE6;font-variant-numeric:tabular-nums}tbody tr:hover{background:#F3F4FF}td:first-child{min-width:215px;max-width:310px}td small{display:block;color:var(--muted);margin-top:4px;font-size:12px}td button{padding:0;background:none;border:0;text-align:left;font-weight:550;color:#1B2EFF}.empty{padding:28px;border:1px dashed #DADCD2;border-radius:14px;color:var(--muted);margin-bottom:17px;background:#fff;font-size:13px}ol{padding-left:21px}li{margin:12px 0}.toggle{display:flex!important;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);gap:16px}.token-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;font-size:12px;gap:9px}.token-row button{font-size:12px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:40px;font-size:12px;color:var(--muted)}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#EAE9E1 0,transparent 60%),var(--paper)}.login-card{width:min(440px,100%);background:#fff;padding:36px;border-radius:24px;border:1px solid var(--line);box-shadow:0 18px 60px #24251f0c}.login-card .eyebrow{margin-top:36px;color:#1B2EFF}.login-card h1{font-size:37px;line-height:1.13;letter-spacing:-1.3px;margin-bottom:18px}.login-card label{display:block;font-size:13px;font-weight:550;margin-top:24px}.login-card input,.login-card button{width:100%;margin:8px 0 12px}.login-card .small{margin-bottom:0}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#1B2EFF;color:#fff;border-color:#1B2EFF}#login-error{font-size:13px;color:#8C3517}#toast{position:fixed;bottom:25px;right:25px;background:#24251F;color:#fff;padding:14px 20px;border-radius:12px;max-width:min(420px,calc(100vw - 30px));z-index:20;font-size:13px}#menu-toggle{display:none}otvetix-workbench{display:block;min-width:0}#workbench{margin-top:22px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
@container(max-width:850px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:620px){.grid-two{grid-template-columns:minmax(0,1fr)}header{align-items:stretch}header>div:first-child{flex-basis:100%}header .actions{flex-basis:348px;width:min(348px,100%)}}
@container(max-width:300px){.metrics{grid-template-columns:minmax(0,1fr)}header .actions{width:100%}header .actions select,header #refresh{flex:1 1 100%;width:100%}}
@media(max-width:1100px){main{padding:28px 24px}}
@media(max-width:900px){aside{position:static;width:100%;padding:14px 16px;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;overflow:visible;border-right:0;border-bottom:1px solid var(--line)}aside .brand{margin-right:auto;padding:0;font-size:22px}.nav-label,.side-bottom{display:none}#menu-toggle{display:block;font-size:13px}#main-navigation{display:none;width:100%;max-height:60vh;overflow-y:auto;margin:0;padding:5px 0 12px}#main-navigation.menu-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}#main-navigation .nav-group{grid-column:1/-1;margin-top:12px}#main-navigation button{white-space:normal;width:100%;min-width:0}main{margin:0;padding:24px 16px}h1{font-size:27px}.metric{padding:18px}.metric strong{font-size:26px}.panel{padding:20px}header .actions{flex:0 1 auto;width:min(348px,100%)}.login-card{padding:28px}}
@media(max-width:380px){#main-navigation.menu-open{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Restore the original warm Otvetix palette with the refreshed layout. */
aside{background:#EAE9E1}nav button.active{background:var(--blue);color:#fff}.blue-panel{background:var(--blue);border-color:var(--blue);color:#fff}.blue-panel .eyebrow{color:#AFB7FF}.blue-panel p{color:#DDE0FF}.blue-panel button{background:#fff;border-color:#fff;color:var(--blue)}.blue-panel button:hover{background:#EEF0FF;color:var(--blue)}.login-wrap{background:var(--paper)}

/* ── вход: переключатель «Вход / Регистрация» ───────────────────── */
/* Переключатель «Вход / Регистрация». Подложка едет под активную вкладку:
   так видно, что это один тумблер, а не две разные кнопки. */
.switch{position:relative;display:flex;padding:5px;margin:20px 0 10px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.switch>i{position:absolute;top:5px;left:5px;width:calc(50% - 5px);height:calc(100% - 10px);border-radius:10px;background:var(--card);box-shadow:0 1px 3px rgba(16,24,40,.14),0 0 0 1px rgba(16,24,40,.04);transition:transform .22s cubic-bezier(.4,0,.2,1)}
.switch.on-register>i{transform:translateX(100%)}
.switch button{position:relative;z-index:1;flex:1;min-height:44px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--muted);font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:color .18s}
.switch button:hover{color:var(--ink)}
.switch button.on{color:var(--blue)}
.switch button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.switch>i{transition:none}}
/* Шаг с кодом из письма */
.code-sent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 16px;padding:12px 14px;border-radius:12px;background:var(--blue-soft);color:var(--ink)}
.code-sent svg{width:20px;height:20px;flex:none;color:var(--blue);margin-top:1px}
.code-sent p{margin:0;font-size:14px;line-height:1.5}
.code-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:14px}.code-input{font-size:30px;letter-spacing:.42em;text-align:center;font-variant-numeric:tabular-nums;padding:14px 10px 14px 20px;font-weight:600}
#code-error{color:#C62828;font-size:14px;margin:8px 0 0}
#code-error:empty{display:none}

.linklike{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}

/* ── подключённый магазин и подписка ────────────────────────────── */
.shop-state{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);margin-bottom:14px}
.shop-state b{font-size:15px}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.dot.ok{background:#1E9E5A}
.dot.warn{background:#C8860D}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
.plan{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--card)}
.plan.on{border-color:var(--blue);background:var(--blue-soft)}.promo{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:17px 18px;border:1px solid #DDE1FF;border-radius:16px;background:var(--blue-soft)}.promo>svg{width:19px;height:19px;flex:0 0 19px;margin-top:1px;color:var(--blue)}.promo-body{flex:1;min-width:0}.promo-body b{display:block;font-size:14px;font-weight:650;line-height:1.3}.promo-sub{display:block;font-size:12.5px;line-height:1.5;color:#5C5F55;margin:3px 0 12px}.pcode-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid #C6CCFF;border-radius:12px;background:#fff;overflow:hidden}.pcode-row:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #C3CAFF}#promo-code{width:100%;min-width:0;margin:0;height:46px;min-height:46px;padding:0 14px;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase}#promo-code:focus{outline:none}#promo-code::placeholder{font-weight:450;letter-spacing:.4px;color:#9A9D93;text-transform:none}#promo-submit{margin:0;height:46px;min-height:46px;padding:0 18px;border:0;border-radius:0;font-size:13.5px;font-weight:600;white-space:nowrap;align-self:stretch}#promo-submit:disabled{opacity:.65}#promo-error{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:#8C3517}#promo-error:empty{display:none}#promo-error.ok{color:#3F6B2C}@container (max-width:320px){.pcode-row{grid-template-columns:minmax(0,1fr)}#promo-submit{border-top:1px solid #C6CCFF}}
.plan h3{margin:0 0 4px;font-size:16px}
.plan .price{font-size:22px;font-weight:700;margin-bottom:8px}
.plan ul{margin:0 0 12px;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.55}

/* ── вход: витрина слева, форма справа ──────────────────────────── */
/* Раньше это была одинокая бледная карточка: человек приходил с сайта
   и терял всякую связь с продуктом. Теперь слева — зачем он здесь. */
body{font-family:'Onest',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,.brand{font-family:'Unbounded','Onest',sans-serif}
.metric strong,.funnel strong,td,th{font-variant-numeric:tabular-nums}
.login-wrap{padding:32px 20px}
.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0;width:min(980px,100%);background:var(--card);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 24px 70px #24251f14}
.login-show{padding:40px;background:var(--blue);color:#fff;display:flex;flex-direction:column;gap:22px}
.login-show .brand{color:#fff;font-size:22px}
.login-show .brand i{box-shadow:0 0 0 2px #ffffffd9}
.login-show h2{font-size:31px;line-height:1.16;letter-spacing:-1px;margin:4px 0 0;color:#fff}
.login-points{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.login-points li{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;line-height:1.6;color:#DDE0FF}
.login-points b{color:#fff;font-weight:600}
.login-points svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px;color:#fff}
.login-foot{margin:auto 0 0;font-size:12px;line-height:1.6;color:#C3C9FF}
.login-card{width:auto;border:0;border-radius:0;box-shadow:none;padding:40px;background:var(--card)}
.login-card .eyebrow{margin-top:0}
.login-card h1{font-size:27px;line-height:1.18;letter-spacing:-.9px;margin-bottom:10px}
@media(max-width:820px){
 .login-shell{grid-template-columns:minmax(0,1fr);width:min(460px,100%)}
 .login-show{padding:28px;gap:16px}
 .login-show h2{font-size:25px}
 .login-points li:nth-child(n+3){display:none}
 .login-foot{display:none}
 .login-card{padding:28px}
}

/* ── запуск: три шага на обзоре ─────────────────────────────────── */
/* Пустой кабинет сам себя не объясняет. Блок исчезает, когда всё готово. */
.onboard{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:24px;margin-bottom:28px}
.onboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.onboard-head h2{margin:0}
.onboard-head .eyebrow{margin-bottom:6px;color:var(--blue)}
.onboard-count{margin:0;font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.onboard-count b{font-size:19px;color:var(--ink);font-weight:700}
.onboard-bar{height:5px;border-radius:99px;background:var(--paper);overflow:hidden;margin:16px 0 4px}
.onboard-bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--blue);transition:width .3s cubic-bezier(.16,1,.3,1)}
.onboard-steps{list-style:none;margin:0;padding:0;display:grid}
.onboard-step{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);margin:0}
.onboard-step:last-child{border-bottom:0;padding-bottom:0}
.onboard-mark{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--paper);color:var(--muted);border:1px solid var(--line)}
.onboard-mark svg{width:15px;height:15px}
.onboard-step.done .onboard-mark{background:var(--blue);border-color:var(--blue);color:#fff}
.onboard-step>div{flex:1 1 auto;min-width:0}
.onboard-step b{display:block;font-size:15px;font-weight:650;margin-bottom:3px}
.onboard-step.done b{color:var(--muted);font-weight:550}
.onboard-step p{margin:0}
.onboard-go{flex:0 0 auto;align-self:center;background:var(--blue);border-color:var(--blue);color:#fff;font-size:13px}
.onboard-go:hover{background:#1222D6;border-color:#1222D6;color:#fff}
.onboard-ok{flex:0 0 auto;align-self:center;font-size:12px;color:var(--muted);letter-spacing:.3px}
@media(max-width:620px){
 .onboard{padding:20px}
 .onboard-step{flex-wrap:wrap}
 .onboard-go{width:100%;align-self:stretch;margin-left:42px;width:calc(100% - 42px)}
}

/* Compact expense figures and the tax form must fit mobile screens. */
#expenses:not([hidden]){display:grid;gap:18px}
#expense-breakdown table{min-width:0;width:100%}
#expense-breakdown td:last-child,#expense-breakdown th:last-child{text-align:right;white-space:nowrap}
#tax-form .actions{align-items:center}
#tax-form input{margin:0}
