/* auth.css: account, claim, profile editor and admin chrome. Restyled 2026-10-30 onto the
   brand.css tokens (flat panels, hairlines, one red with white text, Rajdhani labels, Barlow
   body, square corners). Class names unchanged so every page that loads it picks it up.
   Tables inside .authcard use table.lb from brand.css. */
.authwrap{max-width:480px;margin:0 auto;padding:40px 22px 72px}
.authcard{background:var(--ttg-panel);border:1px solid var(--ttg-line);padding:28px 28px 30px}
.authcard h1{font-family:var(--ttg-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:28px;line-height:1.05;margin:0 0 6px}
.authcard h2{font-family:var(--ttg-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:17px;margin:28px 0 10px;display:flex;align-items:center;gap:10px}
.authcard h2:before{content:"";width:4px;height:16px;background:var(--ttg-red)}
.authcard h2 .cmuted{font-family:var(--ttg-body);text-transform:none;letter-spacing:0;font-weight:400}
.authcard .asub{color:var(--ttg-muted);font-size:14px;margin:0 0 14px;line-height:1.5}
.authcard .amsg{color:var(--ttg-text);margin:10px 0 18px;line-height:1.5}
.authcard form{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.authcard label{display:flex;flex-direction:column;gap:6px;font-family:var(--ttg-display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ttg-muted)}
.authcard .ahint{text-transform:none;letter-spacing:0;color:var(--ttg-muted-2)}
.authcard input,.authcard select,.authcard textarea{background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);color:var(--ttg-text);font-size:15px;padding:10px 12px;font-family:var(--ttg-body);color-scheme:dark}
.authcard input[type=checkbox]{width:18px;height:18px;accent-color:var(--ttg-red);padding:0}
.authcard select{cursor:pointer}
.authcard input:focus,.authcard select:focus,.authcard textarea:focus{outline:none;border-color:var(--ttg-red)}
.authcard input::placeholder{color:var(--ttg-muted-2)}
.authcard input:focus{outline:none;border-color:var(--ttg-red-hi)}
.abtn{display:inline-block;text-align:center;background:var(--ttg-red);color:#fff;font-family:var(--ttg-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:14px;padding:11px 18px;border:1px solid var(--ttg-red);cursor:pointer;margin-top:4px;text-decoration:none;line-height:1.2;transition:background .15s,border-color .15s}
.abtn:hover{background:var(--ttg-red-hi);color:#fff}
.abtn:focus-visible{outline:2px solid var(--ttg-text);outline-offset:2px}
.aerr{background:rgba(212,17,17,.10);border:1px solid rgba(212,17,17,.5);border-left:3px solid var(--ttg-red);color:#ffb3b3;padding:10px 12px;font-size:14px;margin:0 0 12px}
.aalt{margin-top:18px;font-size:14px;color:var(--ttg-muted)}
.aalt a:not(.abtn),.authcard a:not(.abtn){color:var(--ttg-red-hi)}
.aalt a:not(.abtn):hover,.authcard a:not(.abtn):hover{color:var(--ttg-text)}

/* claim / profile editor / admin chrome */
.searchrow{flex-direction:row;display:flex;gap:8px}
.searchrow button{margin:0}
.asaved{background:rgba(76,175,106,.10);border:1px solid rgba(76,175,106,.45);border-left:3px solid rgba(76,175,106,.9);color:#b9ecc4;padding:10px 12px;font-size:14px;margin:0 0 12px}
.cmuted{color:var(--ttg-muted-2);font-size:12.5px}
.claim-results{margin-top:16px;display:flex;flex-direction:column;gap:0}
.claim-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid var(--ttg-line)}
.claim-row:last-child{border-bottom:0}
.abtn.small{padding:7px 12px;font-size:12px}
.abtn.ghost{background:transparent;color:var(--ttg-text);border:1px solid var(--ttg-line-2)}
.abtn.ghost:hover{background:transparent;border-color:var(--ttg-red);color:var(--ttg-red-hi)}

/* admin moderation chrome */
.adminnav{display:flex;gap:2px;margin:-28px -28px 22px;padding:0 10px;border-bottom:1px solid var(--ttg-line);background:#0c0c0c;overflow-x:auto;scrollbar-width:none;font-family:var(--ttg-display);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.adminnav::-webkit-scrollbar{display:none}
.authcard .adminnav a,.adminnav a{color:var(--ttg-muted);padding:13px 12px;white-space:nowrap;position:relative}
.authcard .adminnav a:hover,.adminnav a:hover{color:var(--ttg-text)}
.authcard .adminnav a.on,.adminnav a.on{color:var(--ttg-text)}
.adminnav a.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ttg-red)}
.ahead{font-family:var(--ttg-display);text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--ttg-muted);margin:0 0 10px;font-weight:600}

/* profile editor: images + crop modal */
.imgfield{margin-top:2px}
.imgrow{display:flex;align-items:center;gap:14px}
.imgprev{border:1px solid var(--ttg-line-2);background:var(--ttg-panel-2);overflow:hidden;flex:0 0 auto}
.imgprev.pp{width:84px;height:84px;display:grid;place-items:center}
.imgprev img,.bnrprev img{width:100%;height:100%;object-fit:cover;display:block}
.bnrprev{width:100%;aspect-ratio:3/1;border:1px solid var(--ttg-line-2);background:var(--ttg-panel-2);overflow:hidden;margin-bottom:8px}
.filebtn{cursor:pointer;display:inline-block}
.authcard textarea{background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);color:var(--ttg-text);font-size:15px;padding:11px 12px;font-family:inherit;resize:vertical}
.authcard textarea:focus{outline:none;border-color:var(--ttg-red-hi)}
.cropmodal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:20px}
.cropmodal[hidden]{display:none}
.cropbox{background:var(--ttg-panel-2);border:1px solid var(--ttg-line);padding:16px;max-width:90vw;width:540px}
.cropwrap{max-height:62vh}
.cropwrap img{max-width:100%;display:block}
.cropbtns{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.modimg{display:flex;gap:10px;align-items:center}
.modimg .mphoto{width:48px;height:48px;object-fit:cover;border:1px solid var(--ttg-line-2)}
.modimg .mbanner{width:120px;height:40px;object-fit:cover;border:1px solid var(--ttg-line-2)}

/* ---- admin: invites ---- */
.invcode{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.invcode code{font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:13px;letter-spacing:.02em;color:var(--ttg-text);background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:9px 12px;word-break:break-all;flex:1 1 320px}
.invform{margin-top:18px}
.invgrid{display:grid;grid-template-columns:1fr 160px;gap:14px;margin-bottom:14px}
.invgrid label{display:flex;flex-direction:column;gap:6px;font-family:var(--ttg-display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ttg-muted)}
.invgrid-3{grid-template-columns:repeat(3,1fr)}
.invgrid .span2{grid-column:span 2}
.formact{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.formact .abtn{margin:0}
@media(max-width:860px){.invgrid-3{grid-template-columns:1fr 1fr}.invgrid .span2{grid-column:span 2}}
@media(max-width:560px){.invgrid-3{grid-template-columns:1fr}.invgrid .span2{grid-column:auto}}
.invgrid label{min-width:0}
.invgrid input,.invgrid select{width:100%;min-width:0;box-sizing:border-box;background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:10px 12px;color:var(--ttg-text);font-size:14px}
.invlist{margin-top:12px;border:1px solid var(--ttg-line);overflow:hidden}
.invrow{display:grid;grid-template-columns:1.6fr 1.7fr .8fr .8fr .9fr;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--ttg-line);font-size:13px}
.invrow:first-child{border-top:0}
.invhead{font-family:var(--ttg-display);font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--ttg-muted-2);background:rgba(255,255,255,.02)}
.invstat{font-family:var(--ttg-display);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.invstat-open{color:#4ea36b}
.invstat-used{color:var(--ttg-muted-2)}
.invstat-expired{color:#b06a3a}
@media(max-width:640px){.invgrid{grid-template-columns:1fr}.invrow{grid-template-columns:1fr 1fr;row-gap:4px}.invrow span:nth-child(3),.invrow span:nth-child(4){display:none}}

/* ---- gear editor ---- */
.gmuted{color:var(--ttg-muted-2);font-size:14px;padding:12px 0}
.gload{border:1px solid var(--ttg-line-2);padding:16px;margin-bottom:16px;background:rgba(255,255,255,.015)}
.gload-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.gname{flex:1;font-family:var(--ttg-display);font-size:15px;font-weight:600;background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:9px 12px;color:var(--ttg-text)}
.glx{flex:0 0 auto;width:32px;height:32px;border:1px solid var(--ttg-line-2);background:transparent;color:var(--ttg-muted);font-size:18px;cursor:pointer;line-height:1}
.glx:hover{border-color:#b04a3a;color:#d9745f}
.grow3{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-bottom:6px}
.gf{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ttg-muted)}
.gf input,.gf select{background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:8px 10px;color:var(--ttg-text);font-size:14px}
.gcheck{flex-direction:row;align-items:center;gap:7px;align-self:end;padding-bottom:9px;text-transform:none;letter-spacing:0;color:var(--ttg-muted)}
.gplats{margin-top:8px}
.gplat{border:1px solid var(--ttg-line);padding:11px 12px;margin-top:10px;background:rgba(0,0,0,.18)}
.gplat-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gplat-tag{font-family:var(--ttg-display);font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--ttg-red-hi);border:1px solid rgba(212,17,17,.45);padding:3px 8px;white-space:nowrap}
.gplat-head input{flex:1 1 130px;min-width:110px;background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:7px 10px;color:var(--ttg-text);font-size:13.5px}
.glx2{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--ttg-line);background:transparent;color:var(--ttg-muted-2);font-size:16px;cursor:pointer;line-height:1;margin-left:auto}
.glx2:hover{border-color:#b04a3a;color:#d9745f}
.gparts{margin:9px 0 6px}
.gpart{display:grid;grid-template-columns:140px 1fr 1fr auto auto;gap:8px;align-items:center;margin-top:7px}
.gpart select,.gpart input{background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:7px 9px;color:var(--ttg-text);font-size:13px}
.gspon{display:flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ttg-muted-2);white-space:nowrap}
.gaddrow{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--ttg-muted-2)}
.gaddpart{margin-top:2px}
.acbox{position:absolute;z-index:2000;background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);box-shadow:0 12px 30px rgba(0,0,0,.5);max-height:220px;overflow:auto}
.acopt{padding:8px 11px;font-size:13px;color:var(--ttg-text);cursor:pointer;border-top:1px solid var(--ttg-line)}
.acopt:first-child{border-top:0}
.acopt:hover{background:rgba(212,17,17,.16)}
@media(max-width:640px){.grow3{grid-template-columns:1fr 1fr}.gpart{grid-template-columns:1fr 1fr;row-gap:5px}}

/* ---- admin: gear catalog + report ---- */
.geartabs{display:flex;gap:8px;border-bottom:1px solid var(--ttg-line);margin-top:6px}
.geartabs a{padding:9px 15px;font-family:var(--ttg-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ttg-muted);border-bottom:2px solid transparent;text-decoration:none}
.geartabs a.on{color:var(--ttg-text);border-bottom-color:var(--ttg-red-hi)}
.mergebox{background:rgba(0,0,0,.22);border:1px solid var(--ttg-line-2);padding:11px 13px;margin-bottom:14px}
.mergebox form{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:var(--ttg-muted)}
.mergebox input{background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:7px 9px;color:var(--ttg-text)}
.gearlist{border:1px solid var(--ttg-line);overflow:hidden}
.gtrow{display:grid;grid-template-columns:120px 110px 1.3fr 1.3fr 56px auto;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--ttg-line);margin:0}
.gtrow:first-child{border-top:0}
.gthead{font-family:var(--ttg-display);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ttg-muted-2);background:rgba(255,255,255,.02)}
.gtrow input{width:100%;background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:6px 8px;color:var(--ttg-text);font-size:13px}
.gmono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--ttg-muted)}
.gmuted2{color:var(--ttg-muted-2);font-size:12.5px}
.gtacts{display:flex;gap:6px;justify-content:flex-end}
.abtn.xs{font-size:11px;padding:5px 9px;letter-spacing:.04em}
.gtag{display:inline-block;font-family:var(--ttg-display);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ttg-muted-2);border:1px solid var(--ttg-line-2);padding:0 4px;margin-left:4px}
.gtag.gtf{color:#b06a3a;border-color:rgba(176,106,58,.5)}
.gtag.gts{color:var(--ttg-red-hi);border-color:rgba(212,17,17,.5)}
.gmerged{opacity:.5}
.gflagged{background:rgba(176,106,58,.06)}
.grpt{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.grpt .gf{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ttg-muted)}
.grpt input,.grpt select{background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:8px 10px;color:var(--ttg-text);font-size:14px}
.grpt-meta{font-size:12px;color:var(--ttg-muted-2);margin-bottom:8px}
.grrow{grid-template-columns:1.3fr 1.4fr 110px 1.4fr 80px}
@media(max-width:760px){.gtrow{grid-template-columns:70px 1fr 1fr auto}.gtrow span:nth-child(2){display:none}.grrow{grid-template-columns:1fr 1fr auto}}

/* ---- account: danger zone + data ---- */
.dzone{margin-top:18px;border:1px solid rgba(176,74,58,.4);padding:0 14px}
.dzone summary{padding:12px 0;font-family:var(--ttg-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#cf7d68;cursor:pointer}
.dz-note{font-size:13px;color:var(--ttg-muted);line-height:1.5;margin:4px 0 12px}
.dz-input{width:100%;background:var(--ttg-panel-2);border:1px solid var(--ttg-line-2);padding:9px 11px;color:var(--ttg-text);margin-bottom:10px}
.abtn.danger{background:#7d2c1e;border-color:#7d2c1e;color:#fff}
.abtn.danger:hover{background:#923524;border-color:#923524}

/* ---- Phase 3: admin import form ---- */
.frow { display:flex; align-items:center; gap:12px; margin:12px 0; flex-wrap:wrap; }
.frow > label:first-child { min-width:110px; font-family:var(--ttg-display); text-transform:uppercase; letter-spacing:.06em; font-size:12px; color:var(--ttg-muted); }
.frow select { flex:1; min-width:260px; background:var(--ttg-panel-2); color:var(--ttg-text); border:1px solid var(--ttg-line-2); padding:9px 10px; }
.frow input[type=file] { color:var(--ttg-muted); }
.frow input[type=file]::file-selector-button { background:var(--ttg-panel-2); color:var(--ttg-text); border:1px solid var(--ttg-line-2); font-family:var(--ttg-display); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:12px; padding:8px 12px; margin-right:10px; cursor:pointer; }


/* ---- admin tables and details (2026-10-30) ---- */
.authcard .tbl-wrap{border:1px solid var(--ttg-line);background:var(--ttg-panel-2);margin:0 0 6px;overflow-x:auto}
.authcard table.lb{font-size:13.5px}
.authcard table.lb th{background:#0c0c0c}
.authcard table.lb td input,.authcard table.lb td select{padding:7px 9px;font-size:13.5px;max-width:100%}
.authcard table.lb td code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--ttg-muted)}
.authcard details{border:1px solid var(--ttg-line);background:var(--ttg-panel-2);padding:0 14px;margin:12px 0 !important}
.authcard details summary{list-style:none;cursor:pointer;padding:12px 0;font-family:var(--ttg-display);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ttg-text);display:flex;align-items:center;gap:10px}
.authcard details summary::-webkit-details-marker{display:none}
.authcard details summary:before{content:"+";color:var(--ttg-red-hi);font-size:16px;width:12px}
.authcard details[open] summary:before{content:"-"}
.authcard details[open] summary{border-bottom:1px solid var(--ttg-line);margin-bottom:12px}
.authcard details .invform{margin:0 0 16px}
.authcard details .abtn{margin-bottom:4px}
.authcard p{margin:0 0 10px}
.authcard p .abtn{margin-right:6px}
.cmuted{color:var(--ttg-muted-2);font-size:12.5px}
.authcard code{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--ttg-muted)}
.authcard hr{border:0;border-top:1px solid var(--ttg-line);margin:22px 0}
@media(max-width:860px){
  .authwrap{padding:20px 14px 60px}
  .authcard{padding:18px 16px 22px}
  .adminnav{margin:-18px -16px 18px}
}
