:root{--bg:#f5f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--yellow:#f6bd00;--red:#b91c1c;--blue:#1d4ed8;--green:#047857;--shadow:0 10px 25px rgba(15,23,42,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff}button,.primary{cursor:pointer;background:var(--yellow);border-color:#eab308;font-weight:800;color:#1f2937}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:#111827;color:#fff;padding:22px 16px;display:flex;flex-direction:column}.sidebar h1{font-size:1.25rem;margin:0 0 20px}.sidebar nav{display:grid;gap:6px}.sidebar a{color:#d1d5db;padding:10px 12px;border-radius:8px}.sidebar a.active,.sidebar a:hover{background:#374151;color:#fff}.sidebar footer{margin-top:auto;display:grid;gap:8px;color:#d1d5db}.content{margin-left:260px;padding:28px}.alert{padding:13px 16px;border-radius:9px;margin-bottom:16px;font-weight:700}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:16px 0 28px}.kpi,.panel,.login-card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px}.kpi strong{display:block;font-size:2rem}.kpi span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.84rem;color:#4b5563;background:#f9fafb}.badge{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 8px;font-size:.82rem;font-weight:800}.inline-search,.inline-form{display:flex;gap:10px;margin:0 0 16px}.inline-search input,.inline-form input{min-width:280px}.person-admin{display:grid;grid-template-columns:280px 1fr 330px;gap:18px;align-items:start}.admin-photo{width:100%;border-radius:12px;border:1px solid var(--line);background:#fff}.empty-photo{height:260px;background:#e5e7eb;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#6b7280}.data{display:grid;grid-template-columns:150px 1fr;margin:0}.data dt,.data dd{border-bottom:1px solid var(--line);padding:10px;margin:0}.data dt{color:var(--muted)}.stack{display:grid;gap:12px}.stack label,.settings-form label{display:grid;gap:6px;font-weight:700}.mini-form{display:grid;grid-template-columns:1fr auto;gap:6px}.settings-form{display:grid;gap:16px;max-width:980px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center;gap:8px}.muted{color:var(--muted)}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#111827,#374151)}.login-card{width:min(420px,100%)}.login-card h1{margin-top:0}.captcha-warning{background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:8px;padding:10px}@media(max-width:1100px){.sidebar{position:static;width:auto}.content{margin-left:0}.kpis{grid-template-columns:repeat(2,1fr)}.person-admin{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}@media(max-width:700px){.content{padding:16px}.kpis{grid-template-columns:1fr}.inline-search,.inline-form{flex-direction:column}.inline-search input,.inline-form input{min-width:0;width:100%}th,td{white-space:nowrap}}
.sidebar-logo{background:#fff;border-radius:12px;padding:10px;margin:0 0 18px;text-align:center}.sidebar-logo img{max-width:100%;max-height:74px;object-fit:contain}.login-card{display:grid;gap:12px}.login-card label{display:grid;gap:6px;font-weight:700}.login-card button{width:100%;padding:12px;border-radius:10px}.full{grid-column:1/-1}.settings-preview-wrap{min-height:100px}.settings-form .grid2{align-items:end}


/* CTB_PHASE5_TO_10_ADMIN_START */
.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.analytics-grid .panel{overflow:auto}.admin-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:12px;color:#1e3a8a}.mini-grid{align-items:end}.actions-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.badge-soft{display:inline-flex;border-radius:999px;background:#eef2ff;color:#1e3a8a;padding:4px 10px;font-size:.85rem}@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}}
/* CTB_PHASE5_TO_10_ADMIN_END */

/* CTB_ADMIN_SIDEBAR_UI_FIX_START */
body{min-height:100vh;overflow-x:hidden}
.sidebar{
    width:260px;
    height:100vh;
    overflow:hidden;
    transition:width .22s ease, padding .22s ease, transform .22s ease;
    z-index:1000;
}
.sidebar nav{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:4px;
    scrollbar-width:thin;
    scrollbar-color:#6b7280 transparent;
}
.sidebar nav::-webkit-scrollbar{width:8px}
.sidebar nav::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.sidebar nav::-webkit-scrollbar-thumb{background:rgba(156,163,175,.75);border-radius:999px}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:rgba(209,213,219,.95)}
.sidebar a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    white-space:nowrap;
    overflow:hidden;
}
.sidebar .menu-icon{
    width:24px;
    min-width:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.05rem;
}
.sidebar .menu-text{
    overflow:hidden;
    text-overflow:ellipsis;
}
.sidebar footer{flex-shrink:0;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.sidebar-logo{flex-shrink:0}
.sidebar h1{flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.content{transition:margin-left .22s ease}
.sidebar-toggle{
    position:fixed;
    left:274px;
    top:18px;
    width:42px;
    height:42px;
    padding:0;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    z-index:1100;
    background:#111827;
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 10px 25px rgba(15,23,42,.18);
    font-size:1.35rem;
    line-height:1;
}
.sidebar-toggle:hover{background:#1f2937;color:#fff}
.admin-overlay{display:none}
body.sidebar-collapsed .sidebar{width:88px;padding:18px 10px}
body.sidebar-collapsed .content{margin-left:88px}
body.sidebar-collapsed .sidebar-toggle{left:102px}
body.sidebar-collapsed .sidebar .menu-text,
body.sidebar-collapsed .sidebar footer,
body.sidebar-collapsed .sidebar h1{display:none}
body.sidebar-collapsed .sidebar a{justify-content:center;padding:10px 8px}
body.sidebar-collapsed .sidebar .menu-icon{width:100%;min-width:0;font-size:1.15rem}
body.sidebar-collapsed .sidebar-logo{padding:6px;margin-bottom:12px;border-radius:10px}
body.sidebar-collapsed .sidebar-logo img{max-height:38px}
@media(max-width:1100px){
    .sidebar{position:fixed;left:0;top:0;bottom:0;width:260px}
    .content{margin-left:260px}
}
@media(max-width:900px){
    .sidebar{transform:translateX(-105%);box-shadow:16px 0 40px rgba(15,23,42,.25)}
    .content{margin-left:0;padding-top:74px}
    .sidebar-toggle{left:16px;top:16px}
    .admin-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:900;backdrop-filter:blur(2px)}
    body.sidebar-mobile-open .sidebar{transform:translateX(0)}
    body.sidebar-mobile-open .admin-overlay{display:block}
    body.sidebar-collapsed .sidebar{width:260px;padding:22px 16px}
    body.sidebar-collapsed .content{margin-left:0}
    body.sidebar-collapsed .sidebar-toggle{left:16px}
    body.sidebar-collapsed .sidebar .menu-text,
    body.sidebar-collapsed .sidebar h1{display:inline}
    body.sidebar-collapsed .sidebar footer{display:grid}
    body.sidebar-collapsed .sidebar a{justify-content:flex-start;padding:10px 12px}
    body.sidebar-collapsed .sidebar .menu-icon{width:24px;min-width:24px;font-size:1.05rem}
    body.sidebar-collapsed .sidebar-logo{padding:10px;margin-bottom:18px}
    body.sidebar-collapsed .sidebar-logo img{max-height:74px}
}
/* CTB_ADMIN_SIDEBAR_UI_FIX_END */

/* CTB_PHASE17_OPERATIONS_START */
.ops-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0 24px}
.ops-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px}
.ops-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ops-card p{margin:.35rem 0 0;color:var(--muted)}
.ops-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:900;white-space:nowrap}
.ops-badge.ok{background:#dcfce7;color:#166534}
.ops-badge.bad{background:#fee2e2;color:#991b1b}
.code-box{white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:360px}
/* CTB_PHASE17_OPERATIONS_END */


/* CTB_PHASE25_FOOTER_STATUS_FIX_START */
.help-map-status-guide{margin:14px 0 16px}.help-map-status-guide h3{margin-top:0;color:#0b2f6b}.status-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.status-help-grid div{background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;padding:12px}.status-help-grid strong{display:block;color:#0b2f6b;margin-bottom:4px}.status-help-grid span{display:block;color:#64748b;font-size:.92rem;line-height:1.35}
/* CTB_PHASE25_FOOTER_STATUS_FIX_END */


/* CTB_PHASE26_HELP_MAP_FALSE_REPORTS_START */
.false-report-admin-panel{margin:16px 0}.false-review-row td{vertical-align:top}.false-review-form{display:grid;grid-template-columns:1fr;gap:8px;min-width:230px}.false-review-form textarea{width:100%;border:1px solid #dbe3ef;border-radius:10px;padding:8px;font:inherit}.false-review-form label{font-size:.86rem;color:#475467}.false-review-form select{width:100%}.false-report-admin-panel .empty{border:1px dashed #dbe3ef;border-radius:12px;padding:14px;color:#64748b;background:#fff}
/* CTB_PHASE26_HELP_MAP_FALSE_REPORTS_END */

/* CTB_PHASE27_HELP_MAP_AUDIT_START */
.help-map-history-panel{margin:16px 0}.help-map-history-panel td{vertical-align:top}.mini-form textarea[name="admin_note"]{width:100%;min-height:58px;border:1px solid #dbe3ef;border-radius:10px;padding:8px;font:inherit;resize:vertical;margin-top:8px}.mini-form .admin-note-label{display:block;margin-top:8px;font-size:.84rem;color:#475467}.help-map-history-panel .empty{border:1px dashed #dbe3ef;border-radius:12px;padding:14px;color:#64748b;background:#fff}
/* CTB_PHASE27_HELP_MAP_AUDIT_END */

