*{box-sizing:border-box}body{margin:0;background:#f4f6f9;color:#18263c;font:16px/1.6 system-ui,sans-serif}main{max-width:940px;margin:48px auto;padding:24px}header{margin-bottom:28px}h1{font-size:30px;margin:0}p{color:#536378}section{background:#fff;border:1px solid #dce3ed;border-radius:16px;padding:24px;margin-bottom:20px}form{max-width:460px}label{display:block;margin:12px 0}input{display:block;width:100%;padding:12px;border:1px solid #bac5d5;border-radius:8px;font:inherit}button,.action{display:inline-block;background:#143c6e;color:white;padding:11px 20px;border:0;border-radius:8px;font:inherit;text-decoration:none;cursor:pointer}button:disabled{opacity:.5}[hidden]{display:none!important}.message{color:#b3231b}.modules{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modules section{margin:0}.badge{font-size:13px;color:#536378}a{color:#164980}@media(max-width:600px){main{margin:12px auto;padding:16px}.modules{grid-template-columns:1fr}h1{font-size:26px}}

.modules .module-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:220px;padding:28px;border:2px solid #dce3ed;border-radius:18px;background:#fff;color:#18263c;text-align:left;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 3px 8px #143c6e08;transition:background .12s,border-color .12s,box-shadow .12s}
.module-card h2,.module-card-title{display:block;margin:0;font-size:24px;font-weight:700;line-height:1.4}.module-card p,.module-card-description{display:block;margin:0;color:#536378;font-size:16px;line-height:1.6}.module-card-action{display:block;margin-top:auto;padding-top:8px;color:#143c6e;font-weight:600}.modules .module-card:hover{background:#f3f8fe;border-color:#86a9ce}.modules .module-card:active{background:#dcebf9;border-color:#143c6e;box-shadow:inset 0 2px 6px #143c6e20}.modules .module-card:focus-visible{outline:3px solid #2586c7;outline-offset:4px}@media(max-width:600px){.modules .module-card{min-height:180px;padding:22px}.module-card h2,.module-card-title{font-size:22px}}
