@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:400; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-vietnamese-400-normal.woff2') format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:400; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-latin-400-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:600; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-vietnamese-600-normal.woff2') format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:600; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-latin-600-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:700; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-vietnamese-700-normal.woff2') format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:700; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:800; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-vietnamese-800-normal.woff2') format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Be Vietnam Pro'; font-style:normal; font-display:swap; font-weight:800; src:url('https://cdn.jsdelivr.net/npm/@fontsource/be-vietnam-pro@5.3.0/files/be-vietnam-pro-latin-800-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { --primary:#ef3f24; --secondary:#ff7a18; --ink:#15171a; --muted:#68707d; --line:#e9eaed; --soft:#f6f7f9; --white:#fff; --dark:#17181b; --shadow:0 16px 45px rgba(25,29,37,.09); --radius:12px; --app-font-family:'Be Vietnam Pro',sans-serif; --bs-body-font-family:var(--app-font-family); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-height:100dvh; margin:0; color:var(--ink); background:#fff; caret-color:transparent; font-family:var(--app-font-family); font-kerning:normal; font-synthesis:none; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body:not(.admin-body) { display:flex; flex-direction:column; }
body:not(.admin-body)>main { flex:1 0 auto; }
body:not(.admin-body)>.site-footer { flex:0 0 auto; margin-top:auto; }
a { color:inherit; }
input,textarea,[contenteditable="true"] { caret-color:auto; }
a,button,.btn,[role="button"],label,summary { -webkit-tap-highlight-color:transparent; }
:where(a,button,.btn,[role="button"],summary):focus:not(:focus-visible) { outline:0!important; box-shadow:none!important; }
:where(a,button,.btn,[role="button"],summary):focus-visible { outline:3px solid rgba(239,63,36,.28); outline-offset:2px; }
.navbar-toggler:focus:not(:focus-visible),.sidebar-toggle:focus:not(:focus-visible) { outline:0; box-shadow:none; }
.btn { border-radius:7px; font-weight:700; }
.btn-primary { --bs-btn-bg:var(--primary); --bs-btn-border-color:var(--primary); --bs-btn-hover-bg:#d92f17; --bs-btn-hover-border-color:#d92f17; }
.btn-outline-danger { --bs-btn-color:var(--primary); --bs-btn-border-color:#f1a699; --bs-btn-hover-bg:var(--primary); --bs-btn-hover-border-color:var(--primary); }
.form-control,.form-select,.input-group-text { min-height:48px; border-color:#dfe2e6; border-radius:7px; }
.form-control:focus,.form-select:focus { border-color:var(--primary); box-shadow:0 0 0 .22rem rgba(239,63,36,.13); }
.form-label { color:#343940; font-weight:650; }
.form-label b { color:var(--primary); }
.alert { border-radius:8px; }
.site-header { background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.site-header .navbar { min-height:80px; }
.brand-mark { display:inline-flex; align-items:center; gap:11px; color:var(--ink); font-size:1.18rem; font-weight:800; letter-spacing:-.025em; text-decoration:none; }
.brand-mark>span:last-child { display:flex; flex-direction:column; line-height:1.05; }
.brand-mark small { margin-top:5px; color:#8b9099; font-size:.55rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.brand-shield { display:inline-flex!important; align-items:center; justify-content:center; width:42px; height:46px; color:#fff; background:linear-gradient(145deg,var(--primary),var(--secondary)); border-radius:11px 11px 16px 16px; box-shadow:0 8px 20px rgba(239,63,36,.3); font-size:1.35rem; }
.brand-logo-image { width:46px; height:46px; flex:0 0 46px; object-fit:contain; border-radius:8px; }
.site-header .nav-link { padding:.7rem .85rem!important; color:#4f555e; font-size:.9rem; font-weight:650; }
.site-header .nav-link:hover,.site-header .nav-link.active { color:var(--primary); }
.system-notice { padding:10px 0; color:#694c00; background:#fff4c8; border-bottom:1px solid #f1dfa0; font-size:.88rem; font-weight:600; }
.flash-wrap { position:fixed; top:92px; right:12px; z-index:1080; max-width:500px; }
.hero-section { position:relative; display:flex; align-items:center; min-height:610px; overflow:hidden; color:#fff; background:linear-gradient(120deg,#20130f 0%,#27130d 36%,#54190d 100%); }
.hero-section:before { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:56px 56px; content:''; mask-image:linear-gradient(to bottom,#000,transparent); }
.hero-section:after { position:absolute; right:-8%; bottom:-48%; width:640px; height:640px; border:95px solid rgba(255,93,43,.12); border-radius:50%; content:''; }
.hero-orb { position:absolute; border-radius:50%; }
.hero-orb-one { top:8%; left:5%; width:140px; height:140px; background:rgba(255,102,43,.08); }
.hero-orb-two { right:19%; top:14%; width:12px; height:12px; background:var(--secondary); box-shadow:0 0 35px var(--secondary); }
.eyebrow { display:inline-flex; align-items:center; padding:8px 13px; color:#f4b7a7; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.13); border-radius:5px; font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.hero-orange-icon { position:relative; display:inline-block; flex:0 0 19px; width:19px; height:19px; margin-right:9px; background:radial-gradient(circle at 34% 28%,#ffd087 0 8%,#ff9b35 26%,#f46a1c 68%,#c9420f 100%); border:1px solid rgba(255,205,137,.72); border-radius:48% 52% 49% 51%; box-shadow:inset -2px -2px 3px rgba(133,38,5,.28),0 3px 9px rgba(255,112,31,.28); transform:rotate(-7deg); }
.hero-orange-icon:before { position:absolute; top:-5px; left:10px; width:9px; height:6px; background:linear-gradient(135deg,#8fd35a,#3d8b39); border-radius:8px 2px 8px 2px; content:''; transform:rotate(-22deg); transform-origin:left bottom; }
.hero-orange-icon:after { position:absolute; top:4px; left:4px; width:4px; height:4px; background:rgba(255,255,255,.58); border-radius:50%; content:''; }
.eyebrow.danger { color:#ffe0d8; background:rgba(255,255,255,.12); }
.hero-section h1,.page-hero h1 { margin:22px 0 15px; font-size:clamp(2.55rem,7vw,5.25rem); font-weight:800; letter-spacing:-.04em; line-height:1.12; }
.hero-description { max-width:680px; margin:0 auto 30px; color:#dfd6d3; font-size:clamp(1rem,2vw,1.17rem); line-height:1.7; }
.search-box { display:flex; align-items:center; max-width:820px; margin:0 auto; padding:7px; background:#fff; border:1px solid rgba(255,255,255,.5); border-radius:10px; box-shadow:0 20px 50px rgba(0,0,0,.25); }
.search-input-wrap { display:flex; align-items:center; flex:1; min-width:0; }
.search-box .search-icon { flex:0 0 48px; color:#959aa3; font-size:1.18rem; }
.search-box input { flex:1; min-width:0; height:54px; padding:0 8px; border:0; outline:0; color:var(--ink); background:transparent; font-size:.96rem; }
.search-box .btn { min-height:50px; padding-inline:28px; letter-spacing:.04em; }
.hero-actions { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:22px; }
.hero-actions .btn { padding:10px 18px; }
.text-link { color:var(--primary); font-weight:700; text-decoration:none; }
.hero-actions .text-link { color:#ffc4b3; }
.text-link:hover { text-decoration:underline; }
.privacy-note { margin:28px auto 0; color:#bdaead; font-size:.78rem; }
.stats-strip { position:relative; z-index:3; margin-top:-28px; }
.stats-strip .container { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); }
.stat-item { display:flex; flex-direction:column; align-items:center; padding:25px 10px; border-right:1px solid var(--line); }
.stat-item:last-child { border-right:0; }
.stat-item strong { font-size:1.55rem; font-weight:850; }
.stat-item span { margin-top:3px; color:var(--muted); font-size:.78rem; }
.section-space { padding:82px 0; }
.section-soft { background:var(--soft); border-top:1px solid #eee; border-bottom:1px solid #eee; }
.section-heading { max-width:670px; margin-bottom:30px; }
.section-kicker { color:var(--primary); font-size:.72rem; font-weight:850; letter-spacing:.16em; }
.section-heading h2,.cta-card h2 { margin:10px 0; font-size:clamp(1.75rem,4vw,2.65rem); font-weight:800; letter-spacing:-.025em; line-height:1.25; }
.section-heading p { color:var(--muted); }
.feature-card { position:relative; height:100%; min-height:260px; padding:32px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:.25s ease; }
.feature-card:hover { transform:translateY(-5px); border-color:#f3b1a5; box-shadow:var(--shadow); }
.feature-card>i { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; color:var(--primary); background:#fff1ee; border-radius:9px; font-size:1.5rem; }
.feature-card h3 { margin:24px 0 10px; font-size:1.15rem; font-weight:800; }
.feature-card p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.65; }
.feature-number { position:absolute; top:20px; right:22px; color:#eceef1; font-size:2.5rem; font-weight:900; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.category-chip { display:flex; align-items:center; gap:13px; min-height:74px; padding:13px 16px; background:#fff; border:1px solid var(--line); border-radius:9px; font-size:.88rem; font-weight:700; }
.category-chip>span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; height:40px; color:var(--primary); background:#fff1ee; border-radius:7px; font-size:1.05rem; }
.public-alerts-section { background:#fff; }
.accused-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.accused-card { display:flex; flex-direction:column; min-width:0; padding:22px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 28px rgba(25,29,37,.05); }
.accused-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
.identity-icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; color:var(--primary); background:#fff0ed; border-radius:8px; font-size:1.05rem; }
.group-count { padding:6px 9px; color:#a22b1a; background:#fff0ed; border-radius:5px; font-size:.7rem; font-weight:800; }
.accused-card>small { color:#969ca4; font-size:.66rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.accused-card h3 { margin:5px 0 6px; overflow-wrap:anywhere; font-size:1.13rem; font-weight:850; }
.accused-card>p { min-height:21px; margin:0 0 18px; color:var(--muted); font-size:.78rem; }
.accused-card-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.accused-card-meta span { display:flex; min-width:0; flex-direction:column; }
.accused-card-meta small { color:#999fa7; font-size:.62rem; text-transform:uppercase; }
.accused-card-meta strong { margin-top:3px; overflow-wrap:anywhere; font-size:.75rem; }
.accused-card>a { margin-top:16px; color:var(--primary); font-size:.76rem; font-weight:800; text-decoration:none; }
.rank-panels { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.rank-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:10px; }
.rank-card-title { display:flex; align-items:center; gap:13px; padding:19px 21px; background:#fafafa; border-bottom:1px solid var(--line); }
.rank-card-title>span { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; color:#fff; background:var(--primary); border-radius:7px; }
.rank-card-title small { color:var(--primary); font-size:.58rem; font-weight:850; letter-spacing:.12em; }
.rank-card-title h3 { margin:2px 0 0; font-size:1rem; font-weight:850; }
.rank-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 20px; color:inherit; border-bottom:1px solid #f0f1f2; text-decoration:none; }
.rank-row:last-child { border-bottom:0; }
.rank-row:hover { background:#fff7f5; }
.rank-number { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; color:#787e87; background:#f0f1f3; border-radius:50%; font-size:.68rem; font-weight:800; }
.rank-row:first-child .rank-number { color:#fff; background:var(--primary); }
.rank-identity,.rank-total { display:flex; min-width:0; flex-direction:column; }
.rank-identity strong { overflow:hidden; font-size:.83rem; text-overflow:ellipsis; white-space:nowrap; }
.rank-identity small,.rank-total small { color:#969ca4; font-size:.64rem; }
.rank-total { align-items:flex-end; color:var(--primary); font-size:.88rem; font-weight:850; }
.rank-empty,.public-list-empty { margin:0; padding:25px; color:var(--muted); text-align:center; font-size:.8rem; }
.public-list-empty { display:flex; align-items:center; justify-content:center; gap:9px; background:var(--soft); border:1px dashed #d7dbe0; border-radius:9px; }
.cta-card { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:44px 48px; color:#fff; background:linear-gradient(125deg,var(--primary),#b92512 72%); border-radius:13px; box-shadow:0 20px 55px rgba(239,63,36,.25); }
.cta-card p { color:#ffdcd4; }
.cta-card .btn { white-space:nowrap; }
.page-hero { color:#fff; background:linear-gradient(120deg,#20130f,#4a180e); }
.compact-hero { padding:72px 0 85px; }
.compact-hero h1 { margin:18px 0 10px; font-size:clamp(2.2rem,6vw,3.7rem); }
.compact-hero p { color:#ddcfcc; }
.compact-hero .search-box { margin-top:26px; }
.search-results-wrap { max-width:1040px; }
.result-summary { display:flex; align-items:center; gap:18px; margin-bottom:22px; padding:20px 24px; border:1px solid; border-radius:9px; }
.result-summary.has-result { color:#8f2515; background:#fff2ef; border-color:#f7c5bb; }
.result-summary.is-clear { color:#17603f; background:#eefbf5; border-color:#bce7d2; }
.summary-icon { font-size:1.8rem; }
.result-summary strong { font-size:1rem; }
.result-summary p { margin:3px 0 0; color:#67707a; font-size:.86rem; }
.result-list { display:grid; gap:13px; }
.result-card { display:grid; grid-template-columns:minmax(220px,1.3fr) minmax(300px,1fr) auto; align-items:center; gap:25px; padding:24px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--primary); border-radius:9px; box-shadow:0 8px 25px rgba(20,24,32,.045); }
.result-main h2 { margin:9px 0 5px; font-size:1.2rem; font-weight:800; }
.result-main p { margin:0; color:var(--muted); font-size:.78rem; }
.dot:before { margin:0 8px; content:'•'; }
.result-meta { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.result-meta span { display:flex; flex-direction:column; font-size:.9rem; font-weight:750; }
.result-meta small { margin-bottom:4px; color:#9298a1; font-size:.68rem; font-weight:650; text-transform:uppercase; }
.empty-state { padding:70px 20px; text-align:center; background:var(--soft); border:1px dashed #d7dbe0; border-radius:10px; }
.empty-state>i { color:var(--primary); font-size:3rem; }
.empty-state h2 { margin-top:15px; font-size:1.35rem; font-weight:800; }
.empty-state p { max-width:520px; margin:0 auto; color:var(--muted); }
.form-container { max-width:980px; }
.form-container.narrow { max-width:780px; }
.form-card,.detail-card,.static-card { padding:clamp(24px,4vw,40px); background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 12px 38px rgba(31,35,43,.065); }
.form-card hr { margin:38px 0; border-color:var(--line); opacity:1; }
.form-section-title { display:flex; gap:15px; margin-bottom:26px; }
.form-section-title>span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 43px; height:43px; color:#fff; background:var(--primary); border-radius:8px; font-size:.8rem; font-weight:850; }
.form-section-title h2 { margin:0 0 4px; font-size:1.25rem; font-weight:800; }
.form-section-title p { margin:0; color:var(--muted); font-size:.84rem; }
.upload-zone { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:175px; padding:22px; color:#444a53; background:#fafbfc; border:2px dashed #d6dae0; border-radius:9px; cursor:pointer; transition:.2s; }
.upload-zone:hover,.upload-zone.is-dragging { color:var(--primary); background:#fff7f5; border-color:var(--primary); }
.upload-zone i { margin-bottom:9px; font-size:2rem; }
.upload-zone span { margin-top:5px; color:var(--muted); font-size:.77rem; }
.upload-zone input { position:absolute; width:1px; height:1px; opacity:0; }
.selected-files { margin-top:8px; color:var(--muted); font-size:.8rem; }
.image-preview-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:12px; margin-top:12px; }
.image-preview-card { position:relative; display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; align-items:center; min-width:0; padding:10px 40px 10px 10px; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:8px; }
.image-preview-card img { width:82px; height:74px; object-fit:cover; background:var(--soft); border-radius:6px; cursor:zoom-in; }
.image-preview-card>div { display:flex; min-width:0; flex-direction:column; }
.image-preview-card strong { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.image-preview-card span { margin:3px 0 5px; color:var(--muted); font-size:.65rem; }
.image-preview-card small { align-self:flex-start; max-width:100%; padding:4px 6px; border-radius:4px; font-size:.58rem; font-weight:750; line-height:1.3; }
.image-preview-card .will-compress { color:#8b5600; background:#fff2cf; }
.image-preview-card .ready-image { color:#147148; background:#e7f8f0; }
.image-preview-remove { position:absolute; top:8px; right:8px; display:inline-flex; align-items:center; justify-content:center; width:25px; height:25px; padding:0; color:#8b3232; background:#fff1ef; border:1px solid #f2c4bc; border-radius:50%; font-size:.7rem; transition:.18s; }
.image-preview-remove:hover { color:#fff; background:var(--primary); border-color:var(--primary); transform:scale(1.05); }
.legal-check,.info-banner { display:flex; gap:11px; margin:24px 0; padding:14px 16px; color:#5f5141; background:#fff8e4; border:1px solid #f0dfaa; border-radius:7px; font-size:.82rem; }
.info-banner { margin-top:0; color:#7f311e; background:#fff1ed; border-color:#f4c1b4; }
.info-banner i { font-size:1.3rem; }
.success-panel { padding:55px 25px; text-align:center; background:#fff; border:1px solid #bfe5d4; border-radius:var(--radius); box-shadow:var(--shadow); }
.success-panel>i { color:#15965f; font-size:3.5rem; }
.success-panel h2 { margin-top:15px; font-weight:850; }
.success-panel p { color:var(--muted); }
.detail-hero { padding:55px 0 65px; }
.detail-hero h1 { margin:14px 0 8px; font-size:clamp(2rem,5vw,3.4rem); }
.detail-hero p { margin:0; color:#d8cbc8; }
.back-link { display:inline-block; margin-bottom:32px; color:#e6d9d5; font-size:.85rem; text-decoration:none; }
.detail-container { max-width:1120px; }
.detail-card { margin-bottom:20px; padding:30px; box-shadow:none; }
.detail-card h2 { margin-bottom:22px; font-size:1.18rem; font-weight:800; }
.detail-card-header { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.info-grid>div { display:flex; flex-direction:column; padding:16px; background:var(--soft); border:1px solid #eceef0; border-radius:7px; }
.info-grid small { margin-bottom:5px; color:#898f98; font-size:.68rem; font-weight:700; text-transform:uppercase; }
.info-grid strong { overflow-wrap:anywhere; font-size:.94rem; }
.report-content,.complaint-content { color:#444a52; line-height:1.8; }
.report-note-card { border-left:4px solid var(--primary); background:#fffdfc; }
.report-note-card p { display:flex; align-items:flex-start; gap:10px; margin:0; color:#343a40; font-size:.86rem; line-height:1.65; }
.report-note-card p+p { margin-top:10px; }
.report-note-card p>i { flex:0 0 auto; margin-top:3px; font-size:1rem; }
.report-note-card .report-update-note { color:#4f5965; }
.report-note-card .report-update-note>i { color:#7656b6; }
.report-note-divider { height:1px; margin:18px 0; background:#dfe2e5; }
.evidence-grid,.admin-evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.evidence-grid>*,.admin-evidence-grid>* { min-width:0; }
.evidence-preview-button { display:block; width:100%; padding:0; overflow:hidden; background:var(--soft); border:1px solid var(--line); border-radius:7px; cursor:zoom-in; }
.evidence-preview-button img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border:0; border-radius:0; transition:transform .22s ease; }
.evidence-preview-button:hover img { transform:scale(1.035); }
.evidence-preview-button:focus-visible { outline:3px solid rgba(239,63,36,.24); outline-offset:2px; }
.image-preview-open,.report-preview-open { overflow:hidden; }
.image-lightbox { position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center; padding:64px 80px; color:#fff; background:rgba(8,10,14,.94); backdrop-filter:blur(8px); }
.image-lightbox.show { display:flex; }
.image-lightbox-dialog { display:flex; width:100%; height:100%; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:12px; pointer-events:none; }
.image-lightbox-dialog img { max-width:100%; max-height:calc(100dvh - 150px); object-fit:contain; border-radius:7px; box-shadow:0 22px 70px rgba(0,0,0,.45); pointer-events:auto; }
.image-lightbox-dialog p { max-width:min(760px,90vw); margin:0; overflow:hidden; color:#e4e6ea; font-size:.8rem; text-overflow:ellipsis; white-space:nowrap; }
.image-lightbox-close,.image-lightbox-nav { position:absolute; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.image-lightbox-close { top:18px; right:20px; }
.image-lightbox-prev { left:20px; }
.image-lightbox-next { right:20px; }
.image-lightbox-close:hover,.image-lightbox-nav:hover { background:var(--primary); border-color:var(--primary); }
.safety-card { padding:28px; color:#fff; background:var(--dark); border-radius:10px; }
.safety-card>i { color:#ff7a5d; font-size:2rem; }
.safety-card h2 { margin:12px 0 18px; font-size:1.15rem; font-weight:800; }
.safety-card ul { padding-left:18px; color:#c9cbd0; font-size:.84rem; line-height:1.7; }
.privacy-box { display:flex; gap:12px; margin-top:15px; padding:18px; color:#65707b; background:#f6f7f8; border:1px solid var(--line); border-radius:8px; font-size:.8rem; }
.privacy-box p { margin:0; }
.group-hero-stats { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:9px; }
.group-hero-stats>div { display:flex; min-width:0; flex-direction:column; padding:12px 14px; }
.group-hero-stats>div+div { border-left:1px solid rgba(255,255,255,.15); }
.group-hero-stats strong { overflow-wrap:anywhere; color:#fff; font-size:1.05rem; font-weight:850; }
.group-hero-stats span { margin-top:3px; color:#f0f2ff; font-size:.65rem; font-weight:700; text-transform:uppercase; }
.group-hero { padding:24px 0 28px; }
.group-hero>.container,.group-detail-section>.container { width:min(950px,calc(100% - 32px)); max-width:none; padding-right:0; padding-left:0; }
.group-hero .back-link { margin-bottom:14px; color:#fff; font-weight:700; }
.group-hero h1 { margin:10px 0 5px; font-size:clamp(2rem,4vw,3rem); }
.group-detail-section { padding:22px 0 42px; }
.group-overview { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.group-overview h2 { margin:4px 0 0; color:#111; font-size:clamp(1.35rem,2.6vw,1.65rem); font-weight:850; letter-spacing:-.035em; }
.group-privacy-note { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; color:#454b54; background:#f7f8f9; border:1px solid #dfe2e6; border-radius:5px; font-size:.72rem; font-weight:700; white-space:nowrap; }
.group-report-list { display:grid; gap:10px; }
.group-report-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px 16px; background:#fff; border:1px solid #dfe2e6; border-left:3px solid var(--primary); border-radius:5px; }
.group-report-card.has-gallery { grid-template-columns:minmax(280px,1fr) minmax(210px,360px) auto; }
.group-report-preview-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; min-width:0; }
.group-report-mini-thumbnail { display:block; width:100%; min-width:0; padding:0; overflow:hidden; background:var(--soft); border:1px solid var(--line); border-radius:5px; cursor:zoom-in; }
.group-report-mini-thumbnail img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .18s ease; }
.group-report-mini-thumbnail:hover img { transform:scale(1.08); }
.group-report-index { display:flex; flex-direction:column; }
.group-report-index span { font-size:.78rem; font-weight:800; }
.group-report-index small,.group-category { margin-top:4px; color:#555d68; font-size:.68rem; font-weight:600; }
.group-report-topline { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; }
.group-report-topline .group-category { margin-top:0; }
.group-report-code { color:#555d68; font-size:.68rem; font-weight:700; }
.group-report-content h3 { margin:8px 0 4px; font-size:1rem; font-weight:800; }
.group-report-content>p { display:-webkit-box; margin:0 0 9px; overflow:hidden; color:#3f454d; font-size:.76rem; font-weight:600; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
.group-report-meta { display:flex; flex-wrap:wrap; gap:6px 22px; }
.group-report-meta>span { display:flex; flex-direction:column; }
.group-report-meta small { color:#59616c; font-size:.6rem; font-weight:700; text-transform:uppercase; }
.group-report-meta strong { margin-top:2px; color:#111; font-size:.73rem; font-weight:800; }
.copy-value-row { display:flex!important; min-width:0; flex-direction:row!important; align-items:center; gap:7px; }
.copy-value-row>span { min-width:0; overflow-wrap:anywhere; }
.copy-value-button { display:inline-flex; flex:0 0 25px; align-items:center; justify-content:center; width:25px; height:25px; padding:0; color:#616975; background:#fff; border:1px solid #d9dde2; border-radius:5px; font-size:.7rem; }
.copy-value-button:hover { color:var(--primary); border-color:#ef9b8e; }
.copy-value-button.copied { color:#16784d; background:#e8f8f0; border-color:#b8e3cf; }
.copy-fallback-input { position:fixed; top:-1000px; left:-1000px; width:1px; height:1px; opacity:0; }
.copy-toast { position:fixed; left:50%; bottom:24px; z-index:2200; padding:10px 15px; color:#fff; background:#168356; border-radius:7px; box-shadow:0 12px 35px rgba(0,0,0,.22); font-size:.78rem; font-weight:700; opacity:0; pointer-events:none; transform:translate(-50%,12px); transition:.2s; }
.copy-toast.show { opacity:1; transform:translate(-50%,0); }
.copy-toast.is-error { background:#b63325; }
.group-report-card>.btn { min-width:130px; white-space:nowrap; }
.group-report-actions { display:flex; min-width:132px; flex-direction:column; align-items:stretch; gap:5px; }
.group-report-actions .btn { white-space:nowrap; }
.group-report-actions .btn-link { color:#4b535e; font-size:.76rem; text-decoration:none; }
.group-report-actions .btn-link:hover { color:var(--primary); }
.report-preview-modal { position:fixed; inset:0; z-index:1600; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(12,14,18,.72); backdrop-filter:blur(6px); }
.report-preview-modal.show { display:flex; }
.report-preview-dialog { display:flex; width:min(920px,100%); max-height:calc(100dvh - 48px); flex-direction:column; overflow:hidden; background:#fff; border:1px solid rgba(255,255,255,.35); border-radius:10px; box-shadow:0 28px 90px rgba(0,0,0,.3); }
.report-preview-modal-head { display:flex; align-items:center; justify-content:space-between; min-height:58px; padding:0 20px; border-bottom:1px solid var(--line); }
.report-preview-modal-head strong { font-size:.92rem; }
.report-preview-modal-actions { display:flex; align-items:center; gap:9px; }
.report-preview-close { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; color:#626873; background:var(--soft); border:0; border-radius:50%; }
.report-preview-close:hover { color:#fff; background:var(--primary); }
.report-preview-modal-body { padding:22px; overflow:auto; overscroll-behavior:contain; }
.report-preview-appeal { min-width:100px; }
.report-preview-heading h2 { margin:10px 0 3px; font-size:1.45rem; font-weight:850; }
.report-preview-heading p { margin:0; color:var(--muted); font-size:.75rem; }
.report-preview-info { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:18px; }
.report-preview-info>div { display:flex; min-width:0; flex-direction:column; padding:13px; background:var(--soft); border:1px solid var(--line); border-radius:7px; }
.report-preview-info small { margin-bottom:4px; color:#8b919a; font-size:.6rem; text-transform:uppercase; }
.report-preview-info strong { overflow-wrap:anywhere; font-size:.78rem; }
.report-preview-content,.report-preview-evidence { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.report-preview-content h3,.report-preview-evidence h3 { margin:0 0 11px; font-size:.92rem; font-weight:800; }
.report-preview-content p { margin:0; color:#454b54; font-size:.86rem; line-height:1.7; }
.post-complaint-modal { position:fixed; inset:0; z-index:1750; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(12,14,18,.75); backdrop-filter:blur(6px); }
.post-complaint-modal.show { display:flex; }
.post-complaint-dialog { width:min(720px,100%); max-height:calc(100dvh - 40px); overflow:auto; background:#fff; border-radius:10px; box-shadow:0 28px 90px rgba(0,0,0,.32); }
.post-complaint-head { display:flex; align-items:center; justify-content:space-between; padding:17px 20px; border-bottom:1px solid var(--line); }
.post-complaint-head>div { display:flex; flex-direction:column; }
.post-complaint-head small { color:var(--primary); font-size:.65rem; font-weight:800; letter-spacing:.06em; }
.post-complaint-head strong { font-size:1.05rem; }
.post-complaint-close { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; color:#626873; background:var(--soft); border:0; border-radius:50%; }
.post-complaint-close:hover { color:#fff; background:var(--primary); }
.post-complaint-form { padding:20px; }
.post-complaint-note { padding:11px 13px; color:#795510; background:#fff5d6; border:1px solid #f0d994; border-radius:7px; font-size:.78rem; }
.post-complaint-no-phone { padding:22px; text-align:center; color:#4b3a18; background:#fff8e7; border:1px solid #efd89d; border-radius:8px; }
.post-complaint-no-phone>i { display:block; margin-bottom:8px; color:#d68b00; font-size:1.7rem; }
.post-complaint-no-phone h3 { margin:0 0 7px; font-size:1.05rem; font-weight:800; }
.post-complaint-no-phone p { margin:0 0 15px; font-size:.86rem; line-height:1.6; }
.appeal-contact-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; }
.appeal-contact-links>span { color:var(--muted); font-size:.8rem; }
.quick-contact { position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:1450; display:flex; align-items:flex-end; flex-direction:column; gap:12px; }
.quick-contact-toggle { display:flex; align-items:center; gap:9px; min-height:52px; padding:0 18px; color:#fff; background:linear-gradient(135deg,var(--primary),var(--secondary)); border:0; border-radius:9px; box-shadow:0 14px 34px rgba(31,35,42,.28); font-size:.82rem; font-weight:800; transition:transform .2s,box-shadow .2s; }
.quick-contact-toggle:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(31,35,42,.34); }
.quick-contact-toggle i { font-size:1.15rem; }
.quick-contact-panel { width:min(340px,calc(100vw - 28px)); overflow:hidden; visibility:hidden; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 22px 60px rgba(22,26,32,.24); opacity:0; pointer-events:none; transform:translateY(10px) scale(.98); transform-origin:bottom right; transition:.2s ease; }
.quick-contact.show .quick-contact-panel { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.quick-contact-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 17px; color:#fff; background:linear-gradient(135deg,#1d2128,#343a44); }
.quick-contact-head>div,.quick-contact-item>span { display:flex; min-width:0; flex-direction:column; }
.quick-contact-head strong { font-size:.93rem; }
.quick-contact-head small { margin-top:2px; color:#bec4cc; font-size:.68rem; }
.quick-contact-close { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; color:#fff; background:rgba(255,255,255,.1); border:0; border-radius:7px; }
.quick-contact-list { padding:8px; }
.quick-contact-item { display:flex; align-items:center; gap:12px; padding:10px; color:var(--ink); border-radius:8px; text-decoration:none; transition:background .18s,transform .18s; }
.quick-contact-item:hover { color:var(--ink); background:var(--soft); transform:translateX(2px); }
.quick-contact-item img { flex:0 0 43px; width:43px; height:43px; object-fit:contain; border-radius:10px; }
.quick-contact-item>span { flex:1; }
.quick-contact-item strong { font-size:.82rem; }
.quick-contact-item small { overflow:hidden; margin-top:2px; color:var(--muted); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.quick-contact-item>i { color:#9aa0a9; font-size:.8rem; }
body.post-complaint-open { overflow:hidden; }
.static-container { max-width:900px; }
.content-body { color:#3f454d; font-size:1rem; line-height:1.85; }
.content-body h2,.content-body h3 { margin:30px 0 12px; color:var(--ink); font-weight:800; }
.content-body img { display:block; max-width:100%; height:auto; margin:20px auto; border-radius:7px; }
.auth-section { display:flex; align-items:center; min-height:700px; padding:55px 0; background:linear-gradient(145deg,#f8f9fa,#fff4f1); }
.auth-card { max-width:470px; margin:auto; padding:38px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
.auth-heading { margin-bottom:28px; text-align:center; }
.auth-heading .brand-shield { margin-bottom:16px; }
.auth-heading h1 { font-size:1.6rem; font-weight:850; letter-spacing:-.035em; }
.auth-heading p { color:var(--muted); font-size:.86rem; }
.password-field { position:relative; }
.password-field .form-control { padding-right:48px; }
.password-toggle { position:absolute; top:50%; right:8px; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; color:#7e848d; background:transparent; border:0; transform:translateY(-50%); }
.site-footer { color:#b9bcc2; background:#17181b; }
.footer-brand { color:#fff; }
.footer-intro { max-width:430px; color:#e0e2e6; }
.footer-title { margin-bottom:15px; color:#fff; font-size:.86rem; font-weight:800; text-transform:uppercase; }
.site-footer .col-6>a { display:block; margin:9px 0; color:#b9bcc2; font-size:.83rem; text-decoration:none; }
.site-footer .col-6>a:hover { color:#fff; }
.footer-bottom { color:#777c84; border-top:1px solid #303238; font-size:.76rem; }
.admin-body { background:#f5f6f8; }
.admin-layout { min-height:100dvh; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:1045; display:flex; flex-direction:column; width:260px; color:#c9cbd0; background:#18191c; transition:transform .25s ease; }
.admin-brand { display:flex; align-items:center; gap:11px; min-height:79px; padding:0 22px; color:#fff; border-bottom:1px solid #303136; font-weight:850; text-decoration:none; }
.admin-brand>span:last-child { display:flex; flex-direction:column; }
.admin-brand small { color:#747880; font-size:.55rem; letter-spacing:.12em; }
.admin-nav { flex:1; padding:22px 13px; overflow-y:auto; }
.admin-nav>span { display:block; margin:18px 11px 8px; color:#676b74; font-size:.62rem; font-weight:800; letter-spacing:.13em; }
.admin-nav a,.admin-sidebar-footer a,.admin-sidebar-footer button { display:flex; align-items:center; gap:12px; width:100%; margin-bottom:4px; padding:11px 13px; color:#acb0b8; border:0; border-radius:6px; background:transparent; font-size:.84rem; font-weight:600; text-align:left; text-decoration:none; }
.admin-nav a i,.admin-sidebar-footer a i,.admin-sidebar-footer button i { width:19px; font-size:1rem; }
.admin-sidebar-footer form { margin:0; }
.admin-sidebar-footer button:hover { color:#fff; background:rgba(255,255,255,.06); }
.admin-nav a:hover,.admin-nav a.active { color:#fff; background:linear-gradient(90deg,rgba(239,63,36,.3),rgba(255,255,255,.04)); }
.admin-nav a.active { box-shadow:inset 3px 0 var(--primary); }
.admin-sidebar-footer { padding:14px 13px; border-top:1px solid #303136; }
.admin-main { min-height:100dvh; margin-left:260px; }
.admin-topbar { display:flex; align-items:center; gap:13px; height:79px; padding:0 30px; background:#fff; border-bottom:1px solid var(--line); }
.admin-topbar>div { display:flex; flex-direction:column; }
.admin-topbar small { color:var(--muted); font-size:.67rem; }
.admin-topbar strong { font-size:.84rem; }
.admin-status { margin-left:auto; color:#64706a; font-size:.75rem; }
.admin-status i { display:inline-block; width:7px; height:7px; margin-right:5px; background:#20b66a; border-radius:50%; box-shadow:0 0 0 4px #ddf8ea; }
.sidebar-toggle { display:none; padding:4px; background:transparent; border:0; font-size:1.45rem; }
.admin-content { max-width:1540px; margin:auto; padding:28px 30px 55px; }
.admin-page-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.admin-page-heading p { margin:0 0 5px; color:var(--primary); font-size:.63rem; font-weight:850; letter-spacing:.15em; }
.admin-page-heading h1 { margin:0; font-size:1.7rem; font-weight:850; letter-spacing:-.04em; }
.admin-stats .admin-stat { display:flex; align-items:center; gap:17px; height:100%; padding:22px; background:#fff; border:1px solid var(--line); border-radius:9px; }
.admin-stat>span { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:8px; font-size:1.25rem; }
.admin-stat.warning>span { color:#9e6500; background:#fff3d0; }
.admin-stat.success>span { color:#168155; background:#def7eb; }
.admin-stat.danger>span { color:#b23220; background:#ffebe7; }
.admin-stat.info>span { color:#276da5; background:#e6f3ff; }
.admin-stat>div { display:flex; flex-direction:column; }
.admin-stat small { color:var(--muted); font-size:.72rem; }
.admin-stat strong { font-size:1.65rem; font-weight:850; }
.admin-card { padding:22px; background:#fff; border:1px solid var(--line); border-radius:9px; box-shadow:0 5px 16px rgba(25,30,37,.025); }
.admin-card-title { display:flex; align-items:start; justify-content:space-between; gap:15px; margin-bottom:17px; }
.admin-card-title h2 { margin:0 0 4px; font-size:1rem; font-weight:800; }
.admin-card-title p { margin:0; color:var(--muted); font-size:.74rem; }
.admin-card-title>a { color:var(--primary); font-size:.76rem; font-weight:700; text-decoration:none; }
.admin-table { margin:0; font-size:.79rem; vertical-align:middle; }
.admin-table thead th { padding:12px; color:#8a9099; background:#f8f9fa; border:0; font-size:.63rem; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.admin-table tbody td { padding:13px 12px; border-color:#eef0f2; }
.admin-table tbody td strong,.admin-table tbody td small { display:block; }
.admin-table tbody td small { margin-top:3px; color:#9298a0; font-size:.68rem; }
.empty-row { padding:35px!important; color:var(--muted); text-align:center; }
.status-pill { display:inline-flex; align-items:center; padding:5px 8px; border:1px solid; border-radius:5px; font-size:.66rem; font-weight:750; white-space:nowrap; }
.status-pill.warning { color:#8b5b00; background:#fff7df; border-color:#f2dfa7; }
.status-pill.success { color:#147148; background:#eaf9f2; border-color:#bee9d4; }
.status-pill.danger { color:#9c2f20; background:#fff0ed; border-color:#f5c6bd; }
.status-pill.secondary { color:#5e6269; background:#f0f1f3; border-color:#dbdde1; }
.status-pill.info { color:#236489; background:#eaf6fd; border-color:#c1e1f3; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:31px; height:31px; color:#555b64; background:#f5f6f7; border-radius:6px; }
.activity-list a { display:flex; align-items:center; gap:11px; padding:13px 0; color:inherit; border-bottom:1px solid var(--line); text-decoration:none; }
.activity-list a:last-child { border-bottom:0; }
.activity-list a>span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; height:36px; color:var(--primary); background:#fff0ed; border-radius:7px; }
.activity-list a>div { display:flex; flex:1; flex-direction:column; min-width:0; }
.activity-list strong { overflow:hidden; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.activity-list small { color:var(--muted); font-size:.66rem; }
.admin-filter { display:flex; justify-content:flex-end; gap:10px; }
.admin-filter .filter-search { position:relative; flex:1; max-width:480px; }
.filter-search i { position:absolute; top:50%; left:14px; color:#9ca1a9; transform:translateY(-50%); }
.filter-search input { padding-left:39px; }
.admin-filter>.form-select { max-width:220px; }
.bulk-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:-5px 0 15px; padding-bottom:13px; border-bottom:1px solid var(--line); font-size:.75rem; font-weight:600; }
.bulk-bar .form-select { min-height:34px; }
.admin-pagination { display:flex; justify-content:center; gap:5px; padding-top:18px; }
.admin-pagination a { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; color:#555; background:#f5f6f7; border-radius:5px; font-size:.75rem; text-decoration:none; }
.admin-pagination a.active { color:#fff; background:var(--primary); }
.sticky-panel { position:sticky; top:25px; }
.admin-info-grid { grid-template-columns:repeat(4,1fr); }
.admin-evidence-grid .evidence-item { overflow:hidden; color:var(--ink); font-size:.7rem; }
.admin-evidence-preview { position:relative; }
.admin-evidence-delete { position:absolute; top:8px; right:8px; z-index:2; display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:5px 9px; color:#fff; background:#b42318; border:1px solid rgba(255,255,255,.75); border-radius:5px; box-shadow:0 3px 10px rgba(0,0,0,.22); font-size:.68rem; font-weight:800; line-height:1; }
.admin-evidence-delete:hover,.admin-evidence-delete:focus-visible { color:#fff; background:#8f1c13; }
.admin-evidence-grid .evidence-item>span { display:block; margin-top:7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.page-editor { max-width:1100px; }
.editor-textarea { min-height:430px; line-height:1.7; }
.page-editor .tox-tinymce { border-color:var(--line); border-radius:7px; }
.page-editor .tox:not(.tox-tinymce-inline) .tox-editor-header { box-shadow:0 1px 0 var(--line); }
.setting-switch { padding:16px 16px 16px 48px; background:#f7f8f9; border:1px solid var(--line); border-radius:7px; }
.setting-image-preview { display:flex; align-items:center; justify-content:center; width:100%; min-height:110px; margin-bottom:10px; padding:12px; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#f7f8f9; }
.setting-image-preview img { display:block; max-width:100%; max-height:130px; object-fit:contain; }
.save-bar { position:sticky; bottom:15px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:25px; padding:15px 18px; color:#d9dadd; background:rgba(24,25,28,.96); border-radius:9px; box-shadow:0 15px 35px rgba(0,0,0,.2); font-size:.78rem; }
@media(max-width:1199.98px){.category-grid{grid-template-columns:repeat(3,1fr)}.accused-grid{grid-template-columns:repeat(3,1fr)}.result-card{grid-template-columns:1fr auto}.result-meta{grid-column:1/-1;grid-row:2}.sticky-panel{position:static}}
@media(max-width:991.98px){.site-header .navbar{min-height:70px}.site-header .navbar-collapse{padding:0}.site-header .navbar-collapse.collapsing{overflow:hidden;transition:height .24s cubic-bezier(.4,0,.2,1);will-change:height}.site-header .navbar-nav{padding:13px 0 18px}.hero-section{min-height:590px}.category-grid,.accused-grid{grid-template-columns:repeat(2,1fr)}.group-overview{grid-template-columns:1fr}.cta-card{align-items:flex-start;flex-direction:column;padding:35px}.admin-sidebar{transform:translateX(-100%)}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0}.sidebar-toggle{display:block}.sidebar-overlay{position:fixed;inset:0;z-index:1040;display:none;background:rgba(0,0,0,.45)}.sidebar-overlay.show{display:block}.report-preview-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.hero-section{min-height:620px}.search-box{align-items:stretch;flex-wrap:wrap;padding:7px}.search-box input{width:calc(100% - 48px)}.search-box .btn{width:100%}.hero-actions{align-items:stretch;flex-direction:column;gap:13px}.stats-strip{margin-top:0}.stats-strip .container{border-radius:0}.stat-item{padding:20px 7px}.stat-item strong{font-size:1.15rem}.stat-item span{font-size:.62rem;text-align:center}.section-space{padding:58px 0}.category-grid,.accused-grid,.rank-panels{grid-template-columns:1fr}.cta-card{padding:29px 24px}.result-card,.group-report-card{display:flex;align-items:stretch;flex-direction:column;gap:14px}.result-meta{grid-template-columns:1fr 1fr}.group-report-card>.btn,.group-report-actions{width:100%}.group-report-preview-list{grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.info-grid,.admin-info-grid{grid-template-columns:1fr}.evidence-grid,.admin-evidence-grid{grid-template-columns:repeat(2,1fr)}.admin-content{padding:22px 14px 45px}.admin-topbar{padding:0 14px}.admin-status{display:none}.admin-page-heading{align-items:flex-start;flex-direction:column}.admin-filter,.bulk-bar{align-items:stretch;flex-direction:column}.admin-filter .filter-search,.admin-filter>.form-select{width:100%;max-width:none}.bulk-bar>div{width:100%}.bulk-bar .form-select{flex:1}.save-bar{align-items:stretch;flex-direction:column}.save-bar .btn{width:100%}.report-preview-modal,.post-complaint-modal{padding:10px}.report-preview-dialog,.post-complaint-dialog{max-height:calc(100dvh - 20px)}.report-preview-modal-body{padding:17px}.group-hero{padding:24px 0 30px}.group-detail-section{padding:20px 0 42px}}
@media(max-width:767.98px){.image-lightbox{padding:60px 14px 74px}.image-lightbox-close{top:12px;right:12px}.image-lightbox-nav{top:auto;bottom:14px}.image-lightbox-prev{left:calc(50% - 56px)}.image-lightbox-next{right:calc(50% - 56px)}.image-lightbox-dialog img{max-height:calc(100dvh - 165px)}}
@media(max-width:479.98px){.brand-mark small{display:none}.hero-section h1{font-size:2.45rem}.compact-hero{padding:54px 0 70px}.form-card,.detail-card,.static-card,.auth-card{padding:21px}.result-meta,.group-hero-stats,.report-preview-info{grid-template-columns:1fr}.group-hero-stats>div+div{border-top:1px solid rgba(255,255,255,.15);border-left:0}.evidence-grid,.admin-evidence-grid{grid-template-columns:1fr}}
@media(max-width:479.98px){.quick-contact{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.quick-contact-toggle{width:52px;padding:0;justify-content:center;border-radius:50%}.quick-contact-toggle span{display:none}}
@media(max-width:767.98px){.search-box{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0;background:transparent;border:0;box-shadow:none}.search-input-wrap{width:100%;min-height:58px;padding:0 6px;background:#fff;border:1px solid rgba(255,255,255,.5);border-radius:9px;box-shadow:0 14px 35px rgba(0,0,0,.2)}.search-box input{width:100%;height:56px}.search-box .btn{width:100%;min-height:52px}}

/* Giao diện công khai đồng bộ phong cách checkscam.vn */
.classic-checkscam-theme { color:#0b0b0b; background:#fff; font-family:var(--app-font-family); font-size:16px; font-weight:500; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.public-page { color:#111; font-family:var(--app-font-family); font-weight:500; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.classic-checkscam-theme main { border-top:1px solid #d8d8d8; }
.classic-checkscam-theme .flash-wrap { top:12px; left:50%; right:auto; width:min(560px,calc(100% - 24px)); transform:translateX(-50%); }
.classic-checkscam-theme .alert { padding:12px 16px; background:#fff4f2; border:1px solid #f3b6ad; color:#8b1d13; box-shadow:0 4px 14px rgba(0,0,0,.08); }
.classic-site-header { position:sticky; top:0; z-index:1030; background:rgba(255,255,255,.97); border-bottom:1px solid #ddd; box-shadow:0 2px 10px rgba(0,0,0,.04); backdrop-filter:blur(10px); }
.classic-nav-shell { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(950px,calc(100% - 32px)); min-height:66px; margin:0 auto; }
.classic-nav-brand { display:inline-flex; align-items:center; gap:9px; color:#f12f25; font-family:var(--app-font-family); font-size:1.04rem; font-weight:800; letter-spacing:.02em; text-decoration:none; }
.classic-nav-brand svg { width:28px; height:28px; fill:currentColor; }
.classic-main-nav { display:flex; align-items:center; gap:3px; }
.classic-main-nav a { padding:10px 12px; color:#111; border-radius:4px; font-family:var(--app-font-family); font-size:.86rem; font-weight:700; line-height:1; text-decoration:none; }
.classic-main-nav a>i { display:none; }
.classic-main-nav a:hover { color:#f12f25; background:#fff2f0; }
.classic-main-nav a.active { color:#fff; background:#f12f25; box-shadow:0 3px 10px rgba(241,47,37,.2); }
.classic-home { min-height:calc(100dvh - 148px); padding:28px 0 60px; background:#fff; }
.classic-shell { width:min(950px,calc(100% - 32px)); max-width:none; margin:0 auto; padding:0; }
.classic-masthead { text-align:center; }
.classic-lock { display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; color:#f22d21; line-height:1; }
.classic-lock-icon { display:block; width:54px; height:54px; fill:currentColor; }
.classic-masthead h1 { margin:35px 0 15px; color:#f22d21; font-family:var(--app-font-family); font-size:1.9rem; font-weight:800; letter-spacing:-.015em; line-height:1.3; text-transform:uppercase; }
.classic-masthead h1 span { display:block; font-size:.85em; }
.classic-masthead p,.classic-masthead small { display:block; margin:0; color:#050505; font-size:1rem; line-height:1.5; }
.classic-masthead p { font-weight:700; }
.classic-masthead small { font-weight:600; }
.classic-masthead p strong { color:#ef2f25; font-weight:800; }
.classic-search { display:flex; align-items:center; width:min(710px,100%); height:54px; margin:20px auto 0; overflow:hidden; background:#fff; border:1px solid #c9c9c9; border-radius:10px; box-shadow:0 2px 7px rgba(0,0,0,.15); }
.classic-search input { flex:1; min-width:0; height:100%; padding:0 20px; color:#111; background:transparent; border:0; outline:0; font:500 1rem/1.4 var(--app-font-family); }
.classic-search input::placeholder { color:#3f444a; font-weight:500; opacity:1; }
.classic-search button { display:inline-flex; align-items:center; justify-content:center; width:58px; height:100%; padding:0; color:#111; background:#fff; border:0; }
.classic-search button:hover { color:#ef2f25; }
.classic-icon { display:inline-block; flex:0 0 auto; width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.12em; }
.classic-search .classic-icon { width:20px; height:20px; stroke-width:2; }
.classic-list-section { margin-top:34px; text-align:center; }
.classic-list-section h2 { margin:0 0 25px; color:#244ae6; font-size:1.08rem; font-weight:700; line-height:1.4; text-transform:uppercase; }
.classic-list { width:100%; border:1px solid #c9c9c9; text-align:left; }
.classic-row { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:70px; padding:12px 20px; color:#050505; border-bottom:1px solid #c9c9c9; font-size:.9rem; text-decoration:none; transition:background .15s ease; }
.classic-row:last-child { border-bottom:0; }
.classic-row:hover { color:#101010; background:#fafafa; }
.classic-row-name { min-width:0; overflow:hidden; font-weight:700; text-overflow:ellipsis; white-space:nowrap; text-transform:capitalize; }
.classic-row-name>.classic-icon { width:15px; height:15px; margin-right:14px; color:#193be2; stroke-width:1.9; }
.classic-row-meta { display:flex; flex:0 0 auto; align-items:center; gap:10px; white-space:nowrap; }
.classic-row-meta small,.classic-row-meta strong { display:inline-flex; align-items:center; color:#080808; font-size:.78rem; font-weight:600; }
.classic-row-meta .classic-icon { width:13px; height:13px; margin-right:4px; color:#1689f5; }
.classic-row-meta strong .classic-icon { color:#ed9f00; }
.classic-row-meta strong { color:#e41f1f; }
.classic-empty { margin:0; padding:28px; color:#777; font-size:.78rem; text-align:center; }
.classic-more { display:inline-block; margin-top:20px; padding:8px 13px; color:#f12f25; border:1px solid #f12f25; font-size:.76rem; font-weight:700; line-height:1; text-decoration:none; }
.classic-more:hover { color:#fff; background:#f12f25; }
.classic-list-section-last { margin-bottom:0; }
.classic-simple-footer { color:#b9bcc2; background:#17181b; border-top:1px solid #303238; font-size:.82rem; }
.classic-footer-inner { display:flex; align-items:center; gap:18px; width:min(950px,calc(100% - 32px)); min-height:82px; margin:0 auto; }
.classic-footer-inner strong { color:#fff; }
.classic-footer-inner span { flex:1; }
.classic-footer-inner nav { display:flex; gap:14px; }
.classic-footer-inner a { color:#d6d8dc; text-decoration:none; }
.classic-footer-inner a:hover { color:#fff; text-decoration:underline; }

body:not(.home-page) .site-header { background:rgba(255,255,255,.97); border-top:0; border-bottom:1px solid #ddd; box-shadow:0 2px 10px rgba(0,0,0,.04); backdrop-filter:blur(10px); }
body:not(.home-page) .site-header .navbar { min-height:66px; }
body:not(.home-page) .site-header .container { max-width:950px; }
body:not(.home-page) .brand-shield { background:#f12f25; border-radius:3px; box-shadow:none; }
body:not(.home-page) .brand-mark { color:#f12f25; font-family:var(--app-font-family); font-size:1.04rem; letter-spacing:.02em; }
body:not(.home-page) .site-header .nav-link { color:#363b43; border-radius:4px; font-family:var(--app-font-family); font-size:.86rem; font-weight:600; }
body:not(.home-page) .site-header .nav-link:hover,body:not(.home-page) .site-header .nav-link.active { color:#f12f25; background:#fff2f0; }
body:not(.home-page) .page-hero { color:#fff; background:#1739d4; }
body:not(.home-page) .compact-hero { padding:52px 0 62px; }
body:not(.home-page) .compact-hero h1 { font-family:var(--app-font-family); font-size:clamp(2rem,5vw,3.2rem); }
body:not(.home-page) .form-card,body:not(.home-page) .detail-card,body:not(.home-page) .static-card { border-color:#ccc; border-radius:3px; box-shadow:none; }
body:not(.home-page) .form-control,body:not(.home-page) .form-select,body:not(.home-page) .input-group-text { border-radius:3px; }
body:not(.home-page) .form-section-title>span { background:#f12f25; border-radius:3px; }

@media (max-width:767.98px) {
    body:not(.admin-body) { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
    .classic-site-header { backdrop-filter:none; }
    .classic-nav-shell { justify-content:center; width:calc(100% - 20px); min-height:58px; }
    .classic-nav-brand { font-size:.98rem; }
    .classic-nav-brand svg { width:26px; height:26px; }
    .classic-main-nav { position:fixed; right:0; bottom:0; left:0; z-index:1600; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; width:100%; min-height:66px; padding:6px 4px calc(5px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.98); border-top:1px solid #dedede; box-shadow:0 -6px 22px rgba(23,26,32,.12); backdrop-filter:blur(14px); }
    .classic-main-nav.without-complaint { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .classic-main-nav a { display:flex; align-items:center; justify-content:flex-end; min-width:0; min-height:54px; padding:4px 2px 2px; color:#111; border-radius:0; flex-direction:column; gap:4px; font-size:.63rem; font-weight:700; line-height:1.1; text-align:center; white-space:nowrap; }
    .classic-main-nav a>i { display:block; font-size:1.18rem; line-height:1; }
    .classic-main-nav a:hover,.classic-main-nav a.active { color:#f12f25; background:transparent; box-shadow:none; }
    .classic-main-nav .mobile-primary-nav { justify-content:flex-end; }
    .classic-main-nav .mobile-primary-nav>i { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-top:-26px; color:#fff; background:#f12f25; border:4px solid #fff; border-radius:50%; box-shadow:0 5px 16px rgba(241,47,37,.32); font-size:1.35rem; }
    .classic-main-nav .mobile-primary-nav.active>i { background:#d9241a; box-shadow:0 5px 18px rgba(217,36,26,.42); }
    .quick-contact { right:12px; bottom:calc(82px + env(safe-area-inset-bottom)); }
    .group-hero { padding:16px 0 20px; }
    .group-hero>.container,.group-detail-section>.container { width:calc(100% - 20px); }
    .group-hero .back-link { margin-bottom:12px; }
    .group-hero .row { --bs-gutter-y:.75rem; }
    .group-hero h1 { margin:7px 0 3px; font-size:2rem; }
    .group-hero p { font-size:.78rem; }
    .group-hero-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .group-hero-stats>div { padding:10px 12px; }
    .group-hero-stats>div+div { border-top:0; border-left:1px solid rgba(255,255,255,.15); }
    .group-hero-stats strong { font-size:.92rem; }
    .group-detail-section { padding:15px 0 28px; }
    .group-overview { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:12px; }
    .group-overview h2 { margin:3px 0; font-size:1.3rem; }
    .group-privacy-note { padding:6px 9px; font-size:.68rem; }
    .privacy-box { gap:9px; padding:11px 12px; font-size:.74rem; }
    .group-report-card { gap:9px; padding:13px 12px; }
    .group-report-topline { gap:5px 8px; }
    .group-report-content h3 { margin-top:6px; }
    .group-report-content>p { margin-bottom:7px; }
    .group-report-meta { gap:5px 16px; }
    .group-report-actions { flex-direction:row; gap:7px; }
    .group-report-actions .btn { flex:1; padding:.45rem .6rem; font-size:.75rem; }
    .classic-home { padding-top:22px; }
    .classic-shell { width:calc(100% - 20px); }
    .classic-lock { width:46px; height:46px; }
    .classic-lock-icon { width:46px; height:46px; }
    .classic-masthead h1 { margin-top:22px; font-size:1.55rem; line-height:1.25; }
    .classic-masthead p,.classic-masthead small { font-size:.82rem; }
    .classic-search { height:50px; margin-top:16px; border-radius:7px; }
    .classic-search input { padding-left:14px; font-size:.86rem; }
    .classic-list-section { margin-top:24px; }
    .classic-list-section h2 { margin-bottom:15px; font-size:.9rem; }
    .classic-row { align-items:flex-start; min-height:62px; padding:10px 11px; gap:7px; }
    .classic-row-name { max-width:48%; font-size:.78rem; }
    .classic-row-name>.classic-icon { margin-right:7px; }
    .classic-row-meta { flex-wrap:wrap; justify-content:flex-end; max-width:52%; gap:3px 7px; text-align:right; white-space:normal; }
    .classic-row-meta small,.classic-row-meta strong { font-size:.68rem; }
    .classic-footer-inner { align-items:flex-start; flex-direction:column; gap:7px; width:calc(100% - 24px); padding:18px 0; }
    .classic-footer-inner nav { flex-wrap:wrap; }
}

@media (max-width:419.98px) {
    .classic-main-nav a { font-size:.59rem; }
    .classic-row { display:block; }
    .classic-row-name { display:block; max-width:100%; }
    .classic-row-meta { max-width:100%; margin-top:8px; justify-content:flex-start; text-align:left; }
}
