:root { color-scheme: light; font-family: "IBM Plex Sans", system-ui, sans-serif; color: #102a2c; background: #f4f1e8; }
* { box-sizing: border-box; } body { margin: 0; } main { max-width: 960px; margin: auto; padding: clamp(1.5rem, 5vw, 4rem) 1rem; }
header { max-width: 650px; } .eyebrow, .access { color: #087c75; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .4rem; }
h1 { font-size: clamp(2.2rem, 7vw, 4.5rem); line-height: 1; margin: 0; letter-spacing: -.045em; } .intro { font-size: 1.1rem; line-height: 1.55; }
.status { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; margin: 2rem 0; padding: .8rem 1rem; border-left: 3px solid #087c75; background: #e8e6dc; font-size: .9rem; }
.registration { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); gap: 1.5rem; margin: 2rem 0; padding: 1.25rem; border: 1px solid #d7d4c9; border-radius: .45rem; background: #fffdf7; } .registration h2 { margin: 0; font-size: 1.35rem; } .registration p { line-height: 1.45; } .registration form { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; } .registration label { display: grid; gap: .25rem; font-size: .85rem; font-weight: 700; } .registration input, .registration select { min-width: 0; padding: .55rem; border: 1px solid #aeb8b1; border-radius: .25rem; font: inherit; } .registration button, #registration-result { grid-column: 1 / -1; } .registration button { border: 0; border-radius: .25rem; padding: .65rem; background: #087c75; color: #fff; font: inherit; font-weight: 700; cursor: pointer; } #registration-result { margin: 0; font-size: .88rem; }
.apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: .85rem; } article { display: grid; grid-template-columns: 2.4rem 1fr; gap: .75rem; align-items: start; padding: 1rem; background: #fffdf7; border: 1px solid #d7d4c9; border-radius: .45rem; box-shadow: 0 2px 8px #102a2c12; }
.icon { color: #087c75; font-size: 1.65rem; line-height: 1; } h2 { margin: 0; font-size: 1.2rem; } article p:not(.access) { margin: .35rem 0 1rem; line-height: 1.35; color: #3a5151; } article button, article a { grid-column: 2; padding: .55rem .75rem; border-radius: .25rem; text-align: center; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; } article button { border: 0; color: #fff; background: #102a2c; } article a { border: 1px solid #aeb8b1; color: #102a2c; } article button:hover, article button:focus-visible { background: #087c75; } .selected-product { grid-column: 1 / -1; margin: 0; color: #087c75; font-weight: 700; }
@media (max-width: 380px) { main { padding-inline: .75rem; } }
@media (max-width: 650px) { .registration { grid-template-columns: 1fr; } }
