/* Shared Asikru surfaces: quiet ink, cobalt actions and sculpted corners. */
:root{--action:#263acb;--action-hover:#1d2da7;--surface:#fff;--soft:#f0f3fc;--ink:#172147;--line:#dce2f0;--muted:#596780}
body{color:var(--ink)}
.button,.btn,.hero .btn.light,.login-box .btn.full{border-radius:999px;min-height:46px;background:var(--action);border:1px solid var(--action);color:#fff;box-shadow:0 3px 0 #1527971a;transition:background .18s,box-shadow .18s,transform .18s}
.button:hover,.btn:hover,.login-box .btn.full:hover{background:var(--action-hover);border-color:var(--action-hover);color:white;box-shadow:0 5px 15px #263acb22}
.button.secondary,.button.ghost,.btn.secondary{color:#263b91;background:#eef2fc;border-color:#ccd6ee;box-shadow:none}
.button.secondary:hover,.button.ghost:hover,.btn.secondary:hover{color:#172865;background:#e1e8fb;border-color:#aabce6}
.hero .btn.light,.btn.light{background:#fff;color:#24348b;border-color:#fff}
.hero .btn.light:hover,.btn.light:hover{background:#e8edff;color:#1d2c74;border-color:#e8edff}
.btn:disabled,.button:disabled{cursor:not-allowed;box-shadow:none;transform:none;opacity:.55}
.btn:active,.button:active{transform:translateY(1px)}
.icon-btn,.nav-toggle{min-width:44px;min-height:44px;border-radius:999px;color:#273d91}
.nav-toggle{width:44px;padding:0!important;align-items:center;justify-content:center;background:#fff;border:1px solid #d5ddf0;gap:0}
.nav-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none}
.header-actions{display:flex;align-items:center;gap:8px}
.header-actions .button{margin:0;font-size:12px;padding:11px 18px;min-height:44px}
.panel,.catalog-card,.course-row,.question,.account-panel,.editor-lesson,.table-wrap,.calendar-board,.next-course-card,.discovery-card,details,dialog{border-radius:16px;border-color:var(--line)}
.panel,.table-wrap,.question,.account-panel{background:var(--surface)}
.notice,.policy-notice{background:#edf2fc;color:#34496b;border-color:#d5dfef;border-radius:16px}
input,textarea,select{border-color:#c9d3e7;border-radius:12px;color:var(--ink);background:#fff}
input:focus,textarea:focus,select:focus{border-color:#536ed1;box-shadow:0 0 0 3px #263acb12}
.badge{border-radius:999px;background:#edf0fa;color:#415487;line-height:1.5}
.badge.green{background:#e7f2ec;color:#285f4b}.badge.grey{background:#edf0f5;color:#596780}.badge.orange{background:#fff0db;color:#805522}
.hero{background:linear-gradient(120deg,#21347e,#3549b8);border-radius:16px}.dark-panel{background:#1d306f;color:white}.dark-panel p,.dark-panel h3{color:#edf2ff}
.stats{gap:16px}.stat-link{position:relative;display:flex;align-items:center;gap:18px;padding:24px;text-decoration:none;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);overflow:hidden;box-shadow:0 3px 12px #203f7004;transition:transform .2s,border-color .2s,box-shadow .2s}
.stat-link strong{font-size:30px;line-height:1.15;letter-spacing:-1.1px;color:#172147}.stat-link small{display:block;margin-top:5px;color:#52617d;font-size:12px}.stat-link .stat-hint{display:block;color:#354b9b;font-size:10px;margin-top:10px;font-weight:600;letter-spacing:.01em}.stat-copy{display:block;min-width:0}
.stat-form{position:relative;display:block;flex-shrink:0;width:45px;height:52px;perspective:100px}.stat-form i{position:absolute;border:1px solid #aab8ec;width:27px;height:32px;bottom:3px;left:1px;border-radius:7px;background:linear-gradient(135deg,#e8eeff,#c1ccf5);transform:rotate(-12deg);box-shadow:2px 3px 0 #8da0db33}.stat-form i:nth-child(2){left:10px;bottom:10px;background:linear-gradient(135deg,#f4f6ff,#dbe2fa);transform:rotate(3deg)}.stat-form i:nth-child(3){left:18px;bottom:17px;transform:rotate(16deg);background:linear-gradient(135deg,#fff,#e5eafc)}
.steps .stat-form i{width:10px;height:20px;left:1px;transform:none}.steps .stat-form i:nth-child(2){left:16px;bottom:3px;height:32px;transform:none}.steps .stat-form i:nth-child(3){left:31px;bottom:3px;height:45px;transform:none}.finish .stat-form{border:1px solid #bdc9ec;border-radius:50%;width:48px;height:48px;background:linear-gradient(135deg,#f3f6ff,#d6e0fa);box-shadow:inset 0 0 0 7px #f9faff}.finish .stat-form i{width:18px;height:18px;left:14px;bottom:14px;transform:rotate(45deg);border-radius:4px;background:#6e83d4;border-color:#566fc5}.finish .stat-form i:nth-child(n+2){display:none}
.stat-link:focus-visible{outline:3px solid #b16b00;outline-offset:4px}.stat-link:hover{border-color:#9bafe6;box-shadow:0 8px 22px #243d8a0e;transform:translateY(-2px)}
.tabs button{border-radius:999px;min-height:44px;color:#52617d}.tabs button.active{background:#e5ebff;color:#243a96}.course-row .row-bottom a,.text-btn{color:#2d439e}.lesson-row.available{background:#f1f5ff}.lesson-row.completed .lesson-number{background:#e8f1ed;color:#285f4b}.lesson-row .btn{border-radius:999px}.answer:has(input:checked){background:#edf2ff;border-color:#8c9ed9;box-shadow:inset 3px 0 #536bcd}
th{background:#f4f6fc;color:#52617d}tbody tr:hover{background:#f7f9ff}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}#admin-courses,#admin-students{scroll-margin-top:100px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.stat-link:hover .stat-form{transform:translateY(-2px) rotate(-3deg)}.stat-form{transition:transform .25s}}
@media(max-width:760px){.stats{gap:10px}.stat-link{padding:18px 14px;gap:12px;min-width:0}.stat-link strong{font-size:26px}.stat-link small{font-size:11px}.stat-link .stat-hint{font-size:10px}.stat-form{transform:scale(.85);transform-origin:left center;width:40px}.page-heading .admin-actions{margin-top:8px}.btn,.button{font-size:12px}.site-header .header-actions{margin-left:auto}.header-actions .button{padding-inline:14px}.panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.stat-link,.stat-form,.button,.btn{transition:none;transform:none!important}}
.demo-banner{background:#eef2fc;color:#53627e}.login-box>.badge{letter-spacing:.02em;text-transform:none}.stat-form{pointer-events:none}
@media(max-width:600px){.stat-link{flex-direction:column;align-items:flex-start;padding:16px 12px;gap:10px}.stat-form{height:40px;transform:scale(.7);transform-origin:left bottom;margin-top:-6px}.stat-link .stat-hint{display:none}.stat-link small{line-height:1.5}.stat-copy strong{font-size:26px}.stat-copy{width:100%}}
.finish .stat-form i{height:8px;bottom:20px;transform:rotate(-35deg);border-radius:999px}

.table-wrap thead th{background:#f1f4fc;color:#53637f;text-transform:none;letter-spacing:.02em}.table-wrap tbody tr:hover{background:#f7f9ff}

/* Compact actions retain a comfortable 44px touch area. */
.login-layout .login-art{background:linear-gradient(145deg,#202e78,#3349a8);color:#fff}.login-art .brand,.login-art .brand small{color:#f4f6ff}.login-copy p,.login-foot{color:#dce5ff}.login-copy h1 span{color:#c7d7ff}.login-path{display:none}.login-box .btn.full{width:auto;min-width:132px;justify-self:start;padding:10px 24px;min-height:46px}.login-box .form-stack{gap:18px}.login-box>p,.login-links{margin-top:20px}
.admin-actions .btn,.modal-actions .btn,.lesson-actions .btn{min-height:44px;padding:10px 19px;font-size:12px;gap:7px}.admin-actions .btn svg{width:16px;height:16px}.upload-summary,.receipt-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.upload-summary h2{margin:7px 0}.upload-summary p{margin:0}.upload-guide{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.upload-guide code{font-size:12px;overflow-wrap:anywhere}.upload-guide details{padding:12px;background:#f3f5fc}.upload-guide li{padding:5px 0;font-size:12px}.receipt-list{display:grid;gap:16px}.receipt-card h2{font-size:18px;margin:14px 0 5px}.receipt-card .btn{flex-shrink:0}.editor-lesson{text-align:left;transition:border-color .18s,box-shadow .18s}.editor-lesson:hover{border-color:#9bacdf;box-shadow:0 5px 20px #213a8a0c}.editor-lesson:focus-visible{outline:3px solid #b36d00;outline-offset:3px}
@media(max-width:600px){.upload-summary,.receipt-card{align-items:flex-start;flex-direction:column}.login-box .btn.full{width:auto}.modal-actions{gap:8px;flex-wrap:wrap}.modal-actions .btn{flex:0 1 auto}.account-panel .btn{margin:5px 0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

.course-meta{text-transform:none;letter-spacing:.02em}

.login-box .btn.full{align-self:flex-start;flex:none}
