
.admin-body { --admin-border: #292c31; background: #101114; min-height: 100vh; }
.admin-sidebar { width: 280px; position: fixed; inset: 0 auto 0 0; padding: 30px 22px 22px; background: #15171b; border-right: 1px solid var(--admin-border); display: flex; flex-direction: column; overflow-y: auto; }
.admin-brand { display: flex; align-items: center; gap: 12px; font-size: 19px; font-weight: 700; }
.admin-brand img { width: 32px; height: 40px; object-fit: contain; }
.admin-brand small { display: block; margin-top: 6px; font-size: 9px; letter-spacing: .14em; color: var(--muted); font-weight: 500; }
.admin-profile { display: flex; flex-direction: column; align-items: flex-start; margin: 32px 0; padding: 24px 0; border-block: 1px solid var(--admin-border); gap: 8px; }
.admin-avatar { position: relative; width: 56px; height: 56px; margin-bottom: 8px; border-radius: 50%; background: #37301b; color: var(--yellow); display: grid; place-items: center; font-size: 24px; font-weight: 700; overflow: hidden; }
.admin-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.admin-avatar img[hidden] { display: none; }
.admin-profile strong { font-size: 16px; overflow-wrap: anywhere; }
.profile-email { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; max-width: 100%; }
.profile-role { font-size: 10px; color: var(--yellow); border: 1px solid #514622; background: #252116; border-radius: 5px; padding: 4px 7px; margin-top: 4px; }
.admin-navigation p { font-size: 10px; letter-spacing: .14em; color: #80848d; margin: 0 12px 14px; }
.admin-navigation .navigation-secondary { margin-top:26px; }.navigation-symbol { font-size:19px;line-height:1;width:19px;text-align:center;flex-shrink:0; }
.admin-navigation a { display: flex; align-items: center; gap: 10px; padding: 14px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; }
.admin-navigation .is-active { background: #2a2518; color: var(--yellow); border: 1px solid #4a4021; }
.admin-sidebar svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; flex-shrink: 0; }
.sidebar-bottom { margin-top: auto; padding-top: 36px; }
.sidebar-bottom > a { display: block; color: #9ea2ab; font-size: 12px; padding: 12px; }
.sidebar-bottom form { border-top: 1px solid var(--admin-border); padding-top: 14px; margin-top: 12px; }
.sidebar-bottom button { width: 100%; display: flex; align-items: center; gap: 12px; border: 0; border-radius: 8px; padding: 12px; background: transparent; color: #d9dcdf; cursor: pointer; text-align: left; font-size: 13px; }
.sidebar-bottom button:hover { background: #26292f; }
.admin-shell { margin-left: 280px; padding: 44px clamp(24px, 4vw, 64px); max-width: 1800px; }
.admin-header { margin-bottom: 32px; }
.admin-eyebrow { font-size: 10px; letter-spacing: .16em; color: #868b94; margin: 0 0 14px; }
.admin-header h1 { font-size: clamp(26px, 3vw, 36px); letter-spacing: -.03em; margin: 0 0 12px; }
.admin-description { color: var(--muted); font-size: 14px; line-height: 1.6; }
.admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 32px 0 38px; }
.admin-stats article { border: 1px solid var(--admin-border); background: #181a1f; border-radius: 12px; padding: 22px 24px; }
.admin-stats span { font-size: 12px; color: #a4a8b0; }
.admin-stats strong { display: block; font-size: 32px; margin-top: 12px; font-weight: 600; }
.admin-stats .stat-pending strong { color: var(--yellow); }
.list-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.list-heading h2 { font-size: 18px; margin: 0 0 8px; }
.list-heading p, .list-heading > span { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.5; }
.list-heading > span { border: 1px solid var(--admin-border); border-radius: 6px; padding: 9px 12px; white-space: nowrap; }
.table-scroll { overflow-x: auto; border: 1px solid var(--admin-border); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; background: #181a1f; font-size: 13px; }
th, td { text-align: left; padding: 16px 20px; border-bottom: 1px solid var(--admin-border); }
th { color: #9da2ac; background: #1d2026; font-size: 11px; font-weight: 600; white-space: nowrap; }
td a { display: block; min-width: 100px; padding: 8px 0; color: #d8dbe1; line-height: 1.5; overflow-wrap: anywhere; }
td:first-child a { color: #fff; font-weight: 600; }
tbody tr:hover { background: #21242b; } tbody tr:last-child td { border-bottom: 0; }
.done-form { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.done-form label { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #bec2c9; }
.done-form button { cursor: pointer; border: 1px solid #41454e; color: #dfe2e7; background: #25282f; border-radius: 6px; padding: 7px 10px; font-size: 11px; }
.done-form button:hover { border-color: var(--yellow); color: var(--yellow); }
.done-form input { accent-color: var(--yellow); width: 16px; height: 16px; }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 24px; flex-wrap: wrap; margin-top: 22px; font-size: 12px; color: var(--muted); }
.pagination a, .admin-shell > a { color: var(--yellow); }
.response-details { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; padding: 28px; margin: 26px 0; background: #181a1f; border: 1px solid var(--admin-border); border-radius: 12px; font-size: 14px; }
dt { color: var(--muted); } dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.notice { border: 1px solid #514622; border-left: 3px solid var(--yellow); padding: 16px; background: #252116; border-radius: 8px; font-size: 13px; }
.empty-state { padding: 54px 24px; text-align: center; background: #181a1f; border: 1px dashed #363a43; border-radius: 12px; }
.empty-state > span { color: var(--yellow); font-size: 30px; } .empty-state h3 { font-size: 17px; margin: 20px 0 10px; } .empty-state p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.admin-login { display: grid; place-items: center; padding: 24px; }
.admin-login .admin-shell { margin: 0; max-width: 480px; padding: 40px; border: 1px solid var(--admin-border); border-radius: 16px; background: #181a1f; }
.login-brand { display: block; margin-bottom: 32px; } .login-brand img { width: 38px; height: 46px; object-fit: contain; }
.admin-login .admin-shell > p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.admin-login .button-primary { display: flex; justify-content: center; margin-top: 24px; }
.admin-navigation a { color: #d8dbe1; text-decoration: none; }
.content-toolbar { display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;border:1px solid var(--admin-border);border-radius:12px;background:#181a1f; }
.content-toolbar > div:first-child { display:grid;gap:6px }.content-toolbar strong { color:var(--yellow);font-size:14px }.content-toolbar span,.content-help,.map-editor p,.history-panel p { color:var(--muted);font-size:12px;line-height:1.6 }
.toolbar-actions,.editor-actions { display:flex;gap:10px;flex-wrap:wrap }.content-toolbar .button,.editor-actions .button,.history-row .button,.content-editor .button { min-height:42px;padding:0 17px;font-size:12px;gap:8px }
.content-workspace { display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;align-items:start;margin-top:20px }
.content-menu,.content-editor,.history-panel { border:1px solid var(--admin-border);border-radius:12px;background:#181a1f;padding:20px }
.content-menu { display:grid;gap:12px;position:sticky;top:16px }.content-menu label,.content-field { color:#c9cbd0;font-size:12px;font-weight:600 }
.content-menu select,.content-menu input,.content-field input,.content-field textarea,.content-field select,.advanced-content textarea,.map-editor select { width:100%;padding:12px;border:1px solid #41454e;border-radius:7px;background:#101216;color:#f4f4f2 }
.content-list { display:grid;gap:5px;max-height:420px;overflow:auto }.record-item { border:1px solid transparent;border-radius:7px;background:transparent;color:#dce0e6;text-align:left;padding:10px;cursor:pointer;overflow-wrap:anywhere }.record-item:hover,.record-item.is-selected { border-color:#514622;background:#252116;color:var(--yellow) }
.order-actions { display:flex;align-items:center;gap:8px }.order-actions button { width:40px;height:36px;border:1px solid #41454e;border-radius:7px;background:#25282f;color:var(--yellow);cursor:pointer }.order-actions span { color:var(--muted);font-size:11px }
.content-editor { min-width:0 }.content-field { display:grid;gap:8px;margin:0 0 17px }.content-field textarea { resize:vertical;line-height:1.5 }.content-id { color:#8c9199;font-size:11px }.danger-button { border:1px solid #693a36;border-radius:8px;background:#2a1716;color:#ffb0a8;padding:10px 15px;cursor:pointer }.danger-button[hidden] { display:none }.editor-actions { padding-top:15px;border-top:1px solid var(--admin-border) }
.nested-services { margin-top:22px;padding-top:18px;border-top:1px solid var(--admin-border) }.nested-services h2 { font-size:15px }.nested-services select { width:100%;padding:11px;border:1px solid #41454e;border-radius:7px;background:#101216;color:#f4f4f2;margin-bottom:12px }.nested-services .editor-actions { border:0;padding:0 0 15px }.nested-services .editor-actions button { padding:9px 12px;border:1px solid #41454e;border-radius:7px;background:#25282f;color:#f4f4f2;cursor:pointer }.nested-services .editor-actions .danger-button { border-color:#693a36;background:#2a1716;color:#ffb0a8 }
.advanced-content { margin-top:25px;padding-top:18px;border-top:1px solid var(--admin-border) }.advanced-content summary { cursor:pointer;color:#c6c9cf;font-size:13px }.advanced-content p { color:var(--muted);font-size:12px }.advanced-content textarea { font:12px/1.5 Consolas,monospace }
.map-editor { margin-top:25px;padding-top:20px;border-top:1px solid var(--admin-border) }.map-editor h2,.history-panel h2 { font-size:16px }.map-editor select { margin-bottom:12px }.editor-map { position:relative;min-height:360px;overflow:hidden;border:1px solid #373b40;border-radius:8px;background:linear-gradient(#222 1px,transparent 1px),linear-gradient(90deg,#222 1px,transparent 1px);background-size:30px 30px }.editor-map>img { position:absolute;inset:8% 12%;width:76%;height:84%;object-fit:contain;pointer-events:none }.editor-map-point { position:absolute;width:13px;height:13px;transform:translate(-50%,-50%);border:2px solid #242424;border-radius:50%;background:white;cursor:pointer }.editor-map-point.active,.editor-map-point:hover { background:var(--yellow);box-shadow:0 0 0 7px #fbd11544 }
.history-panel { margin-top:20px }.history-row { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--admin-border) }.history-row span { color:#c9cbd0;font-size:12px }
.service-detail-trigger { padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer }.service-list li .service-detail-trigger { flex:1 }.service-list li > i { font-style:normal }.company-track img { max-width:130px;max-height:42px;object-fit:contain }.project-detail-trigger { margin-top:12px;border:0;background:none;color:#5f5010;text-decoration:underline;cursor:pointer;font-size:12px }
.detail-dialog { position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 32px));max-height:min(85vh,850px);overflow:auto;padding:32px;border:1px solid #4a4d50;border-radius:14px;background:#17191c;color:#f5f5f3;box-shadow:0 30px 100px #000b }.detail-dialog::backdrop { background:#000b;backdrop-filter:blur(4px) }.detail-dialog h2 { margin-top:20px }.detail-dialog p { color:#d0d2d4;line-height:1.7;white-space:pre-line }.dialog-close { position:sticky;float:right;top:0;width:36px;height:36px;border:1px solid #555;border-radius:50%;background:#222;color:white;font-size:24px;cursor:pointer }.detail-gallery,#content-details-body { display:grid;gap:14px }.detail-gallery img,#content-details-body img { max-width:100%;max-height:420px;object-fit:contain;border-radius:8px }
@media(max-width:760px){.content-workspace{grid-template-columns:1fr}.content-menu{position:static}.content-toolbar,.history-row{align-items:stretch;flex-direction:column}.toolbar-actions{width:100%}.toolbar-actions .button{flex:1}.editor-map{min-height:300px}}
@media (max-width: 900px) {
 .admin-sidebar { position: relative; width: 100%; padding: 20px; border-right: 0; border-bottom: 1px solid var(--admin-border); display: grid; grid-template-columns: 1fr auto; gap: 18px; overflow: visible; }
 .admin-profile { grid-column: 1; margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 12px; }
 .admin-avatar { width: 40px; height: 40px; grid-row: 1 / 4; margin: 0; font-size: 18px; } .admin-profile strong { font-size: 13px; } .profile-email { font-size: 11px; } .profile-role { display: none; }
 .admin-navigation { grid-column: 1 / -1; grid-row: 3; } .admin-navigation p { display: none; }
 .sidebar-bottom { grid-column: 2; grid-row: 2; padding: 0; margin: 0; } .sidebar-bottom > a { display: none; } .sidebar-bottom form { border: 0; margin: 0; padding: 0; } .sidebar-bottom button { font-size: 12px; }
 .admin-shell { margin-left: 0; padding: 28px 20px; }
 .admin-stats { gap: 10px; } .admin-stats article { padding: 16px; } .admin-stats strong { font-size: 26px; }
}
@media (max-width: 600px) {
 .admin-stats { grid-template-columns: 1fr; gap: 8px; margin: 24px 0; } .admin-stats article { display: flex; justify-content: space-between; align-items: center; } .admin-stats strong { margin: 0; font-size: 24px; }
 .list-heading { align-items: flex-start; flex-direction: column; } .list-heading > span { padding: 0; border: 0; }
 .response-details { grid-template-columns: 1fr; gap: 8px; padding: 20px; } dd { margin-bottom: 14px; }
 .admin-login .admin-shell { padding: 28px; } .admin-sidebar { grid-template-columns: minmax(0, 1fr) auto; }
}
