*{box-sizing:border-box}body{margin:0;background:#edf3f2;color:#18313a;font:16px/1.65 system-ui,Arial,sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#102b35;color:#fff;padding:17px max(18px,calc((100vw - 1120px)/2));}header div{display:flex;align-items:center;gap:14px}header span{font-size:14px;color:#b8cfce}header a{color:#cbfced}main{max-width:1120px;margin:auto;padding:30px 18px 90px}h1{font-size:clamp(25px,3vw,34px);margin:0 0 12px}h2{font-size:21px}.panel,.photoCard,.reportCard{background:#fff;border:1px solid #d2dedc;border-radius:18px;padding:22px;box-shadow:0 4px 20px #17343b0c}.auth{max-width:560px;margin:25px auto}.auth label{display:block;margin:12px 0 6px;font-weight:600}input,select,button,textarea{font:inherit}input,select{padding:11px;border:1px solid #8ba9ab;border-radius:10px;background:#fff;color:#18313a;max-width:100%}.auth input{width:100%}button{cursor:pointer;border:0;border-radius:11px;padding:10px 18px;color:#042d24;background:#29d1a2;font-weight:700}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){filter:brightness(.94)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #096ea7;outline-offset:3px}.ghost{background:#e0ecec;color:#223d44}.danger{background:#ffded9;color:#8b201a}.warning{border-right:4px solid #d79618;background:#fff7df;padding:12px 15px;border-radius:10px;margin:16px 0}.muted,.helper{color:#536972}.otpLine{display:flex;gap:9px;align-items:center}.otpLine input{flex:1;min-width:0}.otpLine button{flex:0 0 auto}.dashboardTop{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar{display:flex;gap:10px}.tabs{display:flex;gap:12px;margin:14px 0}.tabs button{background:#dee9e8;color:#35535b}.tabs button.active{background:#12464b;color:#fff}.stats{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.stat{background:#fff;border:1px solid #d2dedc;border-radius:12px;padding:9px 15px}.stat strong{font-size:23px;display:block}.filterLine{display:flex;align-items:center;gap:9px;margin:13px 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:17px}.photoCard{padding:13px;overflow:hidden}.photoCard img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#ecf1f2;border-radius:10px}.photoCard .emptyImg{aspect-ratio:4/3;background:#e9eeee;border-radius:10px;display:grid;place-items:center}.photoCard h3,.reportCard h3{font-size:18px;margin:10px 0 2px;overflow-wrap:anywhere}.meta{font-size:13px;color:#52666d}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.tag{font-size:12px;border-radius:6px;padding:2px 7px;background:#e7f1ef}.tag.warn{background:#ffecd8;color:#743b00}.actions{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}.actions button{flex:1}.reportCard{overflow-wrap:anywhere}.reportText{white-space:pre-wrap;max-height:180px;overflow:auto}.status{margin-top:8px;font-weight:600}#loginStatus,#adminStatus{color:#085c4c;font-weight:600;white-space:pre-wrap}#loginStatus.error,#adminStatus.error{color:#a31c1c}.skip{position:absolute;top:-70px;right:15px;background:#fff;color:#123;padding:10px;z-index:5}.skip:focus{top:8px}[hidden]{display:none!important}@media(max-width:550px){main{padding:15px 11px 65px}.panel,.photoCard,.reportCard{padding:15px}header{padding:12px}header div{display:grid;gap:0}header span{font-size:11px}.actions button{font-size:14px;padding:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.reportPhotoTitle{font-size:17px;font-weight:700;overflow-wrap:anywhere;margin:11px 0;color:#143b3f}.reportCard .actions{display:flex;flex-wrap:wrap}.reportCard .actions button{min-width:115px}.reportCard .actions .danger{background:#f8d5d0;color:#81221c}

/* Trusted-device sign-in preference */
.auth label.rememberChoice{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;cursor:pointer;margin:6px 0 0}
.auth .rememberChoice input[type="checkbox"]{width:22px;height:22px;flex:none;accent-color:#087f67;cursor:pointer}
.rememberHelp{margin:0 0 8px;font-size:13px;line-height:1.6}

/* PhotoMap glass dashboard */
:root{--ink:#183740;--accent:#078a7b}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 8% 0%,#d1eeeb 0,transparent 42%),radial-gradient(ellipse at 95% 80%,#dbe9fc 0,transparent 40%),#edf6f6;min-height:100dvh}
header{background:linear-gradient(130deg,rgba(246,255,255,.9),rgba(229,246,247,.83));color:#183942;border-bottom:1px solid #fff;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 4px 24px #19424a14}
header span{color:#5d727b}header a{color:#086e67}
.panel,.photoCard,.reportCard{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(244,253,253,.85));border:1px solid rgba(255,255,255,.96);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border-radius:25px;box-shadow:0 15px 45px rgba(21,69,76,.08),inset 0 1px 0 white}
button{border-radius:16px;background:linear-gradient(145deg,#38dfc6,#16b8a5);box-shadow:0 6px 20px rgba(18,146,128,.13),inset 0 1px 0 #ffffff9c;color:#064c43;border:1px solid rgba(255,255,255,.76);transition:transform .15s ease,filter .15s ease}
button:active:not(:disabled){transform:scale(.97)}button:hover:not(:disabled){filter:brightness(1.03)}
button.ghost,.tabs button{background:#e4f2f3;color:#26545d;box-shadow:inset 0 1px 0 #fff}
.tabs button.active{background:linear-gradient(140deg,#136e72,#0e8b7b);color:white}
button.danger{background:linear-gradient(135deg,#ffe0dc,#f7c6c0);color:#822a27}
input,select,textarea{border:1px solid #aec9cb;border-radius:14px;background:rgba(255,255,255,.93);color:#1b4047;min-height:47px}
.auth{max-width:580px}.stats .stat,.stat{border-radius:18px;background:rgba(255,255,255,.84);border:1px solid white;box-shadow:0 5px 18px #2348530c}
.photoCard img{border-radius:18px}.warning{background:rgba(255,246,217,.86);border-radius:18px}
.reportPhotoTitle{color:#075f5c}.tag{border-radius:12px}.reportCard .actions .danger{background:#ffdfdc}
@media(prefers-reduced-transparency:reduce){header,.panel,.photoCard,.reportCard{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Comment approval queue and compact tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{flex:1 1 auto;min-width:105px;padding:11px 13px}
#commentsSection .reportCard{border:1px solid #d2e8e5}
#commentsSection .reportText{max-height:none;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:420px){.tabs button{font-size:13px;min-width:88px;padding:10px 8px}}
