/* © 2026 Сергеев Антон Валентинович. Все права защищены. */
/* Аполлоника: оформление действующего портала. DOM/API/роли сохранены. */
:root{--ink:#172a45;--ink-2:#53677e;--ink-3:#53677e;--bg:#f4f6fa;--card:#fff;--line:#dbe3ed;--accent:#041f56;--accent-soft:#eaf0f7;--radius:14px;--focus:#08607b;--shadow:0 2px 12px #18365908}
h1{font-size:clamp(27px,3vw,38px);font-weight:650;letter-spacing:-.9px;text-wrap:balance}h2{font-weight:650}button,.btn,input,select{min-height:44px}button.primary,.btn.primary{background:#041f56;color:white;border-color:#041f56}.appbar{background:white;color:var(--ink);border-bottom:1px solid var(--line);padding:14px 32px;min-height:70px}.appbar a{color:var(--ink)}.shell{grid-template-columns:250px minmax(0,1fr)}.side{background:linear-gradient(155deg,#041f56,#020f33);color:#eef7fb;padding:25px 20px;min-width:0}.side a{color:#c5d5e8;min-height:44px;padding:11px 12px;border-radius:9px}.side a[aria-current=page]{background:#162f62;color:white;border-color:#355780}.side .sep{color:#a8bdd6}.author-contact{margin-top:35px;font-size:11px;display:grid;gap:7px}.author-contact a{font-size:11px;padding:0;overflow-wrap:anywhere;min-height:32px}.shell>main{padding:35px 40px;min-width:0}.card{box-shadow:none;border-radius:15px;padding:24px}.ap-eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;color:#596e88}.choose{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.choice{flex-direction:column;padding:23px;border-width:1px;min-width:0}.choice .num{border-radius:10px;background:#eaf0f7;color:#041f56}.choice .body{gap:10px;min-width:0}.choice .body small{font-size:12px}.choice .body>b{font-size:20px;font-weight:650}.choice ol{font-size:13px}.choose .choice{transition:background .15s,color .15s}.choose a.choice:hover,.choose a.choice:focus-visible{background:#041f56;color:#fff}.choose a.choice:hover .num,.choose a.choice:focus-visible .num{background:#162f62;color:#66d8f5}.choose a.choice:hover small,.choose a.choice:focus-visible small{color:#c2d3e8}.choose a.choice:hover b,.choose a.choice:focus-visible b{color:#fff}.choice:has(.num.extra){grid-column:1/-1;min-height:auto}.landing .choose{padding:0}.landing{padding:25px 30px}.landing .hero{max-width:1200px}.tablewrap{max-width:100%;overflow:auto}.author-contact a:focus-visible,.side a:focus-visible{outline-color:#66d8f5}
@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.shell>main{padding:28px 24px}.choice{padding:18px}}
@media(max-width:760px){.shell{display:block}.side{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px}.side .sep{width:100%;margin:8px 0}.author-contact{width:100%;margin-top:8px}.shell>main{padding:26px 20px}.appbar{padding:12px 20px;flex-wrap:wrap}.choose{grid-template-columns:1fr}.landing{padding:20px}.card{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.side a{background:transparent}.side a:hover,.side a:focus-visible{background:#162f62;color:#fff}.side a[aria-current=page]{background:#162f62;color:#fff}
.ap-needs-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.ap-need{padding:16px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:8px;min-width:0;overflow-wrap:anywhere}.ap-need .badge{max-width:100%;white-space:normal;text-align:left}.ap-needs-list>li{min-width:0}.ap-need p{margin:0}.ap-object-needs h2{margin-top:0}.ap-review-reason{border-left:3px solid #b26a00;padding:12px;margin:12px 0}.ap-report{border:1px solid var(--line);border-radius:16px;color:var(--ink);max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px}.ap-report::backdrop{background:#020f3370}.ap-report textarea{width:100%;display:block}.ap-report .row{margin-top:16px}.side #reportErrorBtn{color:#fff;background:#162f62;border-color:#355780;margin-top:16px;width:100%}
.helpbtn{display:inline-flex;align-items:center;gap:8px;font-weight:650;text-decoration:none;padding:0 20px;border-radius:12px}.helpbtn::before{content:"?";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#66d8f5;color:#041f56;font-weight:800}.appbar .title a.helpbtn,.appbar .title a.helpbtn:hover{color:#fff!important}

/* Наведение на кнопки: единое правило для всех приложений Аполлоники */
button:not(:disabled):not(.primary):not(.danger):hover,a.btn:not(.primary):not(.danger):hover,.btn:not(.primary):not(.danger):not([disabled]):hover,[role=button]:not([aria-disabled=true]):hover{background:#dce7f3;border-color:#041f56;color:#041f56;transition:background .15s,border-color .15s,color .15s}
button.primary:not(:disabled):hover,a.btn.primary:hover,.btn.primary:not([disabled]):hover{background:#162f62;border-color:#162f62;color:#fff;filter:none;transition:background .15s,border-color .15s}
button.danger:not(:disabled):hover,.btn.danger:not([disabled]):hover{background:#c0182f;border-color:#c0182f;color:#fff}
button:not(:disabled):active,.btn:not([disabled]):active{transform:translateY(1px)}
button:disabled,.btn[disabled]{cursor:not-allowed}

.choice,.choice .body,.choice p,.choice small,.choice li{overflow-wrap:anywhere}
@media (max-width:900px){.choose{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.choose{grid-template-columns:minmax(0,1fr)}}

h1,h2,h3,.choice a,.card,.row>*,.grow{overflow-wrap:anywhere;min-width:0}
small,.muted,.hint{overflow-wrap:anywhere}
