*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg-primary:#fafbfc;--bg-card:#ffffff;--bg-sidebar:#1e293b;--sidebar-border:#334155;--sidebar-text:#e2e8f0;--sidebar-text-muted:#94a3b8;--sidebar-active-bg:#334155;--text-primary:#1e293b;--text-secondary:#64748b;--accent:#059669;--accent-hover:#047857;--border:#e2e8f0;--input-bg:#ffffff;--success:#059669;--error:#dc2626;--btn-secondary-bg:#f1f5f9;--btn-secondary-hover:#e2e8f0;--bg-hover:#f1f5f9;--badge-success-bg:#d1fae5;--badge-success-text:#065f46;--badge-warning-bg:#fef3c7;--badge-warning-text:#92400e;--badge-error-bg:#fee2e2;--badge-error-text:#991b1b;--toggle-bg:#cbd5e1;--modal-overlay:rgba(0,0,0,0.5);--dashboard-card-shadow:0 1px 3px rgba(0,0,0,0.06);--dashboard-card-hover-shadow:0 8px 24px rgba(5,150,105,0.15);--dashboard-stat-icon-bg-1:linear-gradient(135deg,#a3a042,#8b8630);--dashboard-stat-icon-bg-2:linear-gradient(135deg,#4ade80,#22c55e);--dashboard-stat-icon-bg-3:linear-gradient(135deg,#60a5fa,#3b82f6);--dashboard-stat-icon-bg-4:linear-gradient(135deg,#54a9eb,#229ed9);--dashboard-stat-icon-bg-5:linear-gradient(135deg,#7360f2,#5b4ae0)}[data-theme=dark]{--bg-primary:#1e293b;--bg-card:#334155;--bg-sidebar:#0f172a;--sidebar-border:#1e293b;--sidebar-text:#e2e8f0;--sidebar-text-muted:#94a3b8;--sidebar-active-bg:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--accent:#10b981;--accent-hover:#34d399;--border:#475569;--input-bg:#334155;--success:#34d399;--error:#f87171;--btn-secondary-bg:#334155;--btn-secondary-hover:#475569;--bg-hover:#475569;--badge-success-bg:#064e3b;--badge-success-text:#6ee7b7;--badge-warning-bg:#78350f;--badge-warning-text:#fcd34d;--badge-error-bg:#7f1d1d;--badge-error-text:#fca5a5;--toggle-bg:#475569;--modal-overlay:rgba(0,0,0,0.7);--dashboard-card-shadow:0 1px 3px rgba(0,0,0,0.2);--dashboard-card-hover-shadow:0 8px 24px rgba(16,185,129,0.3);--dashboard-stat-icon-bg-1:linear-gradient(135deg,#a3a042,#8b8630);--dashboard-stat-icon-bg-2:linear-gradient(135deg,#34d399,#22c55e);--dashboard-stat-icon-bg-3:linear-gradient(135deg,#60a5fa,#3b82f6);--dashboard-stat-icon-bg-4:linear-gradient(135deg,#54a9eb,#229ed9);--dashboard-stat-icon-bg-5:linear-gradient(135deg,#7360f2,#5b4ae0)}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:clip}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:24px;margin-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background-color .2s}.btn-primary{background-color:var(--accent);color:white}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--btn-secondary-hover)}.btn-danger{background-color:var(--error);color:white}.btn-danger:hover{background-color:#b91c1c}.btn-sm{padding:6px 12px;font-size:12px;border-radius:6px}.btn:disabled{opacity:.4;cursor:not-allowed}input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--input-bg);transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(5,150,105,.15)}textarea{resize:vertical;min-height:100px}label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.toggle-container{display:flex;align-items:center;gap:10px}.toggle{position:relative;width:48px;height:26px;border-radius:13px;background-color:var(--toggle-bg);cursor:pointer;transition:background-color .2s}.toggle.active{background-color:var(--success)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;transition:transform .2s}.toggle.active:after{transform:translateX(22px)}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-text)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.badge-error{background:var(--badge-error-bg);color:var(--badge-error-text)}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.page-header p{font-size:14px;color:var(--text-secondary);margin-top:4px}.admin-shell{display:flex;min-height:100vh;background-color:var(--bg-primary)}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;width:260px;overflow:hidden;transition:width .2s ease,transform .2s ease}.admin-sidebar.is-closed{width:0}.admin-sidebar-inner{width:260px;min-height:100vh;display:flex;flex-direction:column}.admin-sidebar-backdrop{position:fixed;inset:0;z-index:45;border:none;padding:0;background:rgba(15,23,42,.55);cursor:pointer}.admin-main{flex:1 1;min-width:0;max-width:100%;margin-left:260px;padding:32px 40px;background-color:var(--bg-primary);transition:margin-left .2s ease}.admin-shell.nav-closed .admin-main{margin-left:0;padding-top:72px;padding-left:68px}.admin-menu-btn{display:none;position:fixed;left:12px;top:16px;z-index:40;width:44px;height:44px;border-radius:8px;border:1px solid var(--border);background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center;font-size:20px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.admin-shell.nav-closed .admin-menu-btn{display:flex}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.password-toggle:hover{color:var(--text-primary);background:rgba(148,163,184,.16)}.login-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-primary);padding:16px}.login-card{width:100%;max-width:400px;padding:28px 20px}@media (min-width:480px){.login-card{padding:32px}}@media (max-width:1024px){.admin-sidebar,.admin-sidebar.is-closed,.admin-sidebar.is-open{width:min(280px,88vw);transform:translateX(-105%)}.admin-sidebar.is-open.nav-interactive{transform:translateX(0);box-shadow:8px 0 24px rgba(0,0,0,.28)}.admin-sidebar-inner{width:100%}.admin-main,.admin-shell.nav-closed .admin-main,.admin-shell.nav-open .admin-main{margin-left:0;padding:72px 20px 28px}.admin-menu-btn,.admin-shell.is-mobile .admin-menu-btn,.admin-shell.nav-closed .admin-menu-btn,.admin-shell.nav-open .admin-menu-btn{display:flex}.admin-shell.nav-open .admin-sidebar.is-open.nav-interactive~.admin-main .admin-menu-btn{display:none}}body.admin-nav-open{overflow:hidden}.dashboard-page{width:100%;max-width:none;padding-bottom:32px}@media (min-width:640px){.dashboard-page{padding-bottom:48px}}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}@media (min-width:640px){.dashboard-header{margin-bottom:28px;padding-bottom:24px;gap:16px}}.dashboard-header-text{flex:1 1;min-width:0}.dashboard-header h1{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}@media (min-width:640px){.dashboard-header h1{font-size:26px}}.dashboard-header p{font-size:13px;color:var(--text-secondary);margin:4px 0 0}@media (min-width:640px){.dashboard-header p{font-size:14px;margin:6px 0 0}}.dashboard-refresh-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:color .2s,background .2s,border-color .2s}@media (min-width:640px){.dashboard-refresh-btn{width:40px;height:40px;border-radius:10px}}.dashboard-refresh-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-hover,var(--border))}.dashboard-refresh-btn:disabled{cursor:not-allowed;opacity:.8}@keyframes dashboard-refresh-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-gap:12px;gap:12px;margin-bottom:24px;width:100%}@media (min-width:640px){.dashboard-stats{gap:16px;margin-bottom:28px}}.dashboard-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 12px;display:flex;align-items:center;gap:12px;min-width:0;width:100%;min-height:88px;box-shadow:var(--dashboard-card-shadow);transition:border-color .2s,box-shadow .2s}@media (min-width:640px){.dashboard-stat-card{border-radius:12px;padding:18px 20px;gap:16px}}@media (min-width:900px){.dashboard-stat-card{padding:22px 24px;gap:18px}}.dashboard-stat-card:hover{border-color:var(--accent);box-shadow:var(--dashboard-card-hover-shadow)}.dashboard-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}@media (min-width:640px){.dashboard-stat-icon{width:48px;height:48px;border-radius:12px;font-size:22px}}.dashboard-stat-icon-1{background:var(--dashboard-stat-icon-bg-1)}.dashboard-stat-icon-2{background:var(--dashboard-stat-icon-bg-2)}.dashboard-stat-icon-3{background:var(--dashboard-stat-icon-bg-3)}.dashboard-stat-icon-4{background:var(--dashboard-stat-icon-bg-4)}.dashboard-stat-icon-4,.dashboard-stat-icon-5{display:flex;align-items:center;justify-content:center;color:#fff}.dashboard-stat-icon-5{background:var(--dashboard-stat-icon-bg-5)}.dashboard-stat-body{min-width:0;flex:1 1}.dashboard-stat-label{font-size:10px;font-weight:500;color:var(--text-secondary);margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;overflow-wrap:anywhere}@media (min-width:640px){.dashboard-stat-label{font-size:12px;margin-bottom:4px}}.dashboard-stat-value{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.dashboard-stat-subtitle{font-size:10px;color:var(--text-secondary);margin-top:2px;line-height:1.3;overflow-wrap:anywhere}@media (min-width:640px){.dashboard-stat-value{font-size:24px}.dashboard-stat-subtitle{font-size:11px;margin-top:4px}}@media (min-width:900px){.dashboard-stat-value{font-size:26px}}a.dashboard-stat-clickable{text-decoration:none;color:inherit;position:relative;transition:border-color .2s,box-shadow .2s}a.dashboard-stat-clickable:after{content:"›";position:absolute;top:10px;right:12px;font-size:16px;color:var(--text-secondary);opacity:0;transition:opacity .2s}a.dashboard-stat-clickable:hover:after{opacity:1}a.dashboard-stat-clickable:active{transform:scale(.98)}.history-page{width:100%;max-width:none;padding-bottom:48px}.history-page-header{margin-bottom:24px}.history-back-link{display:inline-block;font-size:13px;color:var(--accent);text-decoration:none;margin-bottom:12px;transition:opacity .15s}.history-back-link:hover{opacity:.8}.history-page-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.history-page-summary{font-size:13px;color:var(--text-secondary);margin:0}.history-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.history-month-nav-controls{display:flex;align-items:center;gap:8px}.history-month-label{min-width:140px;text-align:center;font-size:14px;font-weight:600;color:var(--text-primary)}.history-month-total{font-size:13px;color:var(--text-secondary);padding:8px 16px}.history-month-total,.history-table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.history-table-container{max-width:100%;overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:14px}.history-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:12px 16px;background:var(--bg-card);border-bottom:2px solid var(--border)}.history-table td{padding:11px 16px;border-bottom:1px solid var(--border);color:var(--text-primary)}.history-table tbody tr:hover{background:var(--bg-hover)}.history-table tfoot td{border-bottom:none;border-top:2px solid var(--border);padding-top:14px;padding-bottom:14px}.history-count{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-row-num{color:var(--text-secondary);width:40px}.history-table th:last-child{text-align:right}.history-th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}.history-th-sortable:hover{color:var(--text-primary)}.history-th-right{text-align:right;justify-content:flex-end}.history-sort-icon{display:inline-block;vertical-align:middle;margin-left:4px;position:relative;top:-1px}.history-pagination{display:flex;gap:4px;margin-top:16px;flex-wrap:wrap}.history-page-btn,.history-pagination{align-items:center;justify-content:center}.history-page-btn{min-width:36px;height:36px;display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px;cursor:pointer;padding:0 8px;transition:background .15s,border-color .15s}.history-page-btn:hover:not(:disabled):not(.active){background:var(--bg-hover);border-color:var(--accent)}.history-page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.history-page-btn:disabled{opacity:.35;cursor:default}.history-page-dots{min-width:28px;text-align:center;color:var(--text-secondary);font-size:14px;line-height:36px}.history-date-groups{display:flex;flex-direction:column;gap:10px}.history-date-group{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.history-date-header{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s}.history-date-header:hover{background:var(--bg-hover)}.history-date-chevron{font-size:10px;color:var(--text-secondary);width:14px;flex-shrink:0}.history-date-label{font-size:14px;font-weight:600;color:var(--text-primary)}.history-date-count{font-size:11px;color:var(--text-secondary);background:var(--bg-hover);padding:2px 8px;border-radius:10px;margin-left:auto}.history-date-body{border-top:1px solid var(--border);max-width:100%;overflow-x:auto}.history-date-body .history-table{font-size:13px}.history-date-body .history-table th{font-size:10px;padding:8px 16px}.history-date-body .history-table td{padding:9px 16px}.history-device-id{font-family:SF Mono,Fira Code,monospace;font-size:12px;letter-spacing:-.3px}.history-time{color:var(--text-secondary);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-section{width:100%;margin-bottom:20px}@media (min-width:640px){.dashboard-section{margin-bottom:28px}}.dashboard-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;letter-spacing:.03em;text-transform:uppercase}@media (min-width:640px){.dashboard-section-title{font-size:13px;margin-bottom:14px}}.dashboard-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));grid-gap:12px;gap:12px;width:100%}@media (min-width:640px){.dashboard-content-grid{gap:16px}}.dashboard-content-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 12px;text-align:center;min-width:0;width:100%;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--dashboard-card-shadow);transition:border-color .2s,box-shadow .2s}@media (min-width:640px){.dashboard-content-card{border-radius:10px;padding:18px 16px}}.dashboard-content-card:hover{border-color:var(--accent);box-shadow:var(--dashboard-card-hover-shadow)}.dashboard-content-card .icon{width:36px;height:36px;margin:0 auto 8px;font-size:28px;line-height:1;opacity:.95;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:4px}@media (min-width:640px){.dashboard-content-card .icon{width:44px;height:44px;margin:0 auto 10px;font-size:36px}}.dashboard-content-card .icon>*{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}@media (min-width:640px){.dashboard-content-card .icon>*{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}}.dashboard-content-card .icon img{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;object-fit:contain;display:block;margin:0 auto}@media (min-width:640px){.dashboard-content-card .icon img{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important}}.dashboard-content-card .value{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.3}@media (min-width:640px){.dashboard-content-card .value{font-size:20px}}.dashboard-content-card .label{font-size:10px;color:var(--text-secondary);margin-top:2px;line-height:1.35}@media (min-width:640px){.dashboard-content-card .label{font-size:11px;margin-top:4px}}.dashboard-trends-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.dashboard-trends-header .dashboard-section-title{margin-bottom:0}.dashboard-range-toggle{display:flex;gap:6px}.dashboard-range-toggle button{min-width:44px;height:32px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}.dashboard-range-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.dashboard-range-toggle button:disabled{opacity:.45;cursor:default}.dashboard-trends-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.dashboard-trend-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;box-shadow:var(--dashboard-card-shadow);color:inherit;text-decoration:none}.dashboard-trend-kpi.is-hidden{opacity:.45}.dashboard-trend-kpi-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dashboard-trend-kpi-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.dashboard-trend-kpi-value{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.dashboard-trend-kpi-caption{font-size:11px;color:var(--text-secondary)}.dashboard-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--dashboard-card-shadow);margin-bottom:12px;min-width:0;max-width:100%}.recharts-legend-wrapper{width:100%!important}.recharts-default-legend{display:flex!important;flex-wrap:wrap;justify-content:center;row-gap:4px}.dashboard-chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.dashboard-chart-card-head-copy{min-width:0}.dashboard-chart-card-head a{flex-shrink:0;font-size:12px;color:var(--accent);text-decoration:none}.dashboard-chart-card-head h3{margin:0;font-size:14px;font-weight:650;color:var(--text-primary)}.dashboard-chart-card-head p{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.dashboard-chart-wrap{width:100%;min-width:0;max-width:100%;height:280px;margin-top:8px}.dashboard-chart-wrap .recharts-responsive-container{width:100%!important;max-width:100%;min-width:0!important}.dashboard-chart-wrap-short{height:220px}@media (max-width:539px){.dashboard-chart-wrap{height:240px}}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:12px;gap:12px;align-items:stretch}.dashboard-chart-grid .dashboard-chart-card{margin-bottom:0;min-width:0}.dashboard-chart-tooltip{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:var(--dashboard-card-hover-shadow);min-width:160px}.dashboard-chart-tooltip-date{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.dashboard-chart-tooltip-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--text-secondary);margin-top:4px}.dashboard-chart-tooltip-row strong{color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:16px;gap:16px}.success-message{color:var(--success)}.error-message,.success-message{font-size:14px;margin-top:8px;font-weight:500}.error-message{color:var(--error)}body.modal-open{overflow:hidden}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:var(--bg-card);border-radius:12px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.confirm-modal .btn{min-width:80px}.announcement-page{width:100%;max-width:none;padding-bottom:48px}.announcement-page .page-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}.announcement-page .page-header h1{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.announcement-page .page-header p{font-size:14px;color:var(--text-secondary);margin:6px 0 0}.announcement-page .card{margin-bottom:24px;box-shadow:var(--dashboard-card-shadow)}.announcement-page .card:last-of-type{margin-bottom:0}.section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px;letter-spacing:.01em}.announcement-list{display:flex;flex-direction:column;gap:0;margin:0 -24px -24px}.announcement-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-radius:0;border:none;border-top:1px solid var(--border);background:var(--bg-primary);transition:background .2s}.announcement-list .announcement-item:last-child{padding-bottom:24px}.announcement-item.active{background:var(--badge-success-bg);border-color:var(--success)}.announcement-item.active .announcement-item-text{color:var(--badge-success-text)}.announcement-item.inactive{background:var(--bg-card)}[data-theme=dark] .announcement-item{border-top-color:var(--border)}[data-theme=dark] .announcement-item.inactive{background:var(--bg-primary)}[data-theme=dark] .announcement-item.active{background:#064e3b;border-top-color:var(--success)}[data-theme=dark] .announcement-item.active .announcement-item-text{color:#6ee7b7}[data-theme=dark] .announcement-item.active .badge-success{background:rgba(110,231,183,.2);color:#6ee7b7}.announcement-item-body{flex:1 1;min-width:0}.announcement-item-text{font-size:14px;color:var(--text-primary);line-height:1.5;margin:0}.announcement-item-badge{margin-top:8px;display:inline-block}.announcement-item-actions{display:flex;gap:8px;flex-shrink:0}.announcement-item-actions .btn{font-size:12px;padding:8px 14px;border-radius:8px}.announcement-empty,.announcement-loading{font-size:14px;color:var(--text-secondary);margin:0;padding:8px 0}.contacts-page{width:100%;max-width:none;padding-bottom:48px}.contacts-page .page-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}.contacts-page .page-header h1{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.contacts-page .page-header p{font-size:14px;color:var(--text-secondary);margin:6px 0 0}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:24px;gap:24px}.contacts-section{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--dashboard-card-shadow)}.contacts-section:hover{border-color:var(--accent);box-shadow:var(--dashboard-card-hover-shadow)}.contacts-section-header{display:flex;align-items:center;gap:10px;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-primary)}.contacts-section-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.contacts-section-body{padding:24px}.contacts-section .form-group{margin-bottom:16px}.contacts-section .form-group:last-of-type{margin-bottom:20px}.contacts-section .form-group label{font-size:13px;color:var(--text-secondary)}.contacts-section .form-group label .optional{font-weight:400;color:var(--text-secondary);opacity:.9}.contacts-section .input-preview{cursor:default;opacity:.9;background:var(--bg-primary)}.contacts-section input:disabled.input-preview{color:var(--text-secondary)}.contacts-add-btn{margin-bottom:24px}.contacts-list{display:flex;flex-direction:column;gap:0;margin:0 -24px -24px}.contacts-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-top:1px solid var(--border);background:var(--bg-primary);transition:background .2s}.contacts-list .contacts-item:last-child{padding-bottom:24px}[data-theme=dark] .contacts-item{border-top-color:var(--border)}.contacts-item-body{flex:1 1;min-width:0}.contacts-item-primary{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.contacts-item-secondary{font-size:12px;color:var(--text-secondary);margin:4px 0 0;word-break:break-all}.contacts-item-actions .btn{font-size:12px;padding:8px 14px;border-radius:8px}.contacts-empty,.contacts-loading{font-size:14px;color:var(--text-secondary);margin:0;padding:12px 0}.notifications-page{width:100%;max-width:none;padding-bottom:48px}.notifications-page .page-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}.notifications-page .page-header h1{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.notifications-page .page-header p{font-size:14px;color:var(--text-secondary);margin:6px 0 0}.notifications-page .card{margin-bottom:24px;box-shadow:var(--dashboard-card-shadow);border-radius:14px;overflow:hidden}.notifications-page .card:last-of-type{margin-bottom:0}.notifications-page .section-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0 0 20px;letter-spacing:-.01em}.notifications-send-btn{display:inline-flex;align-items:center;gap:8px}.notifications-list{display:flex;flex-direction:column;gap:0;margin:0 -24px -24px}.notifications-item{display:flex;align-items:flex-start;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-primary);transition:background .2s}.notifications-delete-btn{flex-shrink:0;align-self:center}.notifications-list .notifications-item:first-child{border-top:none}.notifications-list .notifications-item:last-child{padding-bottom:24px}[data-theme=dark] .notifications-item{border-top-color:var(--border)}.notifications-item-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.notifications-item-body{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:4px 0 0}.notifications-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.notifications-item-meta .badge{font-size:11px}.notifications-item-meta-count{font-size:12px;color:var(--text-secondary)}.notifications-item-meta-date{font-size:11px;color:var(--text-secondary);opacity:.85;margin-left:auto}.notifications-empty,.notifications-loading{font-size:14px;color:var(--text-secondary);margin:0;padding:12px 0}.popup-page{width:100%;max-width:none;padding-bottom:48px}.popup-page .page-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}.popup-page .page-header h1{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.popup-page .page-header p{font-size:14px;color:var(--text-secondary);margin:6px 0 0}.popup-page .card{box-shadow:var(--dashboard-card-shadow)}.popup-page .toggle-label{font-size:14px;color:var(--text-primary)}.stats-detail-page{width:100%;max-width:none;padding-bottom:48px}.stats-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.stats-detail-header h1{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.stats-detail-header p{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.stats-detail-summary{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.stats-detail-summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 20px}.stats-detail-table{width:100%;border-collapse:collapse;font-size:14px}.stats-detail-table thead tr{border-bottom:2px solid var(--border);background:var(--bg-card)}.stats-detail-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:12px 20px}.stats-detail-table td{padding:11px 20px;border-bottom:1px solid var(--border);color:var(--text-primary)}.stats-detail-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg-card))}.stats-detail-table tbody tr:last-child td{border-bottom:none}.stats-detail-pagination{padding:12px 20px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent) 3%,var(--bg-card))}.stats-detail-month-nav,.stats-detail-pagination{display:flex;align-items:center;justify-content:space-between}.stats-detail-month-nav{margin-bottom:20px;flex-wrap:wrap;gap:12px}.stats-detail-date-header{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--text-primary);text-align:left;transition:background .15s}.stats-detail-date-header:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg-card))}.stats-detail-date-badge{font-size:12px;color:var(--text-secondary);background:color-mix(in srgb,var(--accent) 10%,var(--bg-primary));padding:2px 10px;border-radius:20px;font-weight:500}.guide-edit-modal{max-width:520px}.guide-edit-modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 20px}.guide-edit-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.guide-edit-modal-actions .btn{min-width:88px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.guide-image-dropzone{margin-top:8px;width:100%;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;border:2px dashed var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:border-color .2s,background .2s}.guide-image-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-primary))}.guide-image-dropzone:disabled{opacity:.5;cursor:not-allowed}.guide-image-dropzone svg{opacity:.45}.guide-image-dropzone-text{font-size:13px;font-weight:500}.guide-image-preview{margin-top:8px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-primary)}.guide-image-preview img{width:100%;max-height:200px;object-fit:contain;display:block}.guide-image-preview-actions{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-card)}.guide-image-action-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;margin:0;font-size:12px;font-weight:500;line-height:1;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s;box-sizing:border-box;min-width:0}button.guide-image-action-btn,label.guide-image-action-btn{height:36px}.guide-image-action-btn:hover{border-color:var(--accent);color:var(--accent)}.guide-image-action-btn:disabled{opacity:.5;cursor:not-allowed}.guide-image-action-btn--remove:hover{border-color:#ef4444;color:#ef4444}.guides-page{width:100%;max-width:none;padding-bottom:48px}.guides-page .page-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border)}.guides-page .page-header h1{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.guides-page .page-header p{font-size:14px;color:var(--text-secondary);margin:6px 0 0}.guides-list{display:flex;flex-direction:column;gap:24px}.guide-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--dashboard-card-shadow);transition:border-color .2s,box-shadow .2s}.guide-card:hover{border-color:var(--accent);box-shadow:var(--dashboard-card-hover-shadow)}.guide-card-inner{padding:24px}.guide-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.guide-card-badge{margin-bottom:6px;display:inline-block}.guide-card-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.guide-card-body{font-size:14px;color:var(--text-secondary);line-height:1.65;margin:0 0 12px}.guide-card-thumb{margin-top:12px}.guide-card-thumb img{width:100%;max-height:140px;object-fit:contain;border-radius:8px;background:var(--bg-primary)}.guide-card-image-block{margin-top:20px;border-radius:10px;border:1px dashed var(--border);background:var(--bg-primary);min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative}.guide-card-image-block.has-image{border-style:solid;padding:0;min-height:0}.guide-card-image-block img{width:100%;max-height:220px;object-fit:contain;border-radius:10px;display:block}.guide-card-image-placeholder{text-align:center;color:var(--text-secondary);font-size:13px;margin-bottom:12px}.guide-card-image-placeholder-icon{font-size:32px;opacity:.5;margin-bottom:8px;display:block}.guide-card-upload-btn{font-size:13px;padding:8px 16px;border-radius:8px;font-weight:500}.guide-card-image-block.has-image .guide-card-upload-wrap{margin-top:12px;padding:12px 20px 0;border-top:1px solid var(--border);width:100%}.guide-card-upload-wrap{display:flex;justify-content:center}.guides-empty,.guides-loading{font-size:14px;color:var(--text-secondary);margin:0;padding:8px 0}.guides-empty.card{padding:24px}.settings-page{width:100%;max-width:none;padding-bottom:48px}.settings-header{margin-bottom:32px}.settings-header h1{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin:0}.settings-header p{margin:6px 0 0}.settings-header p,.settings-loading{font-size:14px;color:var(--text-secondary)}.settings-loading{padding:24px 0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:24px;gap:24px}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:border-color .2s,box-shadow .2s}.settings-card:hover{border-color:color-mix(in srgb,var(--accent) 25%,var(--border));box-shadow:0 4px 12px rgba(0,0,0,.06)}.settings-card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.settings-card-icon{width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.settings-card-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 2px;letter-spacing:-.01em}.settings-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.45;margin:0}.settings-name-block{display:flex;flex-direction:column;gap:12px}.settings-label{font-size:13px;font-weight:600;color:var(--text-secondary);display:block}.settings-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--input-bg);transition:border-color .2s}.settings-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.settings-btn-save{font-size:13px;padding:10px 18px;border-radius:8px;align-self:flex-start}@media (max-width:1024px){.settings-page{padding-bottom:32px}.settings-header{margin-bottom:24px}.settings-header h1{font-size:20px}.settings-card{padding:20px}.settings-card-header{margin-bottom:18px;gap:12px}.settings-card-icon{width:36px;height:36px;font-size:16px}.settings-card-title{font-size:14px}.settings-card-desc{font-size:12px}}@media (max-width:640px){.settings-page{padding-bottom:24px}.settings-header{margin-bottom:20px}.settings-header h1{font-size:18px}.settings-header p{font-size:13px}.settings-grid{gap:20px}.settings-card{padding:16px;border-radius:12px}.settings-card-header{flex-direction:column;align-items:flex-start;margin-bottom:16px;gap:10px}.settings-card-icon{width:32px;height:32px;font-size:14px}.settings-card-title{font-size:14px}.settings-card-desc{font-size:12px}.settings-name-block{gap:10px}.settings-label{font-size:12px}.settings-input{padding:10px 12px;font-size:16px}.settings-btn-save{width:100%;justify-content:center;padding:12px 18px}}@media (max-width:480px){.guide-image-preview-actions{flex-direction:column;padding:12px}.guide-image-action-btn{width:100%;min-width:0}.guide-image-preview img{max-height:160px}}@media (max-width:640px){.admin-main,.admin-shell.nav-closed .admin-main,.admin-shell.nav-open .admin-main{padding:72px 16px 24px}.announcement-page .page-header h1,.contacts-page .page-header h1,.guides-page .page-header h1,.history-page-header h1,.notifications-page .page-header h1,.popup-page .page-header h1,.settings-header h1,.stats-detail-header h1{font-size:20px}.announcement-page .page-header,.contacts-page .page-header,.guides-page .page-header,.notifications-page .page-header,.popup-page .page-header,.stats-detail-header{margin-bottom:16px;padding-bottom:16px}.card,.contacts-section-body,.guide-card-inner,.settings-card{padding:16px}.announcement-list,.contacts-list,.notifications-list{margin-left:-16px;margin-right:-16px;margin-bottom:-16px}.announcement-item,.contacts-item,.guide-card-header,.notifications-item,.stats-detail-header{flex-direction:column;align-items:stretch}.announcement-item,.contacts-item,.notifications-item{padding:14px 16px;gap:12px}.announcement-item-actions,.contacts-item-actions{flex-wrap:wrap}.announcement-item-actions .btn,.contacts-item-actions .btn,.notifications-delete-btn,.notifications-send-btn{width:100%}.contacts-section-header{padding:16px}.history-month-label,.history-table{min-width:0}.history-table,.stats-detail-table{min-width:520px}.modal-overlay{padding:16px;align-items:flex-end}.modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}