:root{--admin-bg: #eef1f5;--admin-panel: #ffffff;--admin-line: #e3e8ef;--admin-navy: #13233f;--admin-muted: #6b7280;--admin-accent: #1f6b5c;--admin-accent-soft: #e8f4f1;--admin-yellow: #f4c430;--admin-orange: #e67e22;--admin-purple: #7c5cbf;--admin-blue: #3b82f6}*{box-sizing:border-box}body.admin-body{margin:0;font-family:Pretendard,Noto Sans KR,system-ui,sans-serif;background:var(--admin-bg);color:var(--admin-navy)}.admin-root{min-height:100vh;position:relative}.admin-login[hidden],.admin-shell[hidden],body.admin-body.admin-authed .admin-login{display:none!important}body.admin-body:not(.admin-authed) .admin-shell{display:none!important}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-card{width:min(420px,100%);background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:18px;padding:36px 32px;box-shadow:0 18px 48px #13233f14}.admin-login-card h1{margin:0 0 8px;font-size:28px}.admin-login-card p{margin:0 0 24px;color:var(--admin-muted);font-size:14px}.admin-login-card label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.admin-login-card input{width:100%;height:48px;border:1px solid var(--admin-line);border-radius:12px;padding:0 14px;font-size:15px;margin-bottom:16px}.admin-login-card button,.admin-btn{height:44px;border:none;border-radius:12px;background:var(--admin-navy);color:#fff;font-weight:700;font-size:14px;cursor:pointer;padding:0 18px}.admin-login-error{color:#c0392b;font-size:13px;min-height:20px;margin-bottom:8px}.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.admin-sidebar{background:var(--admin-panel);border-right:1px solid var(--admin-line);padding:28px 20px;display:flex;flex-direction:column;gap:24px}.admin-brand small{display:block;color:var(--admin-muted);letter-spacing:.18em;font-weight:800;margin-bottom:6px}.admin-brand h1{margin:0;font-size:30px}.admin-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-logout{background:none;border:none;color:var(--admin-muted);font-size:13px;cursor:pointer;text-decoration:underline}.admin-menu-label{font-size:12px;color:var(--admin-muted);margin-bottom:10px}.admin-menu{display:grid;gap:8px}.admin-menu button{text-align:left;border:1px solid var(--admin-line);background:#fff;border-radius:14px;padding:14px 16px;font-size:15px;font-weight:700;cursor:pointer}.admin-menu button.active{background:var(--admin-navy);border-color:var(--admin-navy);color:#fff}.admin-main{padding:28px}.admin-panel{background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:18px;padding:28px;box-shadow:0 10px 30px #13233f0d}.admin-panel h2{margin:0 0 6px;font-size:28px}.admin-panel-sub{margin:0 0 24px;color:var(--admin-muted);font-size:14px}.stats-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px}.stats-toolbar input{height:40px;border:1px solid var(--admin-line);border-radius:10px;padding:0 12px}.stats-quick{display:flex;flex-wrap:wrap;gap:8px}.stats-quick button,.stats-toolbar .admin-btn-secondary{height:40px;border:1px solid var(--admin-line);background:#fff;border-radius:10px;padding:0 14px;cursor:pointer;font-weight:600}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat-card{border:1px solid var(--admin-line);border-radius:16px;padding:18px;background:#fafbfd}.stat-card strong{display:block;font-size:13px;color:var(--admin-muted);margin-bottom:8px}.stat-card .num{font-size:30px;font-weight:900}.stat-card .sub{margin-top:8px;font-size:12px;color:var(--admin-muted);line-height:1.5}.stat-kr .num{color:var(--admin-accent)}.stat-foreign .num{color:var(--admin-purple)}.stat-pc .num{color:var(--admin-blue)}.stat-mobile .num{color:var(--admin-orange)}.stats-table-wrap{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table th,.stats-table td{border-bottom:1px solid var(--admin-line);padding:12px 10px;text-align:center;white-space:nowrap}.stats-table th{background:#f7f9fc;font-size:13px}.stats-table td:first-child,.stats-table th:first-child{text-align:left}.stats-table .date-link{border:none;background:none;padding:0;font:inherit;font-weight:700;color:var(--admin-navy);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.stats-table .date-link:hover{color:var(--admin-accent)}.stats-pager{margin-top:20px;display:flex;justify-content:center}.nate-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:1px solid var(--admin-line);border-radius:12px;background:#fafbfd}.nate-pager-nav,.nate-pager-num{min-width:36px;height:36px;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:var(--admin-navy);font-size:13px;font-weight:600;cursor:pointer;padding:0 10px}.nate-pager-nav:disabled{opacity:.4;cursor:not-allowed}.nate-pager-nums{display:flex;flex-wrap:wrap;gap:4px}.nate-pager-num.active{background:var(--admin-navy);border-color:var(--admin-navy);color:#fff;font-weight:800}.nate-pager-info{margin-left:8px;font-size:12px;color:var(--admin-muted);white-space:nowrap}.stats-table .hour-btn{border:1px solid var(--admin-line);background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:12px}.stats-note{margin-top:16px;font-size:12px;color:var(--admin-muted);line-height:1.6}.admin-modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:none;place-items:center;padding:20px;z-index:1000}.admin-modal-backdrop.open{display:grid}.admin-modal{width:min(920px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px}.admin-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.admin-hour-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-hour-col h3{margin:0 0 12px;font-size:16px}.admin-hour-list{border:1px solid var(--admin-line);border-radius:14px;overflow:hidden}.admin-hour-row{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--admin-line);font-size:13px}.admin-hour-row:last-child{border-bottom:none}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--admin-line)}.admin-hour-grid{grid-template-columns:1fr}}
