@import"https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap";@charset "UTF-8";:root{--font-display: "Source Serif 4", serif;--font-body: "Source Sans 3", sans-serif;--text-primary: #1f2933;--text-muted: rgba(31, 41, 51, .6);--accent: #4a4a4a;--accent-strong: #2f2f2f;--accent-soft: rgba(63, 63, 63, .12);--surface: #f3f4f6;--surface-strong: #3f3f3f}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:radial-gradient(circle at 12% 8%,rgba(63,63,63,.18),transparent 45%),radial-gradient(circle at 88% 0%,rgba(191,191,191,.32),transparent 42%),linear-gradient(180deg,#f7f7f7 0%,#eceff2 100%);color:var(--text-primary);min-height:100vh}button,input,textarea{font-family:inherit}a{transition:color .2s ease}.story-link{font-family:inherit;font-size:inherit;font-weight:inherit}.icon{width:14px;height:14px;fill:currentColor;vertical-align:middle}.admin-page{display:flex;flex-direction:column;gap:20px}.admin-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.admin-page-header .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1f29338c;margin-bottom:4px}.admin-page-header h1{margin:0 0 6px;font-family:var(--font-display);font-size:28px;letter-spacing:-.01em}.admin-page-header .subtitle{margin:0;color:var(--text-muted);font-size:14px}.admin-metrics{display:flex;gap:12px;flex-wrap:wrap}.admin-metric{background:#ffffff;border:1px solid rgba(31,41,51,.08);border-radius:14px;padding:12px 18px;box-shadow:0 8px 20px #0f172a0a;min-width:100px;text-align:center}.admin-metric-label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1f29338c}.admin-metric-value{display:block;font-family:var(--font-display);font-size:22px;margin-top:2px}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:end;background:#ffffff;border-radius:16px;padding:18px;box-shadow:0 18px 40px #0f172a14}.admin-toolbar.has-filters{grid-template-columns:minmax(260px,1fr) auto auto}.admin-toolbar .date-range{display:flex;align-items:end;gap:10px}.admin-toolbar .date-range .search-field{min-width:140px}.admin-toolbar .date-input{border:1px solid rgba(31,41,51,.16);border-radius:12px;padding:8px 12px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#ffffff}.admin-toolbar .date-input:focus{outline:none;border-color:#1f293373;box-shadow:0 0 0 3px #1f293314}.admin-toolbar .date-actions{display:inline-flex;gap:4px;align-items:center;padding-bottom:4px}.admin-toolbar .search-field{display:flex;flex-direction:column;gap:8px}.admin-toolbar .field-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#1f29338c;font-weight:600}.admin-search{display:flex;align-items:center;gap:8px;border:1px solid rgba(31,41,51,.16);border-radius:999px;padding:8px 14px;background:#ffffff;transition:border-color .2s ease,box-shadow .2s ease}.admin-search:focus-within{border-color:#1f293373;box-shadow:0 0 0 3px #1f293314}.admin-search .search-icon{width:16px;height:16px;flex-shrink:0;color:#1f29338c}.admin-search input{flex:1;border:none;outline:none;background:transparent;font-size:14px}.admin-search .clear-btn{border:none;background:transparent;color:#1f29338c;cursor:pointer;padding:4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.admin-search .clear-btn:hover{background:rgba(31,41,51,.08);color:#1f2933e6}.admin-primary-button{border:none;border-radius:999px;padding:12px 22px;font-weight:700;letter-spacing:.04em;background:var(--accent-strong);color:#fff;cursor:pointer;box-shadow:0 10px 24px #0f172a2e;display:inline-flex;align-items:center;gap:8px;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.admin-primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px #0f172a38}.admin-primary-button:disabled{opacity:.5;cursor:not-allowed}.admin-primary-button .btn-icon{width:16px;height:16px}.admin-table-shell{overflow-x:auto;background:#ffffff;border-radius:18px;border:1px solid rgba(31,41,51,.08);box-shadow:0 20px 50px #0f172a14}.admin-table{border-collapse:collapse;width:100%;font-size:14px;table-layout:fixed}.admin-table thead th{position:sticky;top:0;z-index:1;background:linear-gradient(110deg,#2f2f2f,#3d3d3d);color:#fff;text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 14px;font-weight:700}.admin-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.admin-table thead th.sortable:hover{background:linear-gradient(110deg,#3a3a3a,#484848)}.admin-table .sort-indicator{margin-left:6px;font-size:12px;color:#ffffffd9}.admin-table .align-num,.admin-table .align-right{text-align:right}.admin-table .align-center{text-align:center}.admin-table th,.admin-table td{padding:12px 14px;line-height:1.35;vertical-align:middle}.admin-table tbody td{border-bottom:1px solid rgba(31,41,51,.08);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table tbody tr{transition:background .15s ease}.admin-table tbody tr:nth-of-type(2n){background:rgba(31,41,51,.02)}.admin-table tbody tr:hover{background:rgba(74,74,74,.05)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#1f2933cc}.admin-table .empty-cell{color:#1f29334d;font-weight:500}.admin-table .name-cell{font-weight:600}.admin-table .country-pill,.admin-country-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(31,41,51,.06);border:1px solid rgba(31,41,51,.1);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1f2933cc;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.admin-table .badge-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.admin-table .badge-pill.paid{background:rgba(245,158,11,.14);color:#b45309;border:1px solid rgba(245,158,11,.3)}.admin-table .badge-pill.free{background:rgba(16,185,129,.12);color:#047857;border:1px solid rgba(16,185,129,.3)}.admin-table .link-button{border:none;background:none;color:var(--text-primary);cursor:pointer;font-weight:600;padding:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:inherit;font-family:inherit}.admin-table .link-button:hover{color:var(--accent-strong)}.admin-table .actions-cell{text-align:right;white-space:nowrap}.admin-table .actions-cell .admin-icon-button+.admin-icon-button{margin-left:4px}.admin-icon-button{border:none;background:transparent;border-radius:999px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#1f2933b3;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-icon-button:hover{background:rgba(31,41,51,.08);color:#1f2933}.admin-icon-button.danger{color:#b42318}.admin-icon-button.danger:hover{background:rgba(180,35,24,.08)}.admin-icon-button .action-icon{width:16px;height:16px;fill:currentColor}.admin-status{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(31,41,51,.06);color:#1f293366}.admin-status.on{background:rgba(16,185,129,.14);color:#047857}.admin-status.off{background:rgba(180,35,24,.08);color:#b42318}.admin-status svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.5;fill:none}.admin-empty-shell{background:#ffffff;border-radius:18px;border:1px dashed rgba(31,41,51,.16);padding:48px 24px;text-align:center;box-shadow:0 12px 28px #0f172a0a}.admin-empty-shell h3{margin:0 0 8px;font-size:18px;font-family:var(--font-display)}.admin-empty-shell p{margin:0 0 20px;color:var(--text-muted);font-size:14px}.admin-modal-close{border:none;background:transparent;border-radius:999px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#1f293399}.admin-modal-close:hover{background:rgba(31,41,51,.08);color:#1f2933}.admin-modal-close svg{width:18px;height:18px}@keyframes admin-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-loading-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,rgba(31,41,51,.12) 0%,rgba(31,41,51,.55) 50%,rgba(31,41,51,.12) 100%);background-size:200% 100%;animation:admin-shimmer 1.2s infinite;z-index:2;border-top-left-radius:18px;border-top-right-radius:18px}.admin-table tbody tr.admin-skeleton-row,.admin-table tbody tr.admin-skeleton-row:hover,.admin-table tbody tr.admin-skeleton-row:nth-of-type(2n){background:transparent;pointer-events:none}.admin-skeleton-row-inner{display:grid;grid-template-columns:6% 1fr 18% 15% 12%;gap:16px;align-items:center;padding:4px 0}.admin-skeleton-line{height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(229,231,235,.55) 0%,rgba(209,213,219,.9) 50%,rgba(229,231,235,.55) 100%);background-size:200% 100%;animation:admin-shimmer 1.4s infinite}.admin-skeleton-line.tiny{width:40%}.admin-skeleton-line.short{width:60%}.admin-skeleton-line.medium{width:85%}.admin-skeleton-line.full{width:100%}.admin-skeleton-pill{display:inline-block;height:20px;width:72px;border-radius:999px;background:linear-gradient(90deg,rgba(229,231,235,.55) 0%,rgba(209,213,219,.9) 50%,rgba(229,231,235,.55) 100%);background-size:200% 100%;animation:admin-shimmer 1.4s infinite}.admin-metric-value.is-skeleton{display:inline-block;min-width:40px;height:24px;border-radius:6px;background:linear-gradient(90deg,rgba(229,231,235,.55) 0%,rgba(209,213,219,.9) 50%,rgba(229,231,235,.55) 100%);background-size:200% 100%;animation:admin-shimmer 1.4s infinite;color:transparent}.admin-author-cell{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%}.admin-author-avatar{width:28px;height:28px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);letter-spacing:.04em;text-transform:uppercase}.admin-author-avatar.tint-a{background:linear-gradient(135deg,#0ea5e9,#0369a1)}.admin-author-avatar.tint-b{background:linear-gradient(135deg,#22c55e,#15803d)}.admin-author-avatar.tint-c{background:linear-gradient(135deg,#f59e0b,#b45309)}.admin-author-avatar.tint-d{background:linear-gradient(135deg,#ef4444,#b91c1c)}.admin-author-avatar.tint-e{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.admin-author-avatar.tint-f{background:linear-gradient(135deg,#ec4899,#be185d)}.admin-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.admin-source-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:rgba(31,41,51,.05);border:1px solid rgba(31,41,51,.1);font-size:12px;font-weight:600;color:#1f2933bf;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.admin-title-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-title-cell .title-link{font-weight:600;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;cursor:pointer}.admin-title-cell .title-link:hover{color:var(--accent-strong);text-decoration:underline}.admin-title-cell .title-subtitle{font-size:12px;color:#1f29338c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-date{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#1f2933b3;white-space:nowrap;cursor:default}.admin-table td.mono.align-num{color:#1f293373;font-size:12px}.admin-country-cell{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%}.admin-flag{font-size:22px;line-height:1;flex-shrink:0;font-family:Twemoji Mozilla,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",EmojiOne Color,sans-serif}.admin-flag-img{width:26px;height:auto;flex-shrink:0;border-radius:3px;box-shadow:0 0 0 1px #1f293314;display:block;object-fit:cover;background:rgba(31,41,51,.04)}.admin-flag.placeholder{width:22px;height:16px;display:inline-block;border-radius:3px;background:repeating-linear-gradient(45deg,rgba(31,41,51,.08),rgba(31,41,51,.08) 3px,rgba(31,41,51,.12) 3px,rgba(31,41,51,.12) 6px);border:1px solid rgba(31,41,51,.12)}.admin-country-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-code-chip{display:inline-block;padding:2px 8px;border-radius:6px;background:rgba(31,41,51,.06);border:1px solid rgba(31,41,51,.12);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;color:#1f2933d9;vertical-align:middle}.admin-code-chip.secondary{background:transparent;border-color:#1f293329;color:#1f29338c;margin-left:4px}.admin-dial{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#1f2933bf}.admin-dial:before{content:"+";color:#1f293373;margin-right:1px}.admin-icon-cell{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0}.admin-icon-cell .icon-glyph{width:14px;height:14px;flex-shrink:0;color:#1f293366;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.admin-icon-cell .icon-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2933d9}a.admin-icon-cell,.admin-icon-cell--link{text-decoration:none;color:inherit;cursor:pointer;transition:color .15s ease}a.admin-icon-cell:hover .icon-text,.admin-icon-cell--link:hover .icon-text{color:var(--accent-strong);text-decoration:underline}a.admin-icon-cell:hover .icon-glyph,.admin-icon-cell--link:hover .icon-glyph{color:var(--accent-strong)}.admin-expired-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:rgba(180,35,24,.08);border:1px solid rgba(180,35,24,.22);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b42318}.admin-expired-badge:before{content:"";width:6px;height:6px;border-radius:999px;background:#b42318}@media (max-width: 1100px){.admin-table .hide-md,.admin-table .hide-md+col{display:none}}@media (max-width: 900px){.admin-toolbar{grid-template-columns:1fr}.admin-page-header{align-items:flex-start}.admin-table .hide-sm,.admin-table .hide-sm+col{display:none}}
