*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Segoe UI',Arial,sans-serif;background:#f5f0ea;color:#1a1a1a;min-height:100vh;}
nav{background:#8b0000;padding:14px 24px;display:flex;gap:12px;align-items:center;}
nav .logo{margin-right:auto;}
nav .logo img{height:36px;object-fit:contain;}
nav a{color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;padding:6px 16px;border-radius:4px;border:1.5px solid transparent;}
nav a:hover,nav a.active{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);}
.btn{display:inline-block;padding:12px 24px;border:none;border-radius:4px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;}
.btn-red{background:#8b0000;color:#fff;}
.btn-red:hover{background:#700000;}
.btn-gold{background:#c8a535;color:#fff;}
.btn-gold:hover{background:#a8852a;}
.btn-grey{background:#555;color:#fff;}
.btn-grey:hover{background:#333;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .5s linear infinite;vertical-align:middle;margin-right:6px;}
@keyframes spin{to{transform:rotate(360deg);}}

/* LOCK SCREEN */
.lock-screen{position:fixed;inset:0;background:#1a1a1a;display:flex;align-items:center;justify-content:center;z-index:999;}
.lock-box{background:#2a2a2a;border-radius:8px;padding:40px;width:340px;text-align:center;}
.lock-box h2{color:#fff;font-size:1.2rem;margin-bottom:8px;}
.lock-box p{color:#aaa;font-size:.85rem;margin-bottom:24px;}
.lock-box input{width:100%;padding:12px;background:#333;border:1.5px solid #444;border-radius:4px;color:#fff;font-size:1rem;outline:none;margin-bottom:12px;}
.lock-box input:focus{border-color:#c8a535;}
.lock-err{color:#f55;font-size:.8rem;margin-top:8px;display:none;}

/* TOAST */
.toast{position:fixed;top:18px;right:18px;background:#1a1a1a;color:#fff;padding:10px 18px;border-radius:4px;border-left:3px solid #c8a535;font-size:.8rem;font-weight:600;opacity:0;transition:opacity .3s;pointer-events:none;z-index:9999;}

@media(max-width:768px){nav{padding:10px 14px;flex-wrap:wrap;}}
