*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-card: #1a1d27;--bg-hover: #252836;--border: #2a2d3a;--text: #e4e4e7;--text-muted: #71717a;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #ef4444;--success: #22c55e;--radius: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-header{padding:20px;border-bottom:1px solid var(--border)}.sidebar-header h1{font-size:18px;font-weight:700;color:var(--primary)}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.nav-item{display:block;padding:10px 12px;color:var(--text-muted);text-decoration:none;border-radius:var(--radius);font-size:14px;transition:all .15s}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--primary);color:#fff}.nav-divider{height:1px;background:var(--border);margin:8px 0}.nav-item.external{font-size:13px;opacity:.7}.nav-item.external:hover{opacity:1}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.content{flex:1;margin-left:220px;padding:32px;max-width:1200px}h2{font-size:24px;font-weight:700;margin-bottom:24px}h3{font-size:16px;font-weight:600;margin:24px 0 12px;color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.stats-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stats-label{font-size:13px;color:var(--text-muted);margin-bottom:4px}.stats-value{font-size:28px;font-weight:700}.stats-sub{font-size:12px;color:var(--text-muted);margin-top:4px}.stats-timestamp{margin-top:24px;font-size:12px;color:var(--text-muted)}.data-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:14px}.data-table th{text-align:left;padding:12px 16px;background:var(--bg-hover);color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:12px 16px;border-top:1px solid var(--border)}.data-table tr:hover td{background:var(--bg-hover)}.data-table code{font-size:12px;background:var(--bg);padding:2px 6px;border-radius:4px}.detail-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.detail-item{display:flex;padding:12px 16px;border-bottom:1px solid var(--border)}.detail-item:last-child{border-bottom:none}.detail-label{width:140px;flex-shrink:0;color:var(--text-muted);font-size:13px}.btn-primary{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:500;transition:background .15s}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:14px;margin-top:16px}.btn-secondary:hover{background:var(--border)}.btn-signout{background:none;color:var(--text-muted);border:1px solid var(--border);padding:8px 12px;border-radius:var(--radius);cursor:pointer;font-size:13px;width:100%}.btn-signout:hover{color:var(--danger);border-color:var(--danger)}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;background:var(--bg-hover);color:var(--text-muted)}.badge-admin{background:#3b82f626;color:var(--primary)}.link{color:var(--primary);text-decoration:none;font-size:14px}.link:hover{text-decoration:underline}.loading{padding:40px;text-align:center;color:var(--text-muted)}.error-msg{background:#ef44441a;color:var(--danger);padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:14px}.empty-msg{color:var(--text-muted);padding:20px 0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:400px;text-align:center}.login-card h1{font-size:24px;margin-bottom:8px}.login-card p{color:var(--text-muted);margin-bottom:24px}.date-picker{margin-bottom:20px}.date-picker input[type=date]{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px}.date-picker label{color:var(--text-muted);font-size:14px}.carrier-section{margin-top:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.carrier-header{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:none;border:none;color:var(--text);cursor:pointer;font-size:14px;text-align:left}.carrier-header:hover{background:var(--bg-hover)}.carrier-count{color:var(--text-muted);font-size:12px;margin-left:auto}.tracking-table{width:100%;border-collapse:collapse;font-size:13px}.tracking-table th{text-align:left;padding:10px 16px;background:var(--bg-hover);color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.tracking-table td{padding:8px 16px;border-top:1px solid var(--border)}.tracking-table .mono{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px}.badge-success{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;background:#22c55e26;color:var(--success)}.badge-fail{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;background:#ef444426;color:var(--danger)}.empty-state{color:var(--text-muted);padding:40px;text-align:center}.btn-danger{background:#ef444426;color:var(--danger);border:1px solid var(--danger);padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500}.btn-danger:hover{background:var(--danger);color:#fff}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.tracking-table input[type=checkbox]{cursor:pointer}.community-filters{display:flex;align-items:center;gap:16px;margin-bottom:20px}.community-filters label{color:var(--text-muted);font-size:14px}.community-filters select{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:14px;margin-left:4px}.community-total{margin-left:auto;color:var(--text-muted);font-size:13px}.community-row{cursor:pointer}.community-row.expanded td{background:var(--bg-hover)}.community-title{display:flex;align-items:center;gap:6px}.badge-pin{background:#eab30826;color:#eab308}.badge-secret{background:#a855f726;color:#a855f7}.community-detail-cell{padding:0!important;background:var(--bg)!important}.community-detail{padding:16px 20px}.community-actions{display:flex;align-items:center;gap:8px;margin-bottom:16px}.community-actions .btn-secondary{margin-top:0;padding:6px 12px;font-size:13px}.community-actions .btn-danger{padding:6px 12px}.community-body{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.community-body-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;color:var(--text-muted)}.community-tags{display:flex;gap:4px}.community-content{font-size:14px;line-height:1.7;word-break:break-word}.community-content p{margin-bottom:8px}.community-content img{max-width:100%;border-radius:var(--radius)}.community-comments{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.community-comments h4{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-muted)}.community-comment{padding:10px 0;border-top:1px solid var(--border)}.community-comment:first-of-type{border-top:none;padding-top:0}.community-comment.admin-reply{border-left:2px solid var(--primary);padding-left:12px;margin-left:0}.community-comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:13px;color:var(--text-muted)}.community-comment-header strong{color:var(--text);display:flex;align-items:center;gap:6px}.community-comment-body{font-size:14px;line-height:1.6}
