* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #070b14; color: #e8f2fa; font: 16px/1.5 system-ui, sans-serif; }
.admin { max-width: 640px; margin: 4vh auto; padding: 28px; border: 1px solid #243447; border-radius: 18px; background: #101a29; }
a { color: #67e8f9; }
h1 { margin: 20px 0 0; font-size: clamp(1.5rem, 5vw, 2rem); }
.intro, .hint { color: #a8b8c8; }
.hint { font-size: .85rem; margin-top: -10px; }
form { display: grid; gap: 18px; margin-top: 24px; }
label { display: grid; gap: 7px; font-weight: 600; }
input:not([type=checkbox]) { width: 100%; background: #0a111d; color: #fff; border: 1px solid #3a5269; border-radius: 9px; padding: 11px; font: inherit; }
select { width: 100%; background: #0a111d; color: #fff; border: 1px solid #3a5269; border-radius: 9px; padding: 11px; font: inherit; }
input[type=file] { font-size: .9rem; }
button { padding: 12px 20px; border: 0; border-radius: 9px; background: #22d3ee; color: #07101b; font: inherit; font-weight: 700; cursor: pointer; }
button:hover { background: #67e8f9; }
.check { display: flex; align-items: center; gap: 9px; font-weight: 400; }
.preview { display: flex; align-items: center; gap: 16px; margin-top: 25px; padding: 15px; border: 1px solid #2f4457; border-radius: 12px; }
.previews { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.preview--light { background: #fff; color: #163a69; }
.preview--light small { color: #315980; }
.preview img { object-fit: contain; border-radius: 10px; }
.preview__tint { display: block; width: 52px; height: 52px; flex: 0 0 52px; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.admin input[type=color] { height: 48px; padding: 4px; cursor: pointer; }
.preview strong, .preview small { display: block; }
.preview small { color: #a8b8c8; }
.placeholder { font-size: 3rem; color: #22d3ee; }
.message { padding: 12px; border: 1px solid #287577; border-radius: 9px; background: #103339; }
.error { border-color: #c46a6a; background: #3b2028; }
.logout { margin-top: 16px; }
.logout button { background: transparent; color: #a8b8c8; border: 1px solid #3a5269; }
@media(max-width: 660px) { .admin { margin: 0; border-radius: 0; min-height: 100vh; padding: 20px; } }
