@import "https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,400;8..144,500;8..144,600;8..144,700&family=Roboto:wght@400;500;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--control-height-sm:36px;--control-height-md:40px;--control-height-lg:44px;--control-height-xl:48px;--bg:#f6f7fb;--bg-accent:#e4f4f0;--bg-end:#fbfcfe;--panel:#f8fafc;--panel-strong:#fff;--panel-muted:#f9fafb;--text:#111827;--text-strong:#0f172a;--muted:#667085;--muted-strong:#475467;--border:#e5e7eb;--border-strong:#d0d5dd;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#e8f5f2;--success:#15803d;--success-soft:#edf7ef;--warning:#b45309;--warning-soft:#fff6e8;--danger:#dc2626;--danger-soft:#fef2f2;--info:#2563eb;--info-soft:#eff6ff;--surface-tint:#0f766e0f;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 6px 18px #1018280f;--shadow-md:0 14px 32px #1018281a;--shadow:var(--shadow-sm);--motion-fast:.16s cubic-bezier(.2,0,0,1);--motion-standard:.18s cubic-bezier(.2,0,0,1);--motion-emphasized:.26s cubic-bezier(.2,0,0,1);font-family:Roboto Flex,Roboto,sans-serif;font-weight:400;line-height:1.5}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111827;--bg-accent:#10211f;--bg-end:#0b1220;--panel:#18212f;--panel-strong:#111827;--panel-muted:#1f2937;--text:#f8fafc;--text-strong:#fff;--muted:#94a3b8;--muted-strong:#cbd5e1;--border:#334155;--border-strong:#475569;--accent:#34d399;--accent-strong:#6ee7b7;--accent-soft:#34d3991f;--success:#4ade80;--success-soft:#4ade8024;--warning:#fbbf24;--warning-soft:#fbbf2424;--danger:#f87171;--danger-soft:#f8717124;--info:#60a5fa;--info-soft:#60a5fa24;--surface-tint:#34d3991f;--shadow-xs:0 1px 2px #00000047;--shadow-sm:0 8px 18px #0000003d;--shadow-md:0 16px 36px #00000052;--shadow:var(--shadow-sm)}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at top left,var(--surface-tint),transparent 42%),radial-gradient(circle at bottom right,color-mix(in srgb,var(--accent)6%,transparent),transparent 28%),linear-gradient(180deg,var(--bg)0%,var(--bg-end)100%);min-height:100vh;color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}.page-loading{padding:var(--space-8);border-radius:var(--radius-lg);border:1px dashed color-mix(in srgb,var(--border)82%,transparent);background:color-mix(in srgb,var(--panel)84%,transparent);color:var(--muted);text-align:center;font-size:.95rem}.http-log-table-wrap{border:1px solid color-mix(in srgb,var(--border)90%,transparent);border-radius:12px;overflow-x:auto}.http-log-list-table{table-layout:fixed;width:100%;min-width:1040px}.http-log-list-table th{white-space:nowrap;background:color-mix(in srgb,var(--panel)90%,var(--bg)10%);padding:12px 14px;font-size:.78rem}.http-log-list-table td{vertical-align:top;padding:12px 14px}.http-log-col-time{width:170px}.http-log-col-method{width:74px}.http-log-col-path{width:320px}.http-log-col-status{width:72px}.http-log-col-latency{width:86px}.http-log-col-user{width:220px}.http-log-col-ip{width:130px}.http-log-col-request-data{width:200px}.http-log-col-error-code{width:120px}.http-log-cell-mono{font-family:Roboto Mono,SFMono-Regular,Consolas,monospace}.http-log-cell-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.http-log-cell-break{word-break:break-all;white-space:normal;line-height:1.4;display:block}.http-log-path-cell{white-space:normal;word-break:break-word;line-height:1.4;display:block}.http-log-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.http-log-detail-dialog{width:min(1040px,94vw)}.http-log-detail-request-id{word-break:break-all}.http-log-detail-body{gap:12px;max-height:72vh;display:grid;overflow-y:auto}.http-log-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.http-log-payload-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.http-log-pre{white-space:pre-wrap;word-break:break-word;max-height:120px;margin:8px 0 0;font-family:Roboto Mono,SFMono-Regular,Consolas,monospace;overflow:auto}.http-log-pre-medium{max-height:180px}.http-log-pre-large{max-height:220px}@media (max-width:960px){.http-log-list-table{min-width:940px}.http-log-col-request-data,.http-log-col-user{width:180px}}.app-shell{--admin-sidebar-width:260px;grid-template-columns:var(--admin-sidebar-width)minmax(0,1fr);min-height:100vh;transition:grid-template-columns var(--motion-standard);display:grid}.app-shell.sidebar-collapsed{--admin-sidebar-width:0px}.sidebar{width:var(--admin-sidebar-width);background:color-mix(in srgb,var(--panel-strong)88%,transparent);border-right:1px solid color-mix(in srgb,var(--border)86%,transparent);min-width:0;padding:var(--space-7)var(--space-5);gap:var(--space-4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:width var(--motion-standard),padding var(--motion-standard),border-color var(--motion-standard),opacity var(--motion-standard);flex-direction:column;display:flex;overflow:hidden}.app-shell.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;border-right-color:#0000;padding-left:0;padding-right:0}.brand{padding:var(--space-2)var(--space-3)var(--space-5);border-bottom:1px solid color-mix(in srgb,var(--border)80%,transparent)}.brand-title{letter-spacing:-.03em;color:var(--text-strong);font-family:Roboto Flex,Roboto,sans-serif;font-size:1.4rem;font-weight:700}.brand-subtitle{color:var(--muted);margin-top:var(--space-1);font-size:.86rem}.sidebar-menu{flex-direction:column;gap:6px;display:flex}.sidebar-footer{padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--border)80%,transparent);gap:var(--space-2);margin-top:auto;display:grid}.sidebar-footer-link{min-height:var(--control-height-lg);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--text);background:color-mix(in srgb,var(--panel)72%,transparent);border:1px solid color-mix(in srgb,var(--border)86%,transparent);transition:background var(--motion-standard),color var(--motion-standard),border-color var(--motion-standard),transform var(--motion-standard),box-shadow var(--motion-standard);font-size:.88rem;font-weight:600;display:block}.sidebar-footer-link:hover{background:color-mix(in srgb,var(--accent)8%,var(--panel-strong));border-color:color-mix(in srgb,var(--accent)18%,var(--border))}.sidebar-footer-link.active{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent)30%,var(--border));background:color-mix(in srgb,var(--accent)12%,var(--panel-strong))}.menu-item,.menu-group-title{font-size:.95rem}.menu-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:8px;font-size:.75rem}.menu-link{min-height:var(--control-height-lg);padding:10px var(--space-4);border-radius:var(--radius-md);color:var(--text);transition:background var(--motion-standard),color var(--motion-standard),box-shadow var(--motion-standard),transform var(--motion-standard),border-color var(--motion-standard);border:1px solid #0000;font-weight:600;display:block}.menu-link:hover{background:color-mix(in srgb,var(--accent)7%,var(--panel-strong));border-color:color-mix(in srgb,var(--accent)14%,var(--border))}.menu-link.active{background:color-mix(in srgb,var(--accent)12%,var(--panel-strong));color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent)16%,transparent);border-color:color-mix(in srgb,var(--accent)22%,var(--border));font-weight:700}.sidebar-loading,.sidebar-error{color:var(--muted);padding:12px 8px;font-size:.9rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{min-height:72px;padding:var(--space-4)var(--space-7);border-bottom:1px solid color-mix(in srgb,var(--border)86%,transparent);background:color-mix(in srgb,var(--panel-strong)92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;justify-content:flex-start;align-items:center;display:flex;position:sticky;top:0}.topbar-toggle{width:44px;min-height:44px;box-shadow:none;background:0 0;border:none;border-radius:10px;flex:none;padding:0;display:inline-flex}.ghost-button.button-nav.topbar-toggle{box-shadow:none;background:0 0;border:none}.ghost-button.button-nav.topbar-toggle:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.ghost-button.button-nav.topbar-toggle:active{transform:none}.topbar-menu-icon{flex:0 0 24px;width:24px;height:24px;display:block}.topbar-context{flex-direction:column;gap:2px;min-width:0;margin-left:10px;margin-right:auto;display:flex}.topbar-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.topbar-page-title{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-family:Roboto Flex,Roboto,sans-serif;font-size:1.05rem;font-weight:700;overflow:hidden}.user-info{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.topbar-user-group{align-items:center;gap:var(--space-3);min-width:0;display:flex}.user-name{color:var(--text-strong);font-weight:700}.user-email{color:var(--muted);font-size:.84rem}.user-info{min-width:0}.user-name,.user-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.admin-settings-button{width:auto;height:44px;box-shadow:none;color:var(--text-strong);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ghost-button.button-nav.admin-settings-button{box-shadow:none;background:0 0;border:none}.ghost-button.button-nav.admin-settings-button:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.ghost-button.button-nav.admin-settings-button:active{transform:none}.admin-settings-icon{width:24px;height:24px;display:block}.topbar-notifications{align-items:center;display:flex;position:relative}.notification-button{width:auto;height:44px;box-shadow:none;transition:background var(--motion-standard),border-color var(--motion-standard),transform var(--motion-standard),box-shadow var(--motion-standard);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.ghost-button.button-nav.notification-button{box-shadow:none;background:0 0;border:none}.notification-button:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.notification-badge{width:10px;height:10px;box-shadow:0 0 0 2px var(--panel-strong);background:#ef4444;border-radius:999px;position:absolute;top:9px;right:10px}.notification-bell-icon{flex:0 0 24px;width:24px;height:24px;display:block}.notification-popover{background:color-mix(in srgb,var(--panel-strong)96%,transparent);border:1px solid color-mix(in srgb,var(--border)88%,transparent);border-radius:var(--radius-lg);width:min(360px,100vw - 32px);box-shadow:var(--shadow-md);padding:var(--space-4);gap:var(--space-3);z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);right:0}.notification-popover-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-empty{color:var(--muted);padding:12px 4px;font-size:.9rem}.notification-list{flex-direction:column;gap:10px;max-height:320px;display:flex;overflow-y:auto}.notification-item,.notification-toast{border:1px solid color-mix(in srgb,var(--border)88%,transparent);background:color-mix(in srgb,var(--panel)78%,transparent);border-radius:var(--radius-md);width:100%;padding:var(--space-3)var(--space-4);text-align:left;cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast)}.notification-item:hover,.notification-toast:hover{border-color:color-mix(in srgb,var(--accent)28%,var(--border));background:color-mix(in srgb,var(--accent)7%,var(--panel-strong));box-shadow:var(--shadow-xs);transform:translateY(-1px)}.notification-title{margin-bottom:4px;font-weight:700}.notification-body{color:var(--muted);font-size:.9rem}.notification-meta{color:var(--muted);margin-top:6px;font-size:.78rem}.notification-toast-stack{z-index:35;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:88px;right:24px}.notification-toast{pointer-events:auto}.page{padding:var(--space-7)}.panel{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong)98%,white 2%),color-mix(in srgb,var(--panel)42%,var(--panel-strong)));border:1px solid color-mix(in srgb,var(--border)90%,transparent);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xs);transition:box-shadow var(--motion-standard),border-color var(--motion-standard),transform var(--motion-standard)}.panel h2{letter-spacing:-.03em;color:var(--text-strong);margin-top:0;font-family:Roboto Flex,Roboto,sans-serif;font-size:1.75rem;font-weight:700}.muted{color:var(--muted);margin:0}.panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--border)88%,transparent);display:flex}.panel-actions{align-items:center;gap:var(--space-2);display:flex}.admin-page-header{align-items:flex-start;gap:var(--space-5)}.admin-page-header-main{gap:var(--space-4);min-width:0;display:grid}.admin-page-header-copy{gap:var(--space-2);min-width:0;display:grid}.admin-page-title-row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.admin-page-nav{align-items:center;gap:var(--space-2);display:inline-flex}.admin-page-eyebrow{align-items:center;gap:var(--space-2);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700;display:inline-flex}.admin-page-title{letter-spacing:-.03em;color:var(--text-strong);margin:0;font-family:Roboto Flex,Roboto,sans-serif;font-size:1.8rem;font-weight:700;line-height:1.2}.admin-page-description{color:var(--muted);max-width:760px;margin:0;font-size:.94rem;line-height:1.6}.admin-page-meta,.page-meta-pills{flex-wrap:wrap;gap:8px;display:flex}.page-meta-pill{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent)8%,var(--panel));color:var(--accent-strong);border:1px solid color-mix(in srgb,var(--accent)14%,var(--border));align-items:center;font-size:.76rem;font-weight:700;display:inline-flex}.admin-page-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.admin-page-actions .text-button,.admin-page-actions .ghost-button{order:1}.admin-page-actions .primary-button{order:2}.admin-page-actions .danger-button{order:3}.detail-page-header-main,.detail-page-title-copy{gap:var(--space-2);min-width:0;display:grid}.detail-page-title-row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.detail-page-title-copy h2,.detail-page-title-copy p{margin:0}.detail-page-title-copy h2{min-width:0}.ghost-button.detail-page-back{min-width:24px;height:36px;box-shadow:none;color:var(--text-strong);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin-top:0;padding:0;font-size:1.2rem;font-weight:700;line-height:1;display:inline-flex}.ghost-button.detail-page-back:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.ghost-button.detail-page-back:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)18%,transparent);outline:none}.detail-page-actions-mobile{display:none}.detail-page-actions-mobile .ghost-button,.detail-page-actions-mobile .danger-button,.detail-page-actions-mobile .primary-button{justify-content:center;min-width:120px}.parking-check-actions{justify-content:flex-end}.action-group{align-items:center;gap:var(--space-2);display:flex}.action-group-spaced{margin-right:16px}.section-title-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button-icon{width:18px;height:18px;margin-right:var(--space-1);flex:0 0 18px;display:block}.section-box{margin-bottom:var(--space-4);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--border)90%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel)96%,transparent);box-shadow:var(--shadow-xs);transition:box-shadow var(--motion-standard),border-color var(--motion-standard),transform var(--motion-standard),background var(--motion-standard);position:relative}.section-box:hover{border-color:color-mix(in srgb,var(--border-strong)92%,transparent)}.data-section{gap:14px;display:grid}.data-section-header{margin-bottom:0}.data-section-meta{flex-wrap:wrap}.data-section-actions{flex-wrap:wrap;justify-content:flex-end}.section-header-supplement{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.data-section-supplement{margin-top:calc(var(--space-1)*-1)}.data-section-body{min-width:0}.summary-card{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border)90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong)98%,white 2%),color-mix(in srgb,var(--panel)34%,var(--panel-strong)));box-shadow:var(--shadow-xs);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);display:grid}.summary-card:hover{border-color:color-mix(in srgb,var(--border-strong)92%,transparent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.summary-card.tone-info{background:linear-gradient(180deg,color-mix(in srgb,#3b82f6 10%,var(--panel-strong)),color-mix(in srgb,#3b82f6 4%,var(--panel)))}.summary-card.tone-success{background:linear-gradient(180deg,color-mix(in srgb,#16a34a 10%,var(--panel-strong)),color-mix(in srgb,#16a34a 4%,var(--panel)))}.summary-card.tone-warning{background:linear-gradient(180deg,color-mix(in srgb,#f59e0b 10%,var(--panel-strong)),color-mix(in srgb,#f59e0b 4%,var(--panel)))}.summary-card-title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.summary-card-value{letter-spacing:-.03em;color:var(--text-strong);font-family:Roboto Flex,Roboto,sans-serif;font-size:1.7rem;font-weight:700}.summary-card-meta{color:var(--muted);font-size:.82rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px;display:grid}.dashboard-panel .panel-header{align-items:flex-start}.dashboard-hero{gap:18px;margin-bottom:20px;display:grid}.dashboard-hero-copy{gap:10px;display:grid}.dashboard-hero-copy h3{letter-spacing:-.02em;margin:0;font-family:Roboto Flex,Roboto,sans-serif;font-size:1.35rem;font-weight:700}.dashboard-hero-copy p{color:var(--muted);max-width:760px;margin:0}.dashboard-pill-row{flex-wrap:wrap;gap:8px;display:flex}.dashboard-pill{background:color-mix(in srgb,var(--accent)10%,var(--panel));min-height:30px;color:var(--accent-strong);border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;font-weight:700;display:inline-flex}.admin-settings-title-row{align-items:flex-start;gap:6px;display:flex}.admin-settings-title-copy{gap:0;display:grid}.admin-settings-title-copy h2,.admin-settings-title-copy p{margin:0}.admin-settings-title-copy p{color:var(--muted)}.admin-settings-list{gap:12px;display:grid}.admin-settings-item{border:1px solid color-mix(in srgb,var(--border)92%,transparent);background:color-mix(in srgb,var(--panel)82%,transparent);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.admin-settings-item>.ghost-button.button-nav{white-space:nowrap;flex-shrink:0;min-width:92px}.admin-settings-item-copy{gap:6px;min-width:0;display:grid}.admin-settings-item-title{color:var(--text-strong);align-items:center;gap:8px;display:inline-flex}.dashboard-metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.dashboard-metric-card{border:1px solid color-mix(in srgb,var(--border)68%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel)78%,white 22%),color-mix(in srgb,var(--panel-strong)96%,transparent));border-radius:22px;gap:8px;padding:18px;display:grid;box-shadow:0 1px 2px #1d1b200d}.dashboard-metric-card strong{letter-spacing:-.03em;font-family:Roboto Flex,Roboto,sans-serif;font-size:1.7rem;font-weight:700}.dashboard-metric-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:700}.dashboard-metric-meta{color:var(--muted);font-size:.82rem}.dashboard-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.dashboard-filters .field{margin:0}.dashboard-filters .field span{color:var(--muted);font-size:.85rem}.dashboard-filters .button-search{align-self:end;padding:8px 12px;font-size:.9rem}.dashboard-presets{flex-wrap:wrap;gap:8px;margin:-4px 0 18px;display:flex}.dashboard-grid{gap:16px;display:grid}.chart-list{gap:12px;display:grid}.chart-graph{gap:12px;display:grid;position:relative}.chart-svg{width:100%;height:260px}.chart-grid-line{stroke:#94a3b859;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-axis-label{fill:var(--muted);text-anchor:end;dominant-baseline:middle;font-size:12px}.chart-x-label{fill:var(--muted);text-anchor:middle;font-size:11px}.bar-rect.primary{fill:#14b8a6}.bar-rect.secondary{fill:#60a5fa}.bar-rect.accent{fill:#fb923c}.bar-rect{cursor:pointer}.chart-tooltip{color:#f8fafc;pointer-events:none;z-index:5;background:#0f172a;border-radius:10px;min-width:110px;padding:8px 10px;font-size:.8rem;position:absolute;box-shadow:0 12px 24px #0f172a40}.chart-tooltip-date{margin-bottom:4px;font-weight:700}.chart-tooltip-row{color:#e2e8f0e6}.chart-tooltip-value{margin-top:2px;font-size:1rem;font-weight:700}.chart-row{grid-template-columns:minmax(140px,1fr) 2fr;align-items:center;gap:8px;display:grid}.chart-label{color:var(--text);font-weight:600}.chart-bars{gap:8px;display:grid}.chart-bar{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.bar-track{background:#94a3b82e;border-radius:999px;height:10px;overflow:hidden}.bar-fill{border-radius:inherit;height:100%}.bar-fill.primary{background:linear-gradient(90deg,#0f766e 0%,#14b8a6 100%)}.bar-fill.secondary{background:linear-gradient(90deg,#2563eb 0%,#60a5fa 100%)}.bar-fill.accent{background:linear-gradient(90deg,#f97316 0%,#fb923c 100%)}.bar-value{text-align:right;min-width:32px;font-weight:600}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch.primary{background:#14b8a6}.legend-swatch.secondary{background:#60a5fa}.legend-swatch.accent{background:#fb923c}.empty-state{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;padding:16px}.result-card.warning{background:#b423180a;border-color:#b4231866}.history-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.history-item{border:1px solid var(--border);background:var(--panel-strong);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.history-plate{font-weight:700}.history-meta{color:var(--muted);font-size:.85rem}.section-label{align-items:center;gap:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--panel-strong)94%,transparent);border:1px solid color-mix(in srgb,var(--border)88%,transparent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;min-height:28px;font-size:.72rem;font-weight:700;display:inline-flex}.section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.list-summary{align-items:center;gap:14px;display:inline-flex}.section-hint{color:var(--muted);font-size:.9rem}.section-header-meta,.section-header-actions{align-items:center;gap:var(--space-2);display:inline-flex}.section-count{color:var(--muted);font-size:.84rem;font-weight:600}.guide-page{gap:20px;display:grid}.guide-shell{grid-template-columns:260px minmax(0,1fr);gap:20px;display:grid}.guide-nav{align-self:start;margin-bottom:0;position:sticky;top:96px}.guide-nav-list{gap:8px;display:grid}.guide-nav-link{border:1px solid var(--border);background:color-mix(in srgb,var(--panel)88%,transparent);color:var(--text);border-radius:10px;padding:10px 12px;font-size:.94rem;font-weight:600;display:block}.guide-nav-link:hover{background:#0f766e14}.guide-nav-link.active{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent)40%,var(--border));background:#0f766e24}.guide-content{min-width:0;display:grid}.guide-section-detail{gap:14px;margin-bottom:0;display:grid}.guide-list{color:var(--text);gap:10px;margin:0;padding-left:18px;line-height:1.55;display:grid}.guide-summary{color:var(--muted);margin:0;line-height:1.6}.guide-subtitle{margin:0;font-size:1rem;font-weight:700}.guide-tip-box{border:1px solid color-mix(in srgb,var(--accent)30%,var(--border));background:color-mix(in srgb,var(--accent)8%,transparent);border-radius:14px;gap:10px;padding:14px 16px;display:grid}.guide-tip-title{color:var(--accent-strong);font-size:.9rem;font-weight:700}.guide-shot{border:1px dashed color-mix(in srgb,var(--accent)40%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--panel)88%,transparent),color-mix(in srgb,var(--panel-strong)92%,#dbeafe 8%));border-radius:16px;gap:8px;min-height:180px;padding:18px;display:grid}.guide-shot-badge{background:color-mix(in srgb,var(--panel-strong)90%,transparent);border:1px solid var(--border);width:fit-content;color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700}.guide-shot-title{font-size:1rem;font-weight:700}.guide-shot-image{border:1px solid var(--border);width:100%;max-width:920px;box-shadow:var(--shadow);background:#fff;border-radius:14px}.guide-shot-copy{color:var(--muted);margin:0;line-height:1.6}.section-box .list-controls{margin-top:12px}.inquiry-summary-row{grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:16px;display:grid}.inquiry-summary-card{gap:8px;display:grid}.inquiry-summary-card strong{font-size:.95rem}.inquiry-summary-card div{font-size:1.5rem;font-weight:700}.inquiry-list{gap:14px;display:grid}.inquiry-list-mobile{display:none}.inquiry-table-shell{padding:0;overflow:hidden}.inquiries-table{table-layout:fixed}.inquiry-col-status{width:120px}.inquiry-col-title{width:auto}.inquiry-col-resident,.inquiry-col-household{width:180px}.inquiry-col-created-at{width:168px}.inquiries-table th,.inquiries-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inquiries-table td[data-label=제목]{white-space:normal}.inquiry-table-title,.inquiry-table-resident,.inquiry-table-household{gap:4px;min-width:0;display:grid}.inquiry-table-title-main,.inquiry-table-resident-name,.inquiry-table-household-main{font-weight:700;line-height:1.45}.inquiry-table-title-sub,.inquiry-table-resident-email,.inquiry-table-household-sub{color:var(--muted);font-size:.88rem;line-height:1.5}.inquiry-table-title-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inquiry-summary-item{text-align:left;cursor:pointer;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong)96%,white 4%),color-mix(in srgb,var(--panel)76%,transparent));border-radius:16px;width:100%;padding:18px 20px;transition:transform .2s,border-color .2s,box-shadow .2s}.inquiry-summary-item:hover{border-color:color-mix(in srgb,var(--accent)40%,var(--border));transform:translateY(-1px);box-shadow:0 14px 28px #0f172a14}.inquiry-card{gap:14px;display:grid}.inquiry-summary-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.inquiry-summary-chip{background:color-mix(in srgb,var(--accent)10%,var(--panel-strong));color:var(--accent-strong);letter-spacing:.02em;border-radius:999px;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.inquiry-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inquiry-card-title{letter-spacing:-.01em;font-size:1.12rem;font-weight:800;line-height:1.4}.inquiry-card-title-lg{font-size:1.35rem}.inquiry-summary-context{color:var(--muted);font-size:.92rem;line-height:1.55}.inquiry-card-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.9rem;display:flex}.inquiry-card-content{white-space:pre-wrap;font-size:.98rem;line-height:1.6}.inquiry-card-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.inquiry-thread{gap:10px;display:grid}.inquiry-bubble{border:1px solid var(--border);border-radius:16px;gap:6px;padding:16px 18px;display:grid;box-shadow:inset 0 1px #ffffff61}.inquiry-bubble-resident{background:linear-gradient(180deg,color-mix(in srgb,var(--panel)84%,white 16%),color-mix(in srgb,var(--panel)92%,transparent))}.inquiry-bubble-admin{background:linear-gradient(180deg,color-mix(in srgb,var(--accent)10%,var(--panel-strong)),color-mix(in srgb,var(--accent)4%,var(--panel)))}.inquiry-bubble-author{font-size:.95rem;font-weight:700}.inquiry-summary-preview{color:var(--text);white-space:nowrap;text-overflow:ellipsis;line-height:1.6;overflow:hidden}.section-toggle{justify-content:space-between;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700;list-style:none;display:flex}.section-toggle-main{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:inline-flex}.section-toggle-heading{align-items:center;gap:var(--space-2);display:inline-flex}.section-filter-count{border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent)12%,var(--panel));min-width:20px;height:20px;color:var(--accent-strong);letter-spacing:0;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.section-toggle-summary{color:var(--muted);letter-spacing:0;text-transform:none;white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:500;display:-webkit-box;overflow:hidden}.section-toggle-placeholder{color:color-mix(in srgb,var(--muted)82%,transparent);letter-spacing:0;text-transform:none;font-size:.8rem;font-weight:500}.section-toggle::-webkit-details-marker{display:none}.section-toggle:after{content:">";transition:transform .2s;display:inline-block;transform:rotate(0)}details[open]>.section-toggle:after{transform:rotate(90deg)}.callout{color:var(--accent-strong);background:#0f766e14;border-radius:12px;margin-top:18px;padding:14px 16px}.auth-shell{place-items:center;min-height:100vh;padding:40px 16px;display:grid}.auth-card{background:var(--panel-strong);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;padding:32px}.resident-guest-visits{border:1px solid color-mix(in srgb,var(--border)70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong)92%,#0f172a 8%),var(--panel-strong));width:min(420px,100%);padding:34px 32px}.guest-visits-title-row{align-items:center;gap:12px;display:flex}.guest-visits-title-row h2{margin:0}.guest-visits-home{margin-left:auto}.guest-visits-body{margin-top:22px}.guest-visits-header{margin-bottom:18px}.guest-visits-section-header{margin-bottom:10px}.auth-header h1{margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:1.8rem}.auth-back-row{align-items:center;gap:10px;display:flex}.auth-back-button{min-width:24px;height:36px;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.back-chevron-icon{width:18px;height:18px;display:block}.auth-header p{color:var(--muted);margin:0 0 24px}.auth-form{gap:16px;display:grid}.field{gap:var(--space-2);font-size:.92rem;display:grid}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{min-height:var(--control-height-xl);padding:12px var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border)92%,transparent);background:color-mix(in srgb,var(--panel-strong)96%,transparent);color:var(--text);transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast)}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)16%,transparent);border-color:var(--accent);background:var(--panel-strong);outline:none}.checkbox-list{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border)90%,transparent);background:color-mix(in srgb,var(--panel)88%,transparent);max-height:220px;display:grid;overflow:auto}.checkbox-item{align-items:center;gap:8px;display:flex}.checkbox-item input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);margin:0;padding:0}.primary-button{background:var(--accent);color:#fff;border:1px solid color-mix(in srgb,var(--accent)72%,black 6%);min-height:var(--control-height-lg);padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-standard),box-shadow var(--motion-standard),transform var(--motion-standard),filter var(--motion-standard);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 2px #10182814}.primary-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.ghost-button{background:var(--panel-strong);border:1px solid color-mix(in srgb,var(--border)92%,transparent);min-height:var(--control-height-lg);padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;color:var(--text);transition:background var(--motion-standard),border-color var(--motion-standard),color var(--motion-standard),box-shadow var(--motion-standard),transform var(--motion-standard);justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.primary-button:hover,.ghost-button:hover,.danger-button:hover{box-shadow:var(--shadow-xs);transform:translateY(-1px)}.primary-button:hover{background:color-mix(in srgb,var(--accent)92%,black 8%)}.ghost-button:hover{background:color-mix(in srgb,var(--accent)4%,var(--panel-strong));border-color:color-mix(in srgb,var(--border-strong)92%,transparent)}.danger-button:hover{background:color-mix(in srgb,var(--danger)10%,var(--panel-strong));border-color:color-mix(in srgb,var(--danger)26%,var(--border))}.primary-button:active,.ghost-button:active,.danger-button:active,.menu-link:active,.sidebar-footer-link:active,.notification-button:active{transform:scale(.98)}.primary-button:focus-visible,.ghost-button:focus-visible,.danger-button:focus-visible,.menu-link:focus-visible,.sidebar-footer-link:focus-visible,.notification-button:focus-visible,.text-button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)16%,transparent);outline:none}.button-nav,.button-search,.button-status,.button-page{letter-spacing:0;font-weight:600}.button-nav{padding-inline:var(--space-4)}.ghost-button.button-nav{background:color-mix(in srgb,var(--panel-strong)96%,transparent);border-color:color-mix(in srgb,var(--border)92%,transparent)}.excel-action-label{align-items:center;display:inline-flex}.select-delete-icon{display:none}.section-header-excel-actions{align-items:center;gap:var(--space-2);display:inline-flex}.text-button.button-nav{color:var(--accent-strong);font-weight:600}.primary-button.button-nav{box-shadow:0 1px 2px #10182814}.ghost-button.button-search{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 2px #1d1b2038,0 2px 6px color-mix(in srgb,var(--accent)24%,transparent)}.ghost-button.button-search:disabled{opacity:.6;cursor:not-allowed}.ghost-button.button-status{background:color-mix(in srgb,var(--panel)82%,transparent);border-color:color-mix(in srgb,var(--border)88%,transparent);color:var(--text)}.ghost-button.button-status.button-approve{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent)22%,var(--border));color:var(--accent-strong)}.ghost-button.button-status.button-reject{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger)18%,var(--border));color:var(--danger)}.ghost-button.button-status.button-cancel{background:color-mix(in srgb,var(--muted)10%,var(--panel));border-color:color-mix(in srgb,var(--muted)18%,var(--border));color:var(--muted)}.ghost-button.button-status.button-toggle{background:var(--info-soft);border-color:color-mix(in srgb,var(--info)18%,var(--border));color:var(--info)}.ghost-button.button-page{padding:0 var(--space-3);background:color-mix(in srgb,var(--panel-strong)96%,transparent);border-color:color-mix(in srgb,var(--border)88%,transparent);min-width:56px}.form-error{padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--danger)16%,var(--border));background:var(--danger-soft);color:var(--danger);font-size:.88rem}.form-success{padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--success)16%,var(--border));background:var(--success-soft);color:var(--accent-strong);font-size:.88rem}.form-grid{gap:var(--space-4);display:grid}.list-controls{gap:var(--space-3);background:0 0;border:none;border-radius:0;margin-bottom:0;padding:0;display:flex}.list-controls input{min-height:var(--control-height-xl);padding:12px var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border)92%,transparent);background:color-mix(in srgb,var(--panel-strong)96%,transparent);color:var(--text);flex:1}.list-controls select{min-height:var(--control-height-xl);padding:12px var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border)92%,transparent);background:color-mix(in srgb,var(--panel-strong)96%,transparent);color:var(--text)}.status-filter-group{border:1px solid var(--border);background:var(--panel-strong);border-radius:10px;flex-wrap:wrap;gap:8px;padding:8px 10px;display:inline-flex}.multi-select-field{border:1px solid color-mix(in srgb,var(--border)92%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--panel-strong)96%,transparent);min-width:220px;position:relative}.multi-select-trigger{min-width:220px;min-height:var(--control-height-xl);padding:12px var(--space-4);border:1px solid color-mix(in srgb,var(--border)92%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--panel-strong)96%,transparent);color:var(--text);text-align:left;transition:border-color var(--motion-standard),box-shadow var(--motion-standard),background var(--motion-standard);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.multi-select-trigger:hover{border-color:color-mix(in srgb,var(--accent)30%,var(--border));background:color-mix(in srgb,var(--accent)4%,var(--panel-strong))}.multi-select-trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)18%,transparent);border-color:var(--accent);outline:none}.multi-select-summary{min-height:var(--control-height-xl);padding:12px var(--space-4);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;list-style:none;display:grid}.multi-select-summary::-webkit-details-marker{display:none}.multi-select-label{color:var(--muted);letter-spacing:.02em;font-size:.82rem;font-weight:700}.multi-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.multi-select-chevron{color:var(--muted);transition:transform var(--motion-standard)}.multi-select-field[open] .multi-select-chevron{transform:rotate(180deg)}.multi-select-panel{max-height:220px;margin:0 12px 12px}.filter-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a47;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.filter-dialog{gap:var(--space-4);width:min(420px,100vw - 32px);max-height:min(520px,100vh - 48px);padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--border)90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong)98%,white 2%),var(--panel-strong));box-shadow:var(--shadow-md);flex-direction:column;display:flex}.filter-dialog-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.filter-dialog-header h3{margin:0;font-size:1.1rem}.filter-dialog-header p{color:var(--muted);margin:6px 0 0;font-size:.92rem}.filter-dialog-body{flex:1;max-height:320px;margin:0}.filter-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.status-filter-option{white-space:nowrap;align-items:center;gap:6px;font-size:.92rem;display:inline-flex}.status-filter-option input{flex:none;margin:0}.table-wrap{scrollbar-gutter:stable;background:0 0;border:none;border-radius:0;padding:0;overflow-x:auto}.status-badge{border-radius:var(--radius-pill);letter-spacing:.02em;border:1px solid #0000;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-active{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success)14%,var(--border))}.status-inactive{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger)14%,var(--border))}.status-cancelled{background:color-mix(in srgb,var(--muted)10%,var(--panel));color:var(--muted-strong);border-color:color-mix(in srgb,var(--muted)14%,var(--border))}.status-approved{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success)14%,var(--border))}.status-pending{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning)14%,var(--border))}.status-rejected{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger)14%,var(--border))}.status-suspended{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning)14%,var(--border))}.status-unknown{background:color-mix(in srgb,var(--muted)10%,var(--panel));color:var(--muted-strong);border-color:color-mix(in srgb,var(--muted)14%,var(--border))}.empty-state{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3)0;display:flex}.table-actions{gap:var(--space-2);align-items:center;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.data-table th,.data-table td{padding:var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--border)88%,transparent);text-align:left}.data-table th{z-index:1;background:color-mix(in srgb,var(--panel)98%,var(--panel-strong));letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:700;position:sticky;top:0}.table-sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.household-table{table-layout:fixed}.household-col-select{width:44px}.household-col-id{width:72px}.household-col-apartment{width:auto}.household-col-building,.household-col-unit{width:88px}.household-col-display-name{width:180px}.household-col-status{width:100px}.household-col-created-at{width:120px}.household-col-actions{width:96px}.household-table th,.household-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vehicle-table{table-layout:fixed}.vehicle-col-select{width:44px}.vehicle-col-apartment{width:auto}.vehicle-col-building,.vehicle-col-unit{width:88px}.vehicle-col-household{width:180px}.vehicle-col-plate{width:140px}.vehicle-col-model{width:130px}.vehicle-col-creator{width:150px}.vehicle-col-status,.vehicle-col-type{width:96px}.vehicle-col-created-at{width:120px}.vehicle-table th,.vehicle-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vehicle-table td[data-label=등록자]{white-space:normal}.vehicle-card-identity,.vehicle-card-location,.vehicle-card-creator{gap:4px;display:grid}.vehicle-card-plate-main{letter-spacing:-.02em;font-family:Roboto Flex,Roboto,sans-serif;font-size:1rem;font-weight:800}.vehicle-card-plate-sub,.vehicle-card-location-secondary,.vehicle-card-created-at{display:none}.vehicle-card-location-main{font-weight:700}.list-card-identity,.list-card-context,.resident-card-identity,.resident-card-location,.guest-visit-card-identity,.guest-visit-card-location,.guest-visit-card-visitor,.guest-visit-card-meta,.vehicle-request-card-identity,.vehicle-request-card-location,.vehicle-request-card-applicant,.parking-card-identity,.parking-card-reason,.parking-card-meta{gap:4px;min-width:0;display:grid}.list-card-title,.list-card-context-title,.resident-card-login,.resident-card-household,.guest-visit-card-plate-main,.guest-visit-card-location-main,.vehicle-request-card-plate-main,.vehicle-request-card-household,.parking-card-plate{font-weight:700;line-height:1.45}.list-card-subtitle,.list-card-meta,.resident-card-name,.resident-card-email,.resident-card-apartment,.guest-visit-card-plate-sub,.guest-visit-card-location-secondary,.vehicle-request-card-plate-sub,.vehicle-request-card-location-secondary{display:none}.guest-visit-table{table-layout:fixed}.guest-visit-col-select{width:44px}.guest-visit-col-timing{width:108px}.guest-visit-col-plate{width:132px}.guest-visit-col-period{width:188px}.guest-visit-col-apartment{width:auto}.guest-visit-col-household{width:120px}.guest-visit-col-visitor{width:150px}.guest-visit-col-created-at{width:126px}.guest-visit-col-booking-status{width:110px}.guest-visit-col-creator{width:120px}.guest-visit-table th,.guest-visit-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guest-visit-table td[data-label=방문자],.guest-visit-table td[data-label=등록자]{white-space:normal}.creator-meta{flex-direction:column;gap:2px;line-height:1.25;display:flex}.creator-type{color:var(--muted);font-size:.78rem}.creator-name{font-weight:600}.data-table tbody tr:hover{background:color-mix(in srgb,var(--accent)5%,transparent);cursor:pointer}.visit-future{background:#2fb7aa1f}.visit-current{background:#f59f0b24}.visit-past{background:#64748b1a}.visit-unknown{background:#94a3b814}.visit-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;font-size:.85rem;display:flex}.visit-legend-item{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--border)88%,transparent);white-space:nowrap;flex-shrink:0;padding:4px 10px;display:inline-flex}.danger-button .select-delete-icon{flex:0 0 24px;width:24px;height:24px;margin-right:0}.parking-list-section-header{align-items:center}.parking-list-actions{justify-content:flex-end;margin-left:auto}.guest-visit-plate-cell,.guest-visit-plate-heading{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.button-row{align-items:center;gap:var(--space-2);display:flex}.detail-stack{gap:14px;display:grid}.public-link-sections{gap:24px;display:grid}.public-link-section{gap:14px;display:grid}.qr-card{gap:var(--space-2);width:fit-content;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--border)90%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel)92%,white);box-shadow:var(--shadow-xs);display:grid}.qr-card-grid{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.qr-card-item{flex:0 0 190px;justify-items:center;gap:8px;display:grid}.qr-image{background:#fff;border-radius:10px;width:176px;height:176px;display:block}.qr-caption{color:var(--muted);text-align:center;font-size:.92rem}.danger-button{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger)18%,var(--border));min-height:var(--control-height-lg);padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-standard),border-color var(--motion-standard),color var(--motion-standard),transform var(--motion-standard),box-shadow var(--motion-standard);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.button-inline-action{padding:0 var(--space-3);font-size:.84rem}.detail-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.detail-list{gap:var(--space-3);display:grid}.detail-split-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:start;display:grid}.detail-overview-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.detail-overview-card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border)90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong)98%,white 2%),color-mix(in srgb,var(--panel)34%,var(--panel-strong)));box-shadow:var(--shadow-xs);display:grid}.detail-overview-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.detail-overview-value{letter-spacing:-.02em;color:var(--text-strong);font-family:Roboto Flex,Roboto,sans-serif;font-size:1.18rem;font-weight:700}.detail-overview-meta{color:var(--muted);font-size:.82rem}.detail-item{padding:var(--space-3)var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--border)88%,transparent);gap:6px;display:grid}.detail-item strong{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.detail-item:last-child{border-bottom:none}.vehicle-list{gap:var(--space-2);margin-top:var(--space-2);display:grid}.vehicle-item{background:var(--panel);border:1px solid color-mix(in srgb,var(--border)90%,transparent);border-radius:var(--radius-md);padding:var(--space-3);justify-content:space-between;align-items:center;display:flex}.vehicle-plate{letter-spacing:.04em;border-radius:4px;padding:0 4px 1px;font-size:1.1rem;font-weight:700;display:inline-block}.vehicle-plate.visit-future{color:var(--text);background:linear-gradient(#0000 55%,#2fb7aa59 55%)}.vehicle-plate.visit-current{color:var(--text);background:linear-gradient(#0000 55%,#f59f0b59 55%)}.vehicle-plate.visit-past{color:var(--text);background:linear-gradient(#0000 55%,#64748b59 55%)}.vehicle-plate.visit-unknown{color:var(--text);background:linear-gradient(#0000 55%,#94a3b859 55%)}.vehicle-meta{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.vehicle-actions{align-items:center;display:flex}.form-layout-shell{gap:var(--space-4);display:grid}.form-section-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-section-grid .field{min-width:0}.form-section-grid .field-full{grid-column:1/-1}.form-submit-row{justify-content:flex-end;gap:var(--space-2);bottom:var(--space-4);z-index:6;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--border)88%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel-strong)94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);display:flex;position:sticky}.form-submit-row .ghost-button{order:1}.form-submit-row .primary-button{order:2}.form-submit-row .danger-button{order:3}.list-toolbar-cluster{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.list-toolbar-note{color:var(--muted);font-size:.84rem}.guest-visit-list{gap:12px}.resident-guest-visits .vehicle-item{align-items:flex-start;gap:16px}.guest-visit-item{border:1px solid var(--border);padding:12px 14px}.resident-guest-visits .guest-visit-item{border:1px solid color-mix(in srgb,var(--border)70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel)88%,#0b1220 12%),var(--panel));border-radius:14px;box-shadow:0 10px 24px #02061740}.guest-visit-period{margin-top:6px;font-size:.95rem;font-weight:600}.resident-guest-visits .guest-visit-period{gap:4px;display:grid}.guest-visit-label{border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;margin-right:6px;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-flex}.resident-guest-visits .guest-visit-label{border-color:color-mix(in srgb,var(--border)60%,transparent);background:#94a3b814}.guest-visit-meta{color:var(--muted);margin-top:4px;font-size:.9rem}.sensitive-phone{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.sensitive-phone-compact{gap:.35rem}.sensitive-phone-value{word-break:break-all}.sensitive-phone-button{min-height:auto;padding:.2rem .55rem;font-size:.75rem}.resident-guest-visits .vehicle-actions{padding-top:4px}.resident-guest-visits .pagination{justify-content:center;margin-top:20px}.pagination{align-items:center;gap:12px;margin-top:16px;display:flex}.menu-management{grid-template-columns:240px minmax(0,1fr);gap:24px;display:grid}.menu-column{flex-direction:column;gap:16px;display:flex}.menu-management-actions{align-items:center;gap:10px;display:flex}.menu-tree{border:1px solid var(--border);background:var(--panel-strong);border-radius:14px;min-height:320px;padding:16px}.menu-tree-node{flex-direction:column;gap:6px;display:flex}.menu-tree-node.dragging{opacity:.55}.menu-tree-node.drop-ready .menu-tree-item-row{border-color:var(--accent)}.menu-tree-item-row{border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;transition:background-color .18s,border-color .18s;display:flex}.menu-tree-item-row:hover{background:color-mix(in srgb,var(--accent)10%,var(--panel-strong));border-color:color-mix(in srgb,var(--accent)26%,var(--border))}.menu-tree-item{align-items:center;gap:10px;font-size:.95rem;display:flex}.menu-tree-item.locked{opacity:.7}.menu-tree-drag-handle{border:1px dashed var(--border);background:var(--panel);min-width:32px;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;padding:4px 6px;display:flex}.menu-tree-drag-handle:active{cursor:grabbing}.menu-tree-children{margin-top:6px}.attachments-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px;display:grid}.attachment-card{border:1px solid var(--border);background:var(--panel);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.attachment-thumb{background:color-mix(in srgb,var(--panel)85%,#000);width:100%;box-shadow:none;border-radius:8px;display:block;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:140px;display:block}.attachment-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.attachment-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-list{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.file-list span{background:color-mix(in srgb,var(--panel)85%,#000);border-radius:8px;padding:4px 8px}.attachment-upload-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.attachment-note{color:var(--text-muted);font-size:12px}.attachment-ocr{color:var(--text-muted);flex-direction:column;gap:8px;font-size:12px;display:flex}.attachment-ocr-header{justify-content:space-between;align-items:center;display:flex}.attachment-ocr-status{color:var(--text);font-weight:600}.attachment-ocr-best{color:var(--text)}.attachment-ocr-error{color:#ff7b7b}.attachment-ocr-pending{color:var(--text-muted)}.attachment-result{color:var(--text);background:color-mix(in srgb,var(--accent)12%,var(--panel));border-radius:8px;padding:6px 8px;font-size:12px}.resident-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.resident-actions .ghost-button{border:1px solid var(--border);background:color-mix(in srgb,var(--accent)12%,var(--panel));border-radius:12px;justify-content:center;padding:10px 14px}.resident-logout{justify-content:center;margin-top:40px;display:flex}.resident-logout .ghost-button{border-radius:999px;justify-content:center;min-width:220px;padding:12px 36px}.vehicle-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.hint{color:var(--muted);font-size:.85rem}.empty-state{color:var(--muted);padding:var(--space-5);border-radius:var(--radius-lg);border:1px dashed color-mix(in srgb,var(--border)88%,transparent);background:color-mix(in srgb,var(--panel)82%,transparent);font-size:.88rem}.empty-state-card{justify-items:flex-start;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);border:1px dashed color-mix(in srgb,var(--border)88%,transparent);background:color-mix(in srgb,var(--panel)84%,transparent);display:grid}.empty-state-title{letter-spacing:-.02em;color:var(--text-strong);font-family:Roboto Flex,Roboto,sans-serif;font-size:1rem;font-weight:700}.empty-state-description{color:var(--muted);line-height:1.6}.empty-state-action{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-bar-grid{flex-wrap:wrap;gap:12px;display:flex}.form-section{gap:18px;display:grid}.form-section-header{margin-bottom:0}.form-section-copy{gap:6px;display:grid}.form-section-copy h3{letter-spacing:-.01em;color:var(--text-strong);margin:0;font-size:1rem;font-weight:700}.form-section-copy p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.6}.form-section-body{min-width:0}@media (max-width:960px){.app-shell{--admin-sidebar-width:1fr;grid-template-columns:1fr}.app-shell.sidebar-collapsed{--admin-sidebar-width:1fr}.sidebar{border-right:1px solid var(--border);z-index:30;width:min(320px,82vw);box-shadow:var(--shadow);border-bottom:none;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:20;background:#0f172a59;border:none;position:fixed;inset:0}.topbar{flex-wrap:nowrap;align-items:center;gap:10px;padding:16px;position:sticky}.topbar-toggle{flex:none}.topbar-user-group{flex:none;justify-content:flex-end;gap:10px;min-width:0}.topbar-user-group .user-info{display:none}.topbar-toggle-actions{flex:none;margin-left:0}.topbar-actions{border:1px solid var(--border);background:var(--panel-strong);width:min(220px,100vw - 32px);box-shadow:var(--shadow);z-index:25;border-radius:14px;flex-direction:column;align-items:stretch;gap:8px;padding:12px;display:none;position:absolute;top:calc(100% + 10px);right:16px}.topbar-actions.open{display:flex}.topbar-actions .ghost-button,.topbar-actions .primary-button,.topbar-actions .text-button{justify-content:center;width:100%}.notification-button{width:44px;height:44px}.admin-settings-button{height:44px}.notification-bell-icon{flex-basis:24px;width:24px;height:24px}.notification-popover{top:calc(env(safe-area-inset-top,0px) + 76px);width:auto;max-width:none;position:fixed;left:16px;right:16px}.admin-settings-item{flex-direction:column;align-items:flex-start}.admin-settings-item>.ghost-button.button-nav{width:100%}.topbar-context{flex:auto;min-width:0}.topbar-kicker{font-size:.7rem}.topbar-page-title{font-size:1rem}.notification-list{max-height:min(52vh,360px)}.menu-management{grid-template-columns:1fr}.page{padding:18px 16px 28px}.panel{border-radius:20px;padding:20px 18px}.panel-header{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:14px}.panel-actions,.button-row{flex-wrap:wrap;justify-content:flex-start;gap:10px;width:100%}.list-controls{flex-direction:column;gap:10px}.list-controls input,.list-controls select,.list-controls .ghost-button{width:100%;min-height:52px}.dashboard-filters,.form-grid,.detail-grid,.attachments-grid,.resident-actions{grid-template-columns:1fr}.admin-page-title{font-size:1.55rem}.admin-page-description{font-size:.95rem}.admin-page-actions{justify-content:flex-start;width:100%}.page-meta-pill{min-height:28px;font-size:.76rem}.dashboard-hero{gap:14px}.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid,.detail-overview-grid,.form-section-grid,.detail-split-grid{grid-template-columns:1fr}.dashboard-filters{gap:10px}.dashboard-filters .button-search,.primary-button,.ghost-button.button-search{min-height:52px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{min-height:52px;font-size:16px}.field textarea{min-height:120px}.section-box{border-radius:16px;padding:14px}.section-toggle{gap:10px}.section-toggle-main{width:calc(100% - 20px)}.section-toggle-summary{max-width:100%;font-size:.72rem;display:inline-block}.detail-item{padding:12px 0}.detail-page-panel .panel-header{align-items:stretch;gap:var(--space-4);flex-direction:column}.detail-page-panel .admin-page-header-main,.detail-page-header-main{gap:var(--space-2);display:grid}.detail-page-panel .admin-page-nav{flex:none}.detail-page-panel .admin-page-actions,.detail-page-actions-desktop{display:none!important}.detail-page-actions-mobile{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--border)88%,transparent);flex-wrap:wrap;display:flex}.detail-page-actions-mobile .ghost-button,.detail-page-actions-mobile .danger-button,.detail-page-actions-mobile .primary-button{min-height:48px}.vehicle-item,.menu-tree-item-row,.attachment-upload-header,.vehicle-section-header{flex-direction:column;align-items:flex-start}.vehicle-actions,.menu-management-actions,.attachment-upload-header>:last-child,.vehicle-section-header>:last-child{width:100%}.menu-management-actions .ghost-button,.menu-management-actions .primary-button,.attachment-upload-header .ghost-button,.attachment-upload-header .primary-button,.vehicle-section-header .ghost-button,.vehicle-section-header .primary-button,.panel-actions .ghost-button,.panel-actions .primary-button,.button-row .ghost-button,.button-row .primary-button{justify-content:center;width:100%}.section-header{align-items:start;column-gap:var(--space-3);row-gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.section-header-meta,.list-summary,.section-title-group{grid-column:1;min-width:0}.section-header-actions,.section-header>.action-group{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:nowrap;grid-column:2;width:auto;display:inline-flex}.section-header-excel-actions,.section-header-actions>.section-header-excel-actions{display:none}:is(button:has(.excel-action-label),label:has(.excel-action-label)){display:none!important}.section-header-excel-actions .ghost-button.button-nav{width:auto;min-width:44px;padding-inline:12px}.excel-action-label{display:none}.select-delete-icon{flex-basis:28px;width:28px;height:28px;display:inline-flex}.select-delete-label{display:none}.danger-button:has(.select-delete-icon){border-radius:16px;justify-content:center;width:52px;min-width:52px;min-height:52px;padding:0}.parking-list-section-header{align-items:center;column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.parking-list-section-header .section-title-group{min-width:0}.parking-list-actions{gap:0;margin-left:auto;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;width:auto!important}.section-header>.action-group.action-group-spaced{margin-right:0}.list-toolbar-cluster{align-items:center;column-gap:var(--space-3);row-gap:var(--space-2);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.list-toolbar-cluster>.danger-button,.list-toolbar-cluster>.primary-button,.list-toolbar-cluster>.ghost-button:not(.section-header-excel-actions){grid-area:1/2;justify-self:end}.list-toolbar-cluster>.visit-legend,.list-toolbar-cluster>.list-toolbar-note{grid-area:1/1;min-width:0}.list-toolbar-cluster>.action-group{grid-area:1/2;justify-self:end}.section-header-excel-actions .ghost-button.button-nav svg,.action-group.action-group-spaced>.ghost-button.button-nav svg{margin:0}.status-filter-group{width:100%;padding:10px 12px}.chart-svg{height:220px}.data-table th,.data-table td{padding:10px 8px;font-size:.9rem}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{border:1px solid color-mix(in srgb,var(--border)80%,transparent);background:color-mix(in srgb,var(--panel-strong)94%,#0b1220 6%);box-shadow:none;border-radius:18px;margin-bottom:12px;padding:14px 14px 12px}.data-table td{border-bottom:1px solid color-mix(in srgb,var(--border)65%,transparent);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;padding:7px 0;display:flex}.data-table td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);background:color-mix(in srgb,var(--accent)10%,var(--panel));min-height:22px;color:var(--accent-strong);letter-spacing:.01em;border-radius:999px;align-items:center;padding:0 8px;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}[data-theme=dark] .data-table tr{border-color:color-mix(in srgb,#fff 18%,var(--border))}.data-table td[colspan]:before{content:none}.table-actions{flex-wrap:wrap;width:auto}.table-actions .ghost-button,.table-actions .primary-button{justify-content:center;width:auto;min-height:38px}.vehicle-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"select status""plate status""location location""creator creator";align-items:start;gap:12px;display:grid}.vehicle-table td{box-shadow:none;background:0 0;border:none;gap:4px;padding:0}.vehicle-table td:before{display:none}.vehicle-table td[data-label=선택]{grid-area:select;align-self:start}.vehicle-table td[data-label=상태]{grid-area:status;place-self:start end}.vehicle-table td[data-label=차량번호]{grid-area:plate}.vehicle-table td[data-label=세대]{grid-area:location}.vehicle-table td[data-label=등록자]{grid-area:creator}.vehicle-table td[data-label=아파트],.vehicle-table td[data-label=동],.vehicle-table td[data-label=호],.vehicle-table td[data-label=차명],.vehicle-table td[data-label=차종],.vehicle-table td[data-label=생성일]{display:none}.vehicle-card-plate-main{font-size:1.18rem}.vehicle-card-plate-sub,.vehicle-card-location-secondary,.vehicle-card-created-at{color:var(--muted);font-size:.88rem;line-height:1.5;display:block}.vehicle-card-location-main,.vehicle-card-creator .creator-name{font-size:.95rem;font-weight:700;line-height:1.5}.vehicle-card-creator{gap:2px}.vehicle-card-creator .creator-type{justify-self:start}.list-card-subtitle,.list-card-meta,.resident-card-name,.resident-card-email,.resident-card-apartment,.guest-visit-card-plate-sub,.guest-visit-card-location-secondary,.vehicle-request-card-plate-sub,.vehicle-request-card-location-secondary{color:var(--muted);font-size:.88rem;line-height:1.5;display:block}.inquiry-table-shell{display:none}.inquiry-list-mobile{display:grid}.admins-table td,.apartments-table td,.household-table td,.residents-table td,.guest-visit-table td,.vehicle-request-table td,.resident-requests-table td,.parking-enforcements-table td{box-shadow:none;background:0 0;border:none;gap:4px;padding:0}.admins-table td:before,.apartments-table td:before,.household-table td:before,.residents-table td:before,.guest-visit-table td:before,.vehicle-request-table td:before,.resident-requests-table td:before,.parking-enforcements-table td:before{display:none}.admins-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status""role role";align-items:start;gap:12px;display:grid}.admins-table td[data-label=이름]{grid-area:identity}.admins-table td[data-label=상태]{grid-area:status;place-self:start end}.admins-table td[data-label=역할]{grid-area:role}.admins-table td[data-label=ID],.admins-table td[data-label=Email],.admins-table td[data-label=생성일],.admins-table td[data-label=수정일]{display:none}.apartments-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status";align-items:start;gap:12px;display:grid}.apartments-table td[data-label=이름]{grid-area:identity}.apartments-table td[data-label=상태]{grid-area:status;place-self:start end}.apartments-table td[data-label=ID],.apartments-table td[data-label=주소],.apartments-table td[data-label=공개\ ID],.apartments-table td[data-label=생성일]{display:none}.household-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"select status""name status""meta meta""actions actions";align-items:start;gap:12px;display:grid}.household-table td[data-label=선택]{grid-area:select}.household-table td[data-label=상태]{grid-area:status;place-self:start end}.household-table td[data-label=표시명]{grid-area:name}.household-table td[data-label=생성일]{grid-area:meta}.household-table td[data-label=관리]{grid-area:actions}.household-table td[data-label=ID],.household-table td[data-label=아파트],.household-table td[data-label=동],.household-table td[data-label=호]{display:none}.residents-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status""location location""phone phone""login login";align-items:start;gap:12px;display:grid}.residents-table td[data-label=사용자\ ID]{grid-area:identity}.residents-table td[data-label=상태]{grid-area:status;place-self:start end}.residents-table td[data-label=세대]{grid-area:location}.residents-table td[data-label=연락처]{grid-area:phone}.residents-table td[data-label=마지막\ 로그인]{grid-area:login}.residents-table td[data-label=Email],.residents-table td[data-label=이름],.residents-table td[data-label=아파트]{display:none}.resident-card-login{color:var(--muted);order:3;font-size:.84rem;font-weight:500}.resident-card-name{order:1;font-size:1.02rem;font-weight:700}.resident-card-email{order:2}.resident-card-household{font-size:.96rem}.guest-visit-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"select timing""plate booking""location location""period period""visitor visitor""creator creator";align-items:start;gap:12px;display:grid}.guest-visit-table td[data-label=선택]{grid-area:select}.guest-visit-table td[data-label=상태]{grid-area:timing;place-self:start end}.guest-visit-table td[data-label=차량번호]{grid-area:plate}.guest-visit-table td[data-label=예약\ 상태]{grid-area:booking;place-self:start end}.guest-visit-table td[data-label=세대]{grid-area:location}.guest-visit-table td[data-label=기간]{grid-area:period}.guest-visit-table td[data-label=방문자]{grid-area:visitor}.guest-visit-table td[data-label=등록자]{grid-area:creator}.guest-visit-table td[data-label=아파트],.guest-visit-table td[data-label=등록일],.guest-visit-table td[data-label=삭제일]{display:none}.guest-visit-card-plate-main{letter-spacing:-.02em;font-size:1.14rem}.vehicle-request-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status""location location""applicant applicant";align-items:start;gap:12px;display:grid}.vehicle-request-table td[data-label=차량번호]{grid-area:identity}.vehicle-request-table td[data-label=상태]{grid-area:status;place-self:start end}.vehicle-request-table td[data-label=세대]{grid-area:location}.vehicle-request-table td[data-label=신청자]{grid-area:applicant}.vehicle-request-table td[data-label=요청유형],.vehicle-request-table td[data-label=요청일]{display:none}.resident-requests-table tr{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity""location""created""actions";align-items:start;gap:12px;display:grid}.resident-requests-table td[data-label=이름]{grid-area:identity}.resident-requests-table td[data-label=세대]{grid-area:location}.resident-requests-table td[data-label=신청일]{grid-area:created}.resident-requests-table td[data-label=처리]{grid-area:actions}.resident-requests-table td[data-label=ID],.resident-requests-table td[data-label=Email],.resident-requests-table td[data-label=아파트]{display:none}.parking-enforcements-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"select status""plate status""reason reason""meta meta";align-items:start;gap:12px;display:grid}.parking-enforcements-table td[data-label=선택]{grid-area:select}.parking-enforcements-table td[data-label=상태]{grid-area:status;place-self:start end}.parking-enforcements-table td[data-label=번호판]{grid-area:plate}.parking-enforcements-table td[data-label=사유]{grid-area:reason}.parking-enforcements-table td[data-label=등록일]{grid-area:meta}.parking-enforcements-table td[data-label=아파트],.parking-enforcements-table td[data-label=증빙],.parking-enforcements-table td[data-label=상세]{display:none}.pagination{flex-wrap:wrap;justify-content:center}.qr-card-grid{grid-template-columns:1fr;display:grid}.qr-card{justify-items:center;width:100%}}@media (max-width:600px){.sidebar{width:min(300px,84vw);padding:20px 16px}.brand{padding:4px 8px 16px}.brand-title{font-size:1.12rem}.topbar{padding:calc(env(safe-area-inset-top,0px) + 12px)12px 12px;gap:8px}.topbar-user-group{gap:8px}.topbar-kicker{display:none}.user-name{font-size:.92rem}.user-email{display:none}.notification-popover,.topbar-actions{width:min(320px,100vw - 24px)}.notification-popover{top:calc(env(safe-area-inset-top,0px) + 72px);width:auto;max-width:none;left:12px;right:12px}.page{padding:14px 12px 24px}.dashboard-hero-copy h3{font-size:1.15rem}.admin-page-title{font-size:1.3rem}.admin-page-description{font-size:.9rem}.dashboard-metric-grid{grid-template-columns:1fr}.panel{border-radius:18px;padding:18px 14px}.panel h2{font-size:1.26rem}.muted,.notification-body{font-size:.92rem;line-height:1.5}.guest-visits-title-row,.auth-back-row{gap:8px}.section-box{padding:12px}.summary-card{border-radius:18px;padding:16px}.summary-card-value{font-size:1.55rem}.empty-state-card{border-radius:18px;padding:18px}.detail-overview-card{border-radius:16px;padding:14px 16px}.detail-overview-value{font-size:1.12rem}.section-toggle-main{gap:6px}.section-toggle-summary{font-size:.68rem}.data-table tr{padding:12px 14px}.data-table td{gap:5px;padding:6px 0}.data-table td:before{min-height:20px;padding:0 7px;font-size:.69rem}.vehicle-table tr{gap:10px}.vehicle-card-plate-main{font-size:1.08rem}.vehicle-card-plate-sub,.vehicle-card-location-secondary,.vehicle-card-created-at,.list-card-subtitle,.list-card-meta,.resident-card-login,.resident-card-email,.resident-card-apartment,.guest-visit-card-plate-sub,.guest-visit-card-location-secondary,.vehicle-request-card-plate-sub,.vehicle-request-card-location-secondary{font-size:.82rem}.status-badge{padding:4px 9px;font-size:11px}.creator-meta,.guest-visit-period,.vehicle-meta,.notification-meta{font-size:.82rem}.table-actions{gap:6px}.table-actions .ghost-button,.table-actions .primary-button,.table-actions .danger-button{border-radius:999px;padding:7px 11px;font-size:.8rem}.guest-visit-plate-cell,.guest-visit-plate-heading,.button-row,.panel-actions,.table-actions,.menu-management-actions{gap:8px}.form-submit-row{flex-direction:column-reverse;align-items:stretch}.form-submit-row .ghost-button,.form-submit-row .primary-button,.form-submit-row .danger-button{justify-content:center;width:100%}}
