:root{
  --navy:#131B2E; --navy-deep:#0B1220; --brass:#C89B3C; --brass-light:#E0BE6E;
  --paper:#F2ECDE; --paper-dark:#E8E0CC; --ink:#1F2430; --rust:#B4472A;
}
*{box-sizing:border-box;}
body{font-family:'IBM Plex Sans',Arial,sans-serif; background:var(--paper); color:var(--ink); margin:0;}
header.app-header{background:var(--navy); color:var(--paper); padding:18px 24px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 20px;}
header.app-header a{color:var(--paper); text-decoration:none;}
header.app-header .brand{font-weight:800; letter-spacing:1px; text-transform:uppercase;}
header.app-header .brand span{color:var(--brass-light);}
nav.app-nav{display:flex; flex-wrap:wrap; gap:14px; font-size:0.9rem;}
@media (max-width:480px){
  header.app-header{padding:14px 16px;}
  header.app-header .brand{font-size:0.95rem;}
  nav.app-nav{font-size:0.82rem; width:100%;}
}
main{max-width:760px; margin:0 auto; padding:32px 20px;}
h1{font-size:1.6rem; margin-bottom:20px;}
.card{background:var(--paper-dark); border-radius:8px; padding:24px; margin-bottom:20px;}
label{display:block; font-size:0.85rem; font-weight:600; margin:14px 0 6px;}
input, select, textarea{width:100%; padding:10px 12px; border:1px solid #cfc6a8; border-radius:6px; font-size:1rem; font-family:inherit;}
button, .btn{
  background:var(--brass); color:var(--navy-deep); border:none; padding:12px 22px;
  border-radius:6px; font-weight:700; cursor:pointer; font-size:1rem; margin-top:16px; display:inline-block; text-decoration:none;
}
button:hover, .btn:hover{background:var(--brass-light);}
.msg-error{background:#f6d5c9; color:#7a2a10; padding:12px 16px; border-radius:6px; margin-bottom:16px;}
.msg-success{background:#d7ecd2; color:#1f5c14; padding:12px 16px; border-radius:6px; margin-bottom:16px;}
.request-item{background:white; border:1px solid #e0d8bd; border-radius:6px; padding:16px; margin-bottom:12px;}
.request-item .meta{font-size:0.85rem; color:#7a7460;}
.badge{display:inline-block; background:var(--brass); color:var(--navy-deep); font-size:0.72rem; font-weight:700; padding:3px 10px; border-radius:12px; text-transform:uppercase;}
