:root{--bg:#050505;--panel:#101010;--line:rgba(212,175,55,.22);--gold:#d4a034;--gold2:#f2c76b;--text:#f6f0df;--muted:#a99f8b;--green:#91d26d;--red:#d66b55}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 0%,rgba(212,160,52,.18),transparent 38rem),linear-gradient(135deg,#020202,#111,#050505);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.ambient{position:fixed;inset:0;background-image:radial-gradient(circle,rgba(212,160,52,.25) 1px,transparent 1px);background-size:60px 60px;opacity:.16;pointer-events:none}.app-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.hidden{display:none!important}.phone{width:min(390px,100%);min-height:840px;border:1px solid var(--line);border-radius:32px;overflow:hidden;background:linear-gradient(180deg,rgba(18,18,18,.98),#070707);box-shadow:0 40px 110px rgba(0,0,0,.75);position:relative}.login-screen{padding:26px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.gate-bg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.88)),url('https://images.unsplash.com/photo-1518005020951-eccb494ad742?w=900&auto=format&fit=crop');background-size:cover;background-position:center;filter:saturate(.8) contrast(1.1)}.login-screen>*{position:relative}.crest{display:grid;place-items:center;background:linear-gradient(135deg,#382404,#f0c96b,#6f470b);color:#080808;font-weight:900;letter-spacing:-4px;border:1px solid rgba(255,222,137,.7);box-shadow:0 0 35px rgba(212,160,52,.35)}.crest.large{width:112px;height:128px;margin:0 auto 18px;clip-path:polygon(50% 0,90% 18%,90% 70%,50% 100%,10% 70%,10% 18%);font-size:44px}.crest.small{width:42px;height:48px;clip-path:polygon(50% 0,90% 18%,90% 70%,50% 100%,10% 70%,10% 18%);font-size:18px}.tinycrest{width:34px;height:39px;clip-path:polygon(50% 0,90% 18%,90% 70%,50% 100%,10% 70%,10% 18%);font-size:14px}h1{font-family:Georgia,serif;color:var(--gold2);letter-spacing:3px;margin:0 0 6px;font-size:38px}.tagline{color:#eee;margin:0 0 38px}.login-card{background:rgba(10,10,10,.72);border:1px solid var(--line);border-radius:16px;padding:16px;text-align:left;backdrop-filter:blur(8px)}label{display:block;color:var(--muted);font-size:12px;margin:10px 0 6px}input{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:13px;color:#fff}button{border:0;border-radius:10px;background:linear-gradient(135deg,#9f6817,#f0bb52);color:#090909;font-weight:800;padding:13px 16px;cursor:pointer}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.tiny{font-size:12px;color:var(--muted);margin:12px 0}a{color:var(--gold2)}.apply{text-align:center;color:#ddd;font-size:13px}.prototype{display:flex;gap:18px;width:min(1240px,100%)}.sidebar{width:240px;background:#090909;border:1px solid var(--line);border-radius:20px;padding:18px;height:840px;position:relative}.brand-row{display:flex;gap:10px;align-items:center;margin-bottom:26px}.brand-row span{display:block;color:var(--gold);font-size:11px;margin-top:2px}.sidebar nav{display:grid;gap:7px}.sidebar a{padding:12px;border-radius:10px;color:#cfc7b8;text-decoration:none;cursor:pointer}.sidebar a.active,.sidebar a:hover{background:rgba(212,160,52,.16);color:#fff}.side-note{position:absolute;bottom:30px;color:var(--muted);font-size:12px;width:190px}.app-phone{min-height:840px}header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid rgba(255,255,255,.08);letter-spacing:1px}.icon-btn{background:transparent;color:white;padding:8px;font-size:18px}.screen{display:none;padding:16px 16px 86px;animation:fade .25s ease}.screen.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.member-card,.mission-card,.detail-card,.mini-card,.note-card,.upload-item,.channel,.table-card,.progress-card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(212,160,52,.18);border-radius:14px}.member-card{display:flex;align-items:center;gap:12px;padding:14px}.member-card img,.report-head img,.profile-hero img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.member-card p,.member-card h2{margin:0}.member-card p{color:var(--muted);font-size:12px}.member-card h2{font-size:17px}.badge{display:inline-block;border:1px solid rgba(212,160,52,.45);color:var(--gold2);border-radius:999px;padding:4px 8px;font-size:11px;background:rgba(212,160,52,.1)}.progress-card{padding:13px;margin:12px 0}.bar{height:8px;background:#2a2317;border-radius:999px;overflow:hidden;margin-top:10px}.bar span{display:block;height:100%;background:linear-gradient(90deg,#9f6817,#f0c96b)}.section-title{color:var(--gold);font-size:12px;font-weight:900;margin:17px 0 9px;letter-spacing:.5px}.mission-card{display:grid;grid-template-columns:82px 1fr auto;gap:12px;padding:12px;align-items:center}.mission-card h3,.upload-item h3{margin:0;font-size:14px}.mission-card p,.upload-item p{font-size:12px;color:#c8c0b2;margin:5px 0}.mission-card small{color:var(--gold2);font-size:11px}.mission-card button{padding:8px 10px;font-size:11px}.thumb{border-radius:10px;background-size:cover;background-position:center}.walk{background-image:linear-gradient(to bottom,rgba(0,0,0,.1),rgba(0,0,0,.6)),url('https://images.unsplash.com/photo-1496747611176-843222e1e57c?w=500&auto=format&fit=crop')}.portrait{background-image:url('https://images.unsplash.com/photo-1487412720507-e7ab37603c6f?w=500&auto=format&fit=crop')}.edit{background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=500&auto=format&fit=crop')}.mission-card .thumb,.upload-item .thumb{height:76px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.grid-4 div,.mini-card{text-align:center;padding:12px}.grid-4 strong,.mini-card strong{display:block;font-size:20px;color:#fff}.grid-4 span,.mini-card span,.mini-card p{font-size:11px;color:var(--muted);margin:3px 0}.gold-list{margin:0;padding-left:18px;color:#ddd;font-size:13px}.gold-list li::marker{color:var(--gold)}.note-card{padding:13px;color:#d8d0c1;font-size:13px;line-height:1.45;margin-top:10px}.tabs{display:flex;gap:8px;margin-bottom:14px}.tabs span{flex:1;text-align:center;padding:10px 6px;border-radius:9px;color:#aaa;font-size:12px;background:#121212}.tabs .active{background:rgba(212,160,52,.16);color:var(--gold2)}.detail-card{padding:14px;line-height:1.45}.detail-card h2{font-size:19px}.detail-card h4{color:var(--gold);font-size:12px;margin-bottom:4px}.detail-card p,.detail-card li{color:#c7bead;font-size:13px}.detail-card button{width:100%;margin-top:12px}.hero-thumb{height:150px;border-radius:12px;background-size:cover;background-position:center}.upload-drop{border:1px dashed rgba(212,160,52,.45);border-radius:14px;padding:24px;text-align:center;color:var(--gold2);margin-bottom:12px;background:rgba(212,160,52,.06)}.upload-item{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:10px;margin-bottom:10px}.pill{border-radius:999px;padding:5px 8px;font-size:10px;white-space:nowrap}.warn{background:rgba(212,160,52,.14);color:#f0c96b}.ok{background:rgba(145,210,109,.12);color:var(--green)}.bad{background:rgba(214,107,85,.14);color:var(--red)}.report-head{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;margin-bottom:12px}.report-head h2,.report-head p{margin:0}.report-head p{color:var(--muted);font-size:12px}.score{border:1px solid var(--line);border-radius:13px;padding:10px;color:#fff;font-size:28px;text-align:center}.score span{font-size:12px;color:var(--muted)}.score-row{display:grid;grid-template-columns:115px 1fr 25px;align-items:center;gap:8px;margin:9px 0;font-size:12px}.score-row div{height:5px;background:#2a2317;border-radius:999px;overflow:hidden}.score-row b{height:100%;display:block;background:var(--gold)}.channel{padding:14px;margin-bottom:10px;position:relative}.channel p{color:var(--muted);font-size:12px;margin:4px 0 0}.channel span{position:absolute;right:12px;top:15px;color:#958b7d;font-size:11px}.profile-hero{text-align:center;padding:18px}.profile-hero img{width:92px;height:92px}.profile-hero h2{margin:8px 0}.profile-hero p{color:#c8c0b2}.admin-top{display:flex;align-items:center;justify-content:space-between}.admin-top h2,.admin-top p{margin:0}.admin-top p{color:var(--muted);font-size:12px}.table-card{padding:13px;margin:12px 0}.table-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:68px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(7,7,7,.96);border-top:1px solid rgba(255,255,255,.08)}.bottom-nav button{background:transparent;color:#cfc7b8;padding:8px 0;border-radius:0}.bottom-nav span{display:block;font-size:10px;margin-top:3px}@media(max-width:900px){.desktop-only{display:none}.prototype{justify-content:center}.app-shell{padding:10px}.phone{border-radius:22px;min-height:820px}}

/* Logo respect pass:
   Full lockup is treated like a hero artwork.
   Small UI areas use the cropped crest only. */
.hero-brand{
  position:relative;
  width:min(285px, 88%);
  height:auto;
  display:block;
  margin:0 auto 18px;
  border-radius:18px;
  border:1px solid rgba(212,160,52,.28);
  box-shadow:0 28px 90px rgba(0,0,0,.68), 0 0 46px rgba(212,160,52,.2);
  object-fit:contain;
}

.hero-tagline{
  margin-bottom:22px;
  color:#f0c96b;
  letter-spacing:.5px;
}

.brand-crest{
  width:42px;
  height:48px;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(212,160,52,.35));
}

.tiny-crest-img{
  width:38px;
  height:44px;
  object-fit:contain;
  margin-left:auto;
  filter:drop-shadow(0 0 12px rgba(212,160,52,.32));
}

.login-card{
  margin-top:8px;
}

/* Hide old CSS crest shape only when image crests are used */
img.brand-crest,
img.tiny-crest-img{
  background:transparent;
  border:0;
}

.ghost-btn{width:100%;margin-top:8px;background:transparent;color:#f0c96b;border:1px solid rgba(212,160,52,.38)}
.upload-drop input,.upload-drop select,.upload-drop textarea,.chat-select select,.chat-box textarea{width:100%;margin:8px 0;background:rgba(255,255,255,.08);border:1px solid rgba(212,160,52,.22);border-radius:10px;padding:12px;color:#fff}.upload-drop select,.chat-select select{background:#121212}.upload-drop textarea,.chat-box textarea{min-height:84px;resize:vertical}.upload-drop button,.chat-box button{width:100%;margin-top:8px}.message-list{display:grid;gap:10px;margin-bottom:12px;max-height:430px;overflow:auto}.message{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(212,160,52,.16);border-radius:14px;padding:12px}.message strong{color:#f0c96b;font-size:12px}.message p{margin:6px 0 0;color:#ddd;font-size:13px;line-height:1.35}.chat-box{background:rgba(0,0,0,.25);border:1px solid rgba(212,160,52,.16);border-radius:14px;padding:10px}#uploadStatus,#authStatus{color:#d8d0c1}

.admin-only.hidden{display:none!important}
#passwordStatus{display:block;margin-top:8px;color:#d8d0c1;font-size:12px}
.note-card input{margin:8px 0}

.admin-only.hidden{display:none!important}
.avatar-img{
  background:#050505;
  object-fit:cover;
  object-position:center;
}
.avatar-img[src$="logo-crest.png"]{
  object-fit:contain;
  padding:7px;
  background:radial-gradient(circle, rgba(212,160,52,.16), rgba(0,0,0,.72));
}
.large-avatar.avatar-img[src$="logo-crest.png"]{
  padding:12px;
}
#passwordStatus,#adminSaveStatus,.admin-helper{
  display:block;
  margin-top:8px;
  color:#d8d0c1;
  font-size:12px;
}
.note-card input,.table-card input,.table-card select{
  width:100%;
  margin:8px 0;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(212,160,52,.22);
  border-radius:10px;
  padding:12px;
  color:#fff;
}
.table-card select{background:#121212}

.hidden{display:none!important}
.table-card textarea{
  width:100%;
  min-height:88px;
  margin:8px 0;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(212,160,52,.22);
  border-radius:10px;
  padding:12px;
  color:#fff;
  resize:vertical;
}
#scoreSaveStatus,#announcementStatus{
  display:block;
  margin-top:8px;
  color:#d8d0c1;
  font-size:12px;
}
.announcement-card{
  background:linear-gradient(180deg,rgba(212,160,52,.08),rgba(255,255,255,.025));
  border:1px solid rgba(212,160,52,.22);
  border-radius:14px;
  padding:13px;
  margin-bottom:10px;
}
.announcement-card strong{color:#f0c96b}
.announcement-card p{color:#d8d0c1;margin:6px 0 0;font-size:13px;line-height:1.35}
.announcement-card small{color:#a99f8b;font-size:11px}
.score-row input{display:none}
.message.mine{border-color:rgba(212,160,52,.35);background:rgba(212,160,52,.08)}
.message .meta{color:#a99f8b;font-size:11px;margin-top:4px}

/* V5 avatar and admin polish */
.avatar-fallback{
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:900;
  letter-spacing:-2px;
  color:#080808;
  background:
    radial-gradient(circle at 35% 25%, #fff1a6, transparent 18px),
    linear-gradient(135deg,#5f3b08,#f0c96b,#8b5a10);
  border:1px solid rgba(255,222,137,.75);
  box-shadow:0 0 24px rgba(212,160,52,.26);
  flex:0 0 auto;
}
.large-avatar-fallback{
  width:92px;
  height:92px;
  margin:0 auto;
  font-size:28px;
}
.avatar-img.hidden{display:none!important}
.avatar-img{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  background:#050505;
}
.large-avatar{width:92px!important;height:92px!important}
.admin-access-card{
  margin:12px 0;
  padding:13px;
  border-radius:14px;
  border:1px solid rgba(212,160,52,.28);
  background:linear-gradient(135deg,rgba(212,160,52,.14),rgba(255,255,255,.03));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.admin-access-card strong{color:#f0c96b}
.admin-access-card p{margin:4px 0 0;color:#d8d0c1;font-size:12px;line-height:1.3}
.admin-access-card button{font-size:11px;padding:10px 12px;white-space:nowrap}
#avatarUploadStatus{display:block;margin:8px 0;color:#d8d0c1;font-size:12px}

/* V6 clearer chat rooms */
.chat-info-card{
  background:linear-gradient(180deg,rgba(212,160,52,.08),rgba(255,255,255,.025));
  border:1px solid rgba(212,160,52,.22);
  border-radius:14px;
  padding:12px;
  margin-bottom:12px;
}
.chat-info-card strong{color:#f0c96b}
.chat-info-card p{
  margin:5px 0 0;
  color:#d8d0c1;
  font-size:12px;
  line-height:1.35;
}
.message-list{min-height:280px}
.message.mine{
  margin-left:24px;
  border-color:rgba(212,160,52,.45)!important;
  background:linear-gradient(180deg,rgba(212,160,52,.11),rgba(255,255,255,.025))!important;
}
.message:not(.mine){margin-right:24px}
.message .meta{color:#a99f8b;font-size:11px;margin-top:4px}
