/* Hangar — RV-10 downloads. Light, aviation-slate accents, responsive. */
:root{
  --bg:#f4f6f9; --card:#ffffff; --ink:#1e293b; --muted:#64748b;
  --line:#e2e8f0; --accent:#2f6fb0; --accent-d:#245a91; --danger:#c0392b;
  --lock:#b7791f; --radius:12px; --shadow:0 1px 3px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.05);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
h1{font-size:1.7rem;margin:.2em 0 .5em}
h2{font-size:1.2rem;margin:1.6em 0 .6em;padding-bottom:.3em;border-bottom:1px solid var(--line)}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.lead{color:var(--muted);font-size:1.05rem;max-width:60ch}

/* Header / footer */
.site-head{background:#12233b;color:#fff}
.head-inner{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{color:#fff;font-weight:700;font-size:1.15rem}
.brand:hover{text-decoration:none;opacity:.9}
.topnav{display:flex;align-items:center;gap:18px}
.topnav a{color:#cdd9e6}
.topnav a:hover{color:#fff;text-decoration:none}
.site-foot{margin-top:60px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;align-items:center}
.foot-license{color:var(--muted)}

/* License notice on post pages */
.license-note{margin:18px 0 4px;padding:11px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:8px;background:#f8fafc;font-size:.86rem;color:var(--muted);line-height:1.5}
.license-note strong{color:var(--ink)}

/* License page */
.license-page{max-width:70ch}
.license-page p{margin:0 0 14px}

/* Contact form honeypot (hidden from humans, present for bots) */
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

/* Admin: unread pill + message cards */
.pill{display:inline-block;background:var(--danger);color:#fff;border-radius:20px;padding:1px 8px;font-size:.72rem;font-weight:700;margin-left:4px}
.msg-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}
.msg-unread{border-left:3px solid var(--accent)}
.msg-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:4px}
.msg-from{font-weight:600}
.msg-body{margin:8px 0}

/* Search */
.search{display:flex;align-items:center;background:#1b3350;
  border:1px solid #2b466a;border-radius:8px;overflow:hidden;flex:0 1 300px;margin:0 14px}
.search input{background:transparent;border:0;color:#fff;padding:7px 10px;width:100%;font:inherit;font-size:.9rem;outline:none}
.search input::placeholder{color:#8ea6bf}
.search button{background:transparent;border:0;color:#cdd9e6;cursor:pointer;padding:0 10px;font-size:.9rem}
.search-page{display:flex;gap:8px;margin:10px 0 18px;max-width:620px}
.search-page input{flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font:inherit}
@media (max-width:640px){ .search{order:3;flex-basis:100%;margin:6px 0} }

/* Hero */
.hero{padding:26px 0 6px}
.hero h1{font-size:2rem;margin-bottom:.1em}

/* Buttons */
.btn{display:inline-block;background:var(--accent);color:#fff;padding:9px 16px;border-radius:9px;
  border:0;font-size:.95rem;font-weight:600;cursor:pointer}
.btn:hover{background:var(--accent-d);text-decoration:none;color:#fff}
.btn-lg{padding:13px 24px;font-size:1.05rem}
.btn-sm{padding:6px 12px;font-size:.85rem}
.btn-ghost{background:#eef2f7;color:var(--ink)}
.btn-ghost:hover{background:#e2e8f0;color:var(--ink)}
.btn-lock{background:var(--lock)}.btn-lock:hover{background:#95611a}

/* Category grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.cat-card{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.cat-card:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px);transition:.15s}
.cat-icon{font-size:1.6rem}
.cat-name{font-weight:600;color:var(--ink)}
.cat-count{color:var(--muted);font-size:.85rem}

/* File grid */
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.file-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.file-card:hover{text-decoration:none;transform:translateY(-2px);transition:.15s;border-color:var(--accent)}
.file-card .thumb{display:block;position:relative;height:140px;background:#e9eef4 center/cover no-repeat}
.file-card .badge-lock{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;
  padding:2px 7px;border-radius:20px;font-size:.8rem}
.file-card-body{padding:11px 13px}
.file-title{display:block;font-weight:600;color:var(--ink)}
.file-sub{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}

/* File detail */
.file-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-top:10px}
.file-media img{width:100%;border-radius:10px;border:1px solid var(--line);background:#eef2f7}
.file-info h1{margin-top:0}
.file-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);margin:6px 0 16px;font-size:.95rem}
.file-meta .by{font-weight:600;color:var(--ink)}
.file-desc{white-space:normal;margin-bottom:22px}
.admin-inline{margin-top:18px;padding-top:12px;border-top:1px dashed var(--line);font-size:.9rem}
.badge{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:20px;vertical-align:middle}
.badge-lock{background:#fdf1d8;color:var(--lock)}

/* Crumbs */
.crumbs{font-size:.88rem;color:var(--muted);margin:16px 0 4px}
.crumbs a{color:var(--muted)}.crumbs .here{color:var(--ink)}

/* Cards / forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.form label{display:block;margin-bottom:16px;font-weight:600}
.form input[type=text],.form textarea,.form select,.form input[type=file]{
  display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);
  border-radius:8px;font:inherit;font-weight:400;background:#fff}
.form textarea{resize:vertical}
.form .check{font-weight:400;display:flex;align-items:center;gap:8px}
.form .check input{width:auto;margin:0}
.form .req{color:var(--danger)}
.form-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.form-inline input[type=text]{width:auto;flex:1;margin-top:0}
.form-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.edit-preview img{max-width:220px;border-radius:8px;border:1px solid var(--line);margin-bottom:14px}

/* Flash */
.flash{background:#e7f5ea;border:1px solid #b6e0c0;color:#1e6b34;padding:10px 14px;border-radius:8px;margin-bottom:16px}
.flash-err{background:#fbeaea;border-color:#e5b7b7;color:#98322a}

/* Stats */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 18px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.stat .num{display:block;font-size:1.9rem;font-weight:700;line-height:1}
.stat span:last-child{color:var(--muted);font-size:.85rem}
.admin-actions{margin:14px 0 8px;display:flex;gap:8px;flex-wrap:wrap}

/* Country bars */
.country-bars{display:flex;flex-direction:column;gap:6px;max-width:520px}
.cbar{display:grid;grid-template-columns:44px 1fr 40px;align-items:center;gap:10px}
.cbar .cc{font-weight:600}
.cbar .bar{background:#e9eef4;border-radius:6px;height:14px;overflow:hidden}
.cbar .bar span{display:block;height:100%;background:var(--accent)}
.cbar .cn{text-align:right;color:var(--muted);font-size:.85rem}

/* Tables */
.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.tbl th,.tbl td{text-align:left;padding:10px 13px;border-bottom:1px solid var(--line);font-size:.92rem}
.tbl th{background:#f8fafc;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.tbl tr:last-child td{border-bottom:0}
.tbl-scroll{overflow-x:auto}
.tbl-log td{white-space:nowrap}
.nowrap{white-space:nowrap}
.row-actions{display:flex;gap:10px;align-items:center}
.row-actions form{margin:0}
.link-danger{background:none;border:0;color:var(--danger);cursor:pointer;font:inherit;padding:0}
.link-danger:hover{text-decoration:underline}
.danger-zone{margin-top:22px}

.empty{color:var(--muted);padding:24px 0}

/* Download list (attachments on a post page) */
.dl-list{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:8px}
.dl-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}
.dl-icon{flex:0 0 auto;min-width:52px;height:40px;display:flex;align-items:center;justify-content:center;
  background:#12233b;color:#cdd9e6;border-radius:7px;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:0 8px}
.dl-body{flex:1;min-width:0}
.dl-name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-sub{display:block;color:var(--muted);font-size:.82rem}
.dl-item .btn{flex:0 0 auto}

/* Map */
.map{height:400px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.leaflet-container{font:inherit}

/* Category tree (admin) */
.cat-tree{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-top:8px}
.cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}
.cat-row:last-child{border-bottom:0}
.cat-row-name{display:flex;align-items:center;gap:8px;min-width:0}
.cat-row-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.cat-row-actions form{margin:0}
.mini{background:#eef2f7;border:1px solid var(--line);border-radius:6px;cursor:pointer;font:inherit;
  font-size:.8rem;line-height:1;padding:5px 8px;color:var(--ink)}
.mini:hover{background:#e2e8f0}
.mini.link-danger{color:var(--danger);border-color:#e5c0bc;background:#fdf3f2}
.inline-edit{position:relative}
.inline-edit summary{list-style:none}
.inline-edit summary::-webkit-details-marker{display:none}
.edit-cat{position:absolute;right:0;top:100%;z-index:5;margin-top:4px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:8px;width:260px}
.edit-cat input,.edit-cat select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font:inherit}

/* Edit-post attachments */
.edit-att{list-style:none;padding:0;margin:6px 0 14px;display:flex;flex-direction:column;gap:8px}
.edit-att li{display:flex;align-items:center;gap:10px}
.edit-att-main{flex:1;min-width:0}
.edit-att-main input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font:inherit}
.att-manage{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.att-manage li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.att-manage li:last-child{border-bottom:0}
.att-manage-actions{display:flex;gap:4px}
.att-manage-actions form{margin:0}
.form h3{margin:18px 0 8px}

@media (max-width:640px){
  .file-detail{grid-template-columns:1fr}
  .stat-row{grid-template-columns:1fr 1fr}
  .head-inner{height:auto;padding:10px 0;flex-wrap:wrap;gap:8px}
}
