
:root{--text:#f5f7fa;--muted:#a7b0bb;--line:rgba(255,255,255,.09)}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#0e1116,#141922);color:var(--text)}
.app{width:min(560px,calc(100vw - 24px));margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.hero{padding:14px 0 10px}
.brand{display:flex;align-items:center;gap:14px;background:#151b22;border:1px solid var(--line);border-radius:20px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.logo-wrap{width:72px;height:72px;border-radius:17px;background:#f5f5f2;display:grid;place-items:center;overflow:hidden;flex:0 0 72px}
.logo-wrap img{width:100%;height:100%;object-fit:contain;display:block}.logo-fallback{display:none;color:#b51f27;font-weight:800;text-align:center}
.hero-text h1{margin:0;font-size:30px;letter-spacing:-.04em}.hero-text p{margin:3px 0 0;color:var(--muted);font-size:14px}

.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:4px}
.tile{min-height:116px;border-radius:21px;border:1px solid rgba(255,255,255,.11);box-shadow:0 12px 28px rgba(0,0,0,.19);overflow:hidden;display:grid;grid-template-rows:1fr auto}
.tile-main{color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:13px 10px 8px}
.icon{font-size:30px;line-height:1;margin-bottom:9px}.label{font-weight:800;font-size:15px;letter-spacing:.02em;line-height:1.12}
.index-link{margin:0 9px 9px;text-decoration:none;color:rgba(255,255,255,.94);background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 8px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.10em}
.index-link:active,.tile-main:active{transform:translateY(1px)}
.blue{background:linear-gradient(180deg,#4d73c9,#3359b2)}.warm{background:linear-gradient(180deg,#b85f4c,#9d4838)}
.cyan{background:linear-gradient(180deg,#2faac7,#20859e)}.orange{background:linear-gradient(180deg,#d28a36,#b16f1f)}
.green{background:linear-gradient(180deg,#3ca466,#2d7f4d)}.red{background:linear-gradient(180deg,#bf3944,#9b2730)}
.foot{margin-top:auto;padding:12px 4px 16px;display:flex;justify-content:space-between;gap:10px;color:#7f8a97;font-size:10px}

.pin-dialog{width:min(360px,calc(100vw - 30px));border:1px solid rgba(255,255,255,.12);border-radius:24px;background:#111820;color:white;padding:24px}
.pin-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#9da6b1;font-size:24px}
.pin-head{text-align:center}.pin-icon{font-size:28px}.pin-head h2{margin:8px 0 4px}.pin-head p{margin:0;color:#97a2ae;font-size:14px}
.pin-dots{display:flex;justify-content:center;gap:12px;margin:18px 0 8px}.pin-dots i{width:13px;height:13px;border-radius:50%;border:1px solid #8190a0}.pin-dots i.filled{background:#d54652;border-color:#d54652}
.pin-error{min-height:18px;text-align:center;color:#ff8a93;font-size:13px;visibility:hidden}.pin-error.show{visibility:visible}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}.keypad button,.clear{border:1px solid rgba(255,255,255,.09);background:#1a222b;color:white;border-radius:14px;height:50px;font-size:18px;font-weight:700}
.clear{width:100%;margin-top:12px;height:46px;font-size:14px}.keypad button:last-child{grid-column:2}

@media(max-width:430px){
 .app{width:calc(100vw - 16px)}.hero{padding-top:8px}.brand{padding:10px 11px}.logo-wrap{width:62px;height:62px;flex-basis:62px}
 .hero-text h1{font-size:27px}.hero-text p{font-size:13px}.button-grid{gap:9px}
 .tile{min-height:109px}.tile-main{padding:10px 8px 6px}.icon{font-size:27px;margin-bottom:7px}.label{font-size:14px}
 .index-link{margin:0 7px 7px;padding:4px 6px;font-size:9px}.foot{flex-direction:column;text-align:center;padding-top:10px}
}
