@import"https://fonts.googleapis.com/icon?family=Material+Icons";*{box-sizing:border-box}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-dark: #1e40af;--color-primary-bright: #3b82f6;--color-primary-light: #93c5fd;--color-primary-muted: #dbeafe;--color-primary-bg-light: #eff6ff;--color-indigo-light: #cbd5f5;--color-indigo-bg: #eef2ff;--color-cyan-light: #e0f2fe;--color-success: #22c55e;--color-success-hover: #16a34a;--color-success-bg: rgba(34, 197, 94, .1);--color-success-light: rgba(34, 197, 94, .15);--color-success-text: #047857;--color-success-bg-full: #f0fdf4;--color-success-bg-light: #dcfce7;--color-success-border: #86efac;--color-success-border-light: #a7f3d0;--color-success-pale: #d1fae5;--color-emerald: #10b981;--color-emerald-hover: #059669;--color-emerald-dark: #047857;--color-emerald-darker: #065f46;--color-emerald-light: #34d399;--color-emerald-bright: #4ade80;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-darker: #991b1b;--color-danger-bright: #ef4444;--color-danger-light: #f87171;--color-danger-lighter: #fca5a5;--color-danger-text: #b91c1c;--color-danger-bg: #fef2f2;--color-danger-bg-light: #fee2e2;--color-danger-border: #fecaca;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-text: #b45309;--color-warning-bg: #fffbeb;--color-warning-bg-light: #fef9c3;--color-warning-bg-orange: #fed7aa;--color-warning-border: #fde68a;--color-amber: #fbbf24;--color-amber-dark: #a16207;--color-amber-darker: #92400e;--color-amber-bg: rgba(251, 191, 36, .1);--color-amber-bg-medium: rgba(251, 191, 36, .12);--color-amber-bg-light: #fef3c7;--color-amber-border: rgba(251, 191, 36, .25);--color-yellow: #fcd34d;--color-gold: #ffd700;--color-purple: #7c3aed;--color-purple-light: #e9d5ff;--color-purple-medium: #d8b4fe;--color-purple-bright: #c084fc;--color-purple-dark: #a21caf;--color-purple-gradient-1: #667eea;--color-purple-gradient-2: #764ba2;--color-info-text: #047857;--color-info-bg: #f0fdf4;--color-info-border: #bbf7d0;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-dark: #111827;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-white: #ffffff;--color-black: #000000;--color-bg: #f1f5f9;--color-bg-secondary: #e2e8f0;--color-bg-tertiary: #f9fafb;--color-bg-light: #fafafa;--color-bg-gradient-start: #f8fafc;--color-bg-gradient-end: #e2e8f0;--color-card-bg: #ffffff;--color-card-border: #e2e8f0;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-dark: #cbd5e1;--color-border-input: #d1d5db;--color-input-bg: #ffffff;--color-input-bg-disabled: #f3f4f6;--color-placeholder: #9ca3af;--color-hover-bg: rgba(255, 255, 255, .5);--color-hover-bg-strong: rgba(255, 255, 255, .8);--color-active-bg: rgba(255, 255, 255, .7);--color-dark: #1f2937;--color-dark-hover: #111827;font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:clamp(14px,1vw + 12px,16px)}a{font-weight:600;color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}body{margin:0;min-height:100vh;background:linear-gradient(180deg,var(--color-bg-gradient-start) 0%,var(--color-bg-gradient-end) 100%);overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}code,pre{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.layout{width:100%;max-width:1400px;margin:0 auto;padding:16px 0 0;display:flex;flex-direction:column;gap:8px}.layout--narrow{max-width:1000px}.layout--form{max-width:800px}.layout--wide{max-width:1600px}.layout--padded{padding:24px}.layout--compact{gap:16px}@media(max-width:1024px){.layout{padding:16px 12px 32px}.layout--padded{padding:16px}}@media(max-width:768px){.layout{padding:8px;gap:24px}.layout--padded{padding:12px}.layout--compact{gap:12px}}@media(max-width:640px){.layout{padding:8px;gap:16px}}.project-dashboard{padding:32px;gap:48px;overflow-x:visible}.project-section{display:flex;flex-direction:column;gap:20px}.project-section__title{margin:0;display:inline-flex;align-items:center;gap:12px;font-size:30px;font-weight:700;color:var(--color-text-dark)}.project-section__icon{font-size:28px;width:48px;height:48px;object-fit:contain}.project-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin:-4px}.project-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;border-radius:20px;text-decoration:none;background:#ffffffeb;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 32px #0f172a1f;color:var(--color-text);font-weight:600;font-size:18px;transition:transform .2s ease,box-shadow .2s ease;overflow:visible;margin:4px;text-align:center;gap:16px}.project-card__icon{font-size:48px;color:var(--color-primary);margin-bottom:8px}.project-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px #3b82f633}.project-card h3{margin:0;font-size:18px;font-weight:600}@media(max-width:1024px){.project-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.project-grid{grid-template-columns:repeat(2,1fr)}.project-card{padding:24px 16px}.project-card__icon{font-size:36px}}@media(max-width:640px){.project-dashboard{padding:16px}.project-grid{grid-template-columns:repeat(2,1fr);gap:12px}.project-card{padding:20px 12px}.project-section__title{font-size:24px}.project-section__icon{font-size:24px;width:40px;height:40px}.project-card h3{font-size:16px}}.back-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:9999px;background:#2563eb1a;color:var(--color-primary-hover);font-size:13px;font-weight:600;text-decoration:none;margin-bottom:12px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.back-link:hover{background:#2563eb2e;transform:translateY(-1px);box-shadow:0 8px 18px #2563eb2e}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.btn{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:6px;border:1px solid transparent;background-color:var(--color-primary);color:#fff;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:10px 16px;font-size:14px;min-height:40px;box-shadow:0 1px 3px #0000001a;position:relative;overflow:hidden;max-width:100%}.btn:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #0000001a}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 1px 3px #0000001a}.btn-x-small{padding:4px 8px!important;font-size:10px!important;min-height:24px!important;min-width:40px!important;border-radius:4px!important}.btn-small{padding:6px 12px!important;font-size:12px!important;min-height:32px!important;min-width:60px!important;border-radius:5px!important}.btn-large{padding:14px 24px!important;font-size:16px!important;min-height:48px!important;border-radius:8px!important}.btn-with-icon{justify-content:center}.btn-icon{font-size:18px;line-height:1;display:inline-block;vertical-align:middle}.btn-text{display:block;white-space:nowrap;margin-left:8px;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.btn-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.btn.btn-with-icon .btn-icon{margin-right:0}.btn .btn-icon,.btn .btn-text,.btn .btn-content,.btn-x-small .btn-icon{font-size:14px!important}.btn-x-small .btn-text{font-size:10px!important;margin-left:8px!important}.btn-x-small .btn-content{font-size:10px!important}.btn-small .btn-icon{font-size:16px!important}.btn-small .btn-text{font-size:12px!important;margin-left:10px!important}.btn-small .btn-content{font-size:12px!important}.btn-large .btn-icon{font-size:20px!important}.btn-large .btn-text{font-size:16px!important;margin-left:14px!important}.btn-large .btn-content{font-size:16px!important}.btn-secondary{background-color:var(--color-gray-100)!important;color:var(--color-purple)!important;border:1px solid var(--color-gray-200)!important;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover:not(:disabled){background-color:var(--color-purple-light);border-color:var(--color-purple-bright);box-shadow:0 4px 12px #7c3aed33;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){background-color:var(--color-purple-medium);border-color:var(--color-purple-dark);transform:translateY(0)}.btn-danger{background-color:var(--color-danger-bright);border-color:var(--color-danger);box-shadow:0 1px 3px #ef44444d}.btn-danger:hover:not(:disabled){background-color:var(--color-danger);border-color:var(--color-danger-hover);box-shadow:0 4px 12px #ef444466}.btn-danger:active:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-darker)}.btn-success{background-color:var(--color-emerald);border-color:var(--color-emerald-hover);box-shadow:0 1px 3px #10b9814d}.btn-success:hover:not(:disabled){background-color:var(--color-emerald-hover);border-color:var(--color-emerald-dark);box-shadow:0 4px 12px #10b98166}.btn-success:active:not(:disabled){background-color:var(--color-emerald-dark);border-color:var(--color-emerald-darker)}.btn-prominent{background:linear-gradient(135deg,var(--color-primary-bright) 0%,var(--color-primary) 100%);color:var(--color-white);padding:14px 24px;font-size:15px;font-weight:600;border-radius:8px;border:none;box-shadow:0 4px 14px #3b82f64d;position:relative}.btn-prominent:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff3,#fff0);border-radius:8px;opacity:0;transition:opacity .3s ease}.btn-prominent:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-bright) 100%);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.btn-prominent:hover:not(:disabled):before{opacity:1}.btn-prominent:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.btn-block{width:100%;display:flex}.copy-btn--copied{background-color:var(--color-emerald)!important;border-color:var(--color-emerald-hover)!important;color:#fff!important;box-shadow:0 1px 3px #10b9814d!important}.copy-btn--copied:hover:not(:disabled){background-color:var(--color-emerald-hover)!important;border-color:var(--color-emerald-dark)!important;box-shadow:0 4px 12px #10b98166!important}.btn:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}.btn-secondary:focus-visible{outline-color:var(--color-purple-dark)}.btn-danger:focus-visible{outline-color:var(--color-danger-light)}.btn-success:focus-visible{outline-color:var(--color-emerald-light)}.btn-prominent:focus-visible{outline-color:var(--color-primary-bright);outline-offset:3px}@media(max-width:640px){.btn{min-height:44px;padding:12px 16px;border-radius:6px}.btn-x-small{min-height:36px!important;padding:6px 10px!important;font-size:11px!important;border-radius:4px!important}.btn-small{min-height:40px!important;padding:8px 14px!important;font-size:13px!important;border-radius:5px!important}.btn-large{min-height:52px!important;padding:16px 24px!important;font-size:17px!important;border-radius:8px!important}.btn-prominent{min-height:48px;padding:14px 20px;font-size:16px}.btn-icon{font-size:20px}.btn:hover:not(:disabled){transform:translateY(-.5px)}.btn-prominent:hover:not(:disabled){transform:translateY(-1px)}}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-weight:600;white-space:nowrap;transition:all .2s ease}.chip--small{font-size:11px;padding:2px 6px}.chip--medium{font-size:13px;padding:4px 8px}.chip--large{font-size:15px;padding:6px 12px}.chip--default{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.chip--primary{background:var(--color-primary-bg-light);color:var(--color-primary);border:1px solid var(--color-primary)}.chip--secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.chip--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.chip--warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.chip--danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger)}.chip:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.state-label-icon{font-family:Material Icons;font-weight:400;font-style:normal;font-size:14px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.state-label{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;gap:6px}.state-label-with-icon{gap:6px}.state-label-icon{font-size:14px;line-height:1;display:inline-block;vertical-align:middle}.state-label-text{display:inline-block;vertical-align:middle}.state-label-icon-only{padding:6px;border-radius:50%;min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;gap:0}.state-label-icon-only .state-label-icon{font-size:16px}.state-label-icon-only .state-label-text{display:none}.state-label-info{color:var(--color-primary-dark);background:var(--color-primary-muted);border:1px solid #93c5fd}.state-label-danger{color:var(--color-danger-darker);background:var(--color-danger-bg-light);border:1px solid #fecaca}.state-label-warning{color:var(--color-amber-darker);background:var(--color-amber-bg-light);border:1px solid var(--color-yellow)}.state-label-success{color:var(--color-emerald-darker);background:var(--color-success-pale);border:1px solid var(--color-success-border-light)}.state-label-neutral{color:var(--color-gray-700);background:var(--color-gray-100);border:1px solid var(--color-gray-300)}.status-button{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.status-button:hover:not(:disabled){transform:scale(1.05)}.status-button:active:not(:disabled){transform:scale(.95)}.status-button:disabled,.status-button-disabled{cursor:not-allowed;opacity:.6}.status-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.status-message{font-weight:600;padding:12px 16px;border-radius:8px;margin:8px 0;word-wrap:break-word;overflow-wrap:break-word}.status-message a{text-decoration:underline;color:inherit;word-break:break-all;max-width:100%;overflow:hidden;display:inline-block;vertical-align:top}.status-message a:hover{opacity:.8}.status-message--error{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}.status-message--info{color:var(--color-info-text);background:var(--color-info-bg);border:1px solid var(--color-info-border)}.status-message--warning{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.status-message--success{color:var(--color-success-text);background:var(--color-success-bg-full);border:1px solid var(--color-success-border)}@media(max-width:640px){.status-message{font-size:14px;padding:10px 12px}.status-message a{font-size:13px;line-height:1.4;max-width:100%;word-wrap:break-word;overflow-wrap:anywhere}}.text-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-input);background-color:var(--color-input-bg);font:inherit;font-size:14px;color:var(--color-text);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.text-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.text-input::placeholder{color:var(--color-placeholder)}.text-input:disabled{background-color:var(--color-input-bg-disabled);cursor:not-allowed;opacity:.6}.text-input--error{border-color:var(--color-danger)}.text-input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-input);background-color:var(--color-input-bg);font:inherit;font-size:14px;color:var(--color-text);box-sizing:border-box;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.textarea::placeholder{color:var(--color-placeholder)}.textarea:disabled{background-color:var(--color-input-bg-disabled);cursor:not-allowed;opacity:.6}.textarea--error{border-color:var(--color-danger)}.textarea--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.select{width:100%;padding:10px 36px 10px 12px;border-radius:8px;border:1px solid var(--color-border-input);font-family:inherit;font-size:14px;color:var(--color-text);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--color-input-bg) url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%20fill%3D%22%236b7280%22%3E%3Cpath%20d%3D%22M480-344%20240-584l56-56%20184%20184%20184-184%2056%2056-240%20240z%22%2F%3E%3C%2Fsvg%3E) no-repeat right 10px center;background-size:20px}.select:hover:not(:disabled){border-color:var(--color-border-dark)}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.select:disabled{background:var(--color-input-bg-disabled) url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%20fill%3D%22%236b7280%22%3E%3Cpath%20d%3D%22M480-344%20240-584l56-56%20184%20184%20184-184%2056%2056-240%20240z%22%2F%3E%3C%2Fsvg%3E) no-repeat right 10px center;background-size:20px;cursor:not-allowed;opacity:.6}.select--error{border-color:var(--color-danger)}.select--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}@media(max-width:640px){.select{min-height:44px;font-size:14px}}.form-field{display:flex;flex-direction:column;gap:6px}.form-field__label{font-weight:600;font-size:13px;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.05em}.form-field__required{color:var(--color-danger)}.form-field__hint{font-size:13px;color:var(--color-gray-500);margin:0}.form-field__error{font-size:13px;color:var(--color-danger);font-weight:600;margin:0}.toggle-switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--color-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.toggle-switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.toggle-switch input:disabled{cursor:not-allowed}.toggle-switch:has(input:disabled){opacity:.4;cursor:not-allowed}.toggle-switch__track{position:relative;width:32px;height:18px;border-radius:999px;background:linear-gradient(135deg,var(--color-gray-200) 0%,var(--color-gray-300) 100%);display:inline-flex;align-items:center;padding:2px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 2px #0000000d}.toggle-switch__thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--color-white) 0%,var(--color-gray-100) 100%);box-shadow:0 2px 4px #00000026,0 0 0 1px #ffffff80;transform:translate(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.toggle-switch input:checked+.toggle-switch__track{background:linear-gradient(135deg,var(--color-emerald) 0%,var(--color-emerald-hover) 100%);box-shadow:0 2px 6px #10b9814d,inset 0 1px 2px #0000000d}.toggle-switch input:checked+.toggle-switch__track .toggle-switch__thumb{transform:translate(14px);box-shadow:0 3px 6px #0003,0 0 0 1px #ffffff4d}.toggle-switch input:focus-visible+.toggle-switch__track{outline:2px solid var(--color-primary-bright);outline-offset:2px;box-shadow:0 0 0 4px #3b82f61a}.toggle-switch__text{font-size:14px;font-weight:500;transition:color .2s ease}.toggle-switch input:checked~.toggle-switch__text{color:var(--color-emerald)}.emoji-picker-popup{position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border:1px solid var(--color-slate-300);border-radius:12px;box-shadow:0 12px 24px #0f172a26;z-index:100;width:440px;max-height:500px;display:flex;flex-direction:column}.emoji-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-slate-200);font-weight:600;font-size:14px;color:var(--color-slate-900)}.emoji-picker-close{background:none;border:none;font-size:24px;line-height:1;color:var(--color-slate-400);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.emoji-picker-close:hover{color:var(--color-slate-700)}.emoji-picker-content{overflow-y:auto;max-height:440px;padding:8px 0}.emoji-category{margin-bottom:8px}.emoji-category:last-child{margin-bottom:0}.emoji-category-header{padding:8px 16px;font-size:11px;font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.05em;background:var(--color-slate-50);border-top:1px solid var(--color-slate-200);border-bottom:1px solid var(--color-slate-200);position:sticky;top:0;z-index:1}.emoji-category:first-child .emoji-category-header{border-top:none}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:8px 12px}.emoji-item{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:24px;transition:all .2s ease}.emoji-item:hover{background:var(--color-slate-50);border-color:var(--color-slate-200);transform:scale(1.1)}.emoji-item--selected{background:#6366f11a;border-color:var(--color-primary)}.modal-backdrop{position:fixed;inset:0;background:#0f172a85;display:flex;justify-content:center;align-items:center;padding:24px;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-backdrop-fade-in .2s ease}@keyframes modal-backdrop-fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-white);border-radius:16px;padding:24px;width:100%;max-height:calc(100vh - 64px);overflow:auto;display:flex;flex-direction:column;gap:20px;box-shadow:0 24px 45px #0f172a40;animation:modal-slide-up .25s ease}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal--sm{max-width:480px}.modal--md{max-width:720px}.modal--lg{max-width:920px}.modal--xl{max-width:1200px}.modal__header h3{margin:0;font-size:20px;color:var(--color-slate-900)}.modal__header p{margin:6px 0 0;color:var(--color-gray-500);font-size:14px;line-height:1.5}.modal__content{display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.modal-backdrop{padding:12px}.modal{padding:20px;border-radius:12px}}.page-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}@media(min-width:769px){.page-header .back-link{display:none}}.page-header__row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.page-header__main{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.page-header__titles{display:flex;flex-direction:column;gap:2px}.page-header__titles h1{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary);line-height:1.2}.page-header__titles p{margin:0;color:var(--color-text-tertiary);font-size:13px;line-height:1.4}.page-header__actions{display:flex;gap:8px;align-items:center}.page-header__content{width:100%}.back-icon{margin-right:4px;font-size:1.2em}@media(max-width:640px){.page-header{gap:12px;margin-bottom:16px}.page-header__row{align-items:center}.page-header__main{flex-direction:row;align-items:center;gap:12px;width:auto;flex:1}.back-text{display:none}.back-icon{margin-right:0;font-size:1.4em;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg-secondary);border-radius:50%}.page-header__actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}.page-header__actions>*{flex:1 0 21%;min-width:0}}.json-diff,.json-diff-empty{background:var(--color-slate-900);color:var(--color-cyan-light);padding:16px;border-radius:12px;max-height:360px;overflow:auto;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.json-diff-empty{color:var(--color-slate-400);display:flex;align-items:center;justify-content:center}.diff-line{display:flex;gap:12px;padding:0 8px;border-radius:6px;white-space:pre}.diff-line+.diff-line{margin-top:2px}.diff-line-context{background:transparent}.diff-line-added{background:#22c55e2e}.diff-line-removed{background:#ef44442e}.diff-line-gutter{width:16px;flex:0 0 16px;color:var(--color-slate-400);text-align:center}.diff-line-added .diff-line-gutter{color:var(--color-emerald-bright)}.diff-line-removed .diff-line-gutter{color:var(--color-danger-lighter)}.diff-line-content{flex:1}.json-preview h3{margin:0;font-size:16px;font-weight:600;color:var(--color-slate-900)}.json-preview pre{background:var(--color-slate-900);color:var(--color-cyan-light);padding:16px;border-radius:12px;max-height:360px;overflow:auto;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.5;margin:0}.json-preview pre::-webkit-scrollbar{width:8px;height:8px}.json-preview pre::-webkit-scrollbar-track{background:var(--color-slate-800);border-radius:4px}.json-preview pre::-webkit-scrollbar-thumb{background:var(--color-slate-600);border-radius:4px}.json-preview pre::-webkit-scrollbar-thumb:hover{background:var(--color-slate-500)}.publish-preview-modal{display:flex;flex-direction:column;gap:.75rem}.publish-summary{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-bg-secondary);border-radius:8px;font-size:.8125rem;border:1px solid var(--color-border)}.summary-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary)}.summary-item .material-icons{font-size:1.125rem;opacity:.7}.file-name-input-wrapper{flex:1;min-width:0}.file-name-input-component{font-family:SF Mono,Fira Code,monospace!important;font-size:.8125rem!important;padding-top:.25rem!important;padding-bottom:.25rem!important;height:auto!important}.summary-item span:not(.material-icons){font-weight:500;color:var(--color-text)}.summary-divider{width:1px;height:1.25rem;background:var(--color-border)}.publish-targets{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.target-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-card-bg);border-radius:10px;border:1px solid var(--color-border);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.target-card:hover{border-color:var(--color-border-dark);transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.target-card.status-publishing{border-color:var(--color-primary);background:linear-gradient(to bottom right,var(--color-card-bg),color-mix(in srgb,var(--color-primary) 4%,var(--color-card-bg)));box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 15%,transparent)}.target-card.status-success{border-color:var(--color-success);background:linear-gradient(to bottom right,var(--color-card-bg),color-mix(in srgb,var(--color-success) 4%,var(--color-card-bg)));box-shadow:0 4px 12px color-mix(in srgb,var(--color-success) 15%,transparent)}.target-card.status-error{border-color:var(--color-danger);background:linear-gradient(to bottom right,var(--color-card-bg),color-mix(in srgb,var(--color-danger) 4%,var(--color-card-bg)));box-shadow:0 4px 12px color-mix(in srgb,var(--color-danger) 15%,transparent)}.target-header{display:flex;align-items:flex-start;gap:.75rem}.target-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--color-bg-tertiary);flex-shrink:0;transition:all .2s ease}.target-card.status-success .target-icon-wrapper{background:color-mix(in srgb,var(--color-success) 15%,var(--color-bg-tertiary))}.target-card.status-error .target-icon-wrapper{background:color-mix(in srgb,var(--color-danger) 15%,var(--color-bg-tertiary))}.target-status-icon{font-size:1rem;transition:all .2s ease}.target-status-icon.status-pending{color:var(--color-text-muted)}.target-status-icon.status-publishing{color:var(--color-primary);animation:spin 1s linear infinite}.target-status-icon.status-success{color:var(--color-success)}.target-status-icon.status-error{color:var(--color-danger)}.target-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.target-main-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.target-name{font-weight:600;color:var(--color-text);font-size:.875rem;line-height:1.3}.target-meta{display:flex;flex-direction:column;gap:0}.target-id{font-size:.75rem;color:var(--color-text-muted);font-family:SF Mono,Fira Code,monospace;opacity:.8}.target-filename{font-size:.75rem;color:var(--color-text-secondary);font-family:SF Mono,Fira Code,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-error{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;margin-top:.25rem;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-bg-tertiary));border-radius:6px;font-size:.75rem;color:var(--color-danger);line-height:1.4}.target-error .material-icons{font-size:1rem;flex-shrink:0;margin-top:.0625rem}.preview-section{border-top:1px solid var(--color-border);padding-top:.75rem}.preview-section .json-preview{gap:.5rem;padding-top:0;border-top:none}.preview-section .json-preview h3{font-size:.875rem;color:var(--color-text-secondary)}.preview-section .json-preview pre{padding:.75rem;max-height:180px;font-size:.75rem;border-radius:8px}.publish-preview-modal .modal-actions{display:flex;justify-content:flex-end;gap:.625rem;padding-top:.75rem;border-top:1px solid var(--color-border)}@media(max-width:640px){.publish-summary{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.summary-divider{display:none}.publish-targets{grid-template-columns:1fr;gap:.625rem}.target-card{padding:.75rem .875rem}}.image-library-content{display:flex;flex-direction:column;gap:1rem}.image-library-add-section h3,.image-library-list-header h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.image-library-add-form{display:flex;flex-direction:column;gap:.75rem}.image-library-add-inputs{display:grid;grid-template-columns:.8fr 1fr 2fr 60px auto;gap:.75rem;align-items:end}.image-library-add-field{display:flex;flex-direction:column;gap:.25rem}.image-library-add-field label{font-size:.875rem;font-weight:500;color:var(--text-primary, #222)}.image-library-folder-select{width:100%;padding:11px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.875rem;background:#fff;color:var(--text-primary, #222);cursor:pointer;font-family:inherit}.image-library-folder-select:focus{outline:2px solid var(--primary-color, #007bff);outline-offset:-1px;border-color:var(--primary-color, #007bff)}.image-library-add-preview{width:60px;height:60px;flex-shrink:0;border:1px solid var(--border-color, #ddd);border-radius:4px;background:#fff;object-fit:contain;display:block}.image-library-add-preview-fallback{width:60px;height:60px;flex-shrink:0;border:1px solid var(--border-color, #ddd);border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #666);font-size:.75rem;text-align:center}.image-library-add-button{padding:.5rem 1.25rem}.image-library-list-section{max-height:500px;overflow-y:auto}.image-library-breadcrumbs{display:flex;align-items:center;margin-bottom:1rem;padding:.5rem;background:var(--background-secondary, #f9f9f9);border-radius:4px;font-size:.875rem;flex-wrap:wrap;gap:.25rem}.breadcrumb-separator{color:var(--text-secondary, #666);margin:0 .5rem;font-weight:600;font-size:1rem}.breadcrumb-item{background:none;border:none;padding:.5rem .75rem;cursor:pointer;color:var(--primary-color, #007bff);font-size:.9rem;border-radius:6px;transition:all .2s;font-weight:500}.breadcrumb-item:hover{background:var(--background-hover, var(--color-gray-200));transform:translateY(-1px)}.breadcrumb-item.active{color:var(--text-primary, #222);font-weight:600;cursor:default;background:var(--background-secondary, #f9f9f9)}.breadcrumb-item.current-folder{background:var(--primary-color, #007bff);color:#fff;cursor:default}.breadcrumb-item.current-folder:hover{background:var(--primary-color, #007bff);transform:none}.image-library-list-header{margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.image-library-list-header button{font-size:.875rem;padding:.375rem .75rem}.image-library-content-sections{display:flex;flex-direction:column;gap:1.5rem}.image-library-folders-section,.image-library-images-section{display:flex;flex-direction:column;gap:.75rem}.image-library-folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.image-library-folder-card{border:1px solid var(--border-color, #ddd);border-radius:8px;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--background-secondary, #f9f9f9);cursor:pointer;transition:all .2s;min-height:60px;text-align:left}.image-library-folder-card:hover{background:var(--background-hover, #f0f0f0);border-color:var(--primary-color, #007bff);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.image-library-folder-icon{color:var(--primary-color, #007bff);display:flex;align-items:center;justify-content:center;flex-shrink:0}.image-library-folder-icon svg{width:24px;height:24px}.image-library-folder-info{flex:1;min-width:0}.image-library-folder-name{font-weight:600;font-size:.85rem;color:var(--text-primary, #222);word-break:break-word;line-height:1.2}.image-library-folder-count-chip{background:var(--primary-color, #007bff);color:#fff;font-weight:600;font-size:.75rem;padding:.2rem .5rem;border-radius:12px;min-width:20px;text-align:center;flex-shrink:0}.image-library-grid{display:grid;gap:.75rem;grid-template-columns:repeat(6,1fr)}@media(max-width:1200px){.image-library-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:900px){.image-library-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.image-library-folders-grid,.image-library-grid{grid-template-columns:repeat(2,1fr)}.image-library-add-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;align-items:end}.image-library-add-inputs>.image-library-add-field:nth-child(3){grid-column:auto}.image-library-add-button{grid-column:1 / -1;width:100%}.image-library-add-preview{display:none}.image-library-folder-card{padding:.5rem;min-height:48px}.image-library-folder-icon svg{width:20px;height:20px}.image-library-item{flex-direction:column;align-items:stretch;gap:.375rem;padding:.5rem}.image-library-item-preview{width:100%;height:80px;flex-shrink:0}.image-library-item-info{width:100%;flex:1}.image-library-item-actions{flex-direction:row;gap:.25rem;justify-content:space-between;padding:.25rem 0;margin-left:0}}.image-library-item{border:1px solid var(--border-color, #ddd);border-radius:6px;padding:.5rem;display:flex;flex-direction:column;gap:.375rem;background:var(--background-secondary, #f9f9f9);position:relative}.image-library-item-preview{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:4px;border:1px solid var(--border-color, #ddd);overflow:hidden}.image-library-item-image{max-width:100%;max-height:100%;object-fit:contain;display:block}.image-library-item-image-fallback{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #666);font-size:.75rem;text-align:center}.image-library-item-info{flex:1;min-width:0}.image-library-item-folder{font-size:.7rem;color:var(--text-secondary, #666);font-style:italic;margin-bottom:.125rem;word-break:break-word}.image-library-item-key{font-weight:600;font-size:.75rem;margin-bottom:.125rem;word-break:break-word}.image-library-item-key{font-weight:600;font-size:.75rem;margin-bottom:.125rem;word-break:break-word;line-height:1.2}.image-library-item-actions{display:flex;gap:.25rem;justify-content:space-between;align-items:center;padding:.25rem 0;flex-wrap:nowrap}.image-library-item-actions button{flex-shrink:0;min-width:28px;height:28px;padding:0}.image-library-item-actions .btn-x-small{font-size:.75rem;padding:0;min-width:28px;width:28px;height:28px}.image-library-item-actions .btn-x-small .btn-icon{font-size:16px;margin:0}.image-library-item-actions .btn-x-small .btn-text{display:none}.image-library-move-compact{display:flex;gap:.25rem;align-items:center;margin-top:.25rem}.image-library-move-select-compact{flex:1;padding:.2rem .3rem;border:1px solid var(--border-color, #ddd);border-radius:3px;font-size:.7rem;background:#fff;color:var(--text-primary, #222);cursor:pointer;min-width:0}.image-library-move-select-compact:focus{outline:1px solid var(--primary-color, #007bff);outline-offset:-1px}.image-library-move-compact button{flex-shrink:0;min-width:24px;height:24px;padding:0;width:24px}.image-library-move-compact .btn-icon{font-size:14px}.image-library-move-compact .btn-text{display:none}.image-library-empty{text-align:center;color:var(--text-secondary, #666);padding:1.5rem;font-size:.875rem;font-style:italic}.image-text-input{display:flex;gap:.75rem;align-items:center}.image-text-input-field-wrapper{flex:1;min-width:0}.image-text-input-input,.image-text-input-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-input);background-color:var(--color-input-bg);font:inherit;font-size:14px;color:var(--color-text);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.image-text-input-input:focus,.image-text-input-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.image-text-input-input::placeholder,.image-text-input-textarea::placeholder{color:var(--color-placeholder)}.image-text-input-input:disabled,.image-text-input-textarea:disabled{background-color:var(--color-input-bg-disabled);cursor:not-allowed;opacity:.6}.image-text-input-textarea{resize:vertical}.image-text-input-preview{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border-color, #ddd);border-radius:4px;background:#fff;object-fit:contain;display:block}.image-text-input-preview-fallback{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border-color, #ddd);border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #666);font-size:10px;text-align:center}.image-text-input-action-button{font-size:.8125rem;padding:.375rem .75rem;white-space:nowrap;flex-shrink:0}.image-text-input-action-button.btn{min-width:40px!important;min-height:40px!important;padding:.375rem!important;justify-content:center}.tabs{display:flex;position:relative}.tabs--scrollable{overflow:hidden}.tabs__scroll-container{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.25rem;margin:-.25rem}.tabs__scroll-container::-webkit-scrollbar{display:none}.tabs__scroll-container--scrollable{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.tabs__scroll-container--scrollable::-webkit-scrollbar{display:none}.tabs--default{padding:1rem;background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-border);margin-bottom:1.5rem;padding:calc(1rem + 4px);margin:calc(1.5rem - 4px) 0 calc(1.5rem - 4px) 0}.tabs--pills{gap:.75rem;margin-bottom:1.5rem;padding:4px;margin:calc(1.5rem - 4px) 0 calc(1.5rem - 4px) 0}.tabs--underline{border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}.tabs__tab{padding:.75rem 1rem;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font-weight:500;font-size:.9375rem;white-space:nowrap;cursor:pointer;border-radius:30px;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;outline:none;position:relative}.tabs__tab:focus-visible{box-shadow:0 0 0 2px var(--color-primary)}.tabs__tab:hover:not(.tabs__tab--disabled){color:var(--color-text);background:var(--color-hover-bg-strong);border-color:var(--color-primary-light)}.tabs__tab--active{color:#fff;background:var(--color-primary);border-color:var(--color-primary);font-weight:600;box-shadow:0 1px 4px #2563eb40}.tabs__tab--disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-secondary)}.tabs--sm .tabs__tab{padding:.5rem 1rem;font-size:.875rem}.tabs--lg .tabs__tab{padding:1rem 1.5rem;font-size:1rem}.tabs--pills .tabs__tab{border:2px solid var(--color-border);background:transparent;color:var(--color-text-secondary)}.tabs--pills .tabs__tab:hover:not(.tabs__tab--disabled){border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.tabs--pills .tabs__tab--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 6px #2563eb4d}.tabs--underline .tabs__tab{border:none;background:transparent;color:var(--color-text-secondary);padding:.75rem 1.25rem;margin-bottom:-2px;border-radius:8px 8px 0 0;position:relative}.tabs--underline .tabs__tab:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.tabs--underline .tabs__tab:hover:not(.tabs__tab--disabled){color:var(--color-text);background:var(--color-hover-bg)}.tabs--underline .tabs__tab--active{color:var(--color-primary);background:var(--color-hover-bg)}.tabs--underline .tabs__tab--active:after{transform:scaleX(1)}.tabs__tab:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transition:width .3s ease,height .3s ease,opacity .3s ease;opacity:0}.tabs__tab:active:before{width:300px;height:300px;opacity:1;transition:width 0s,height 0s,opacity 0s}@media(max-width:768px){.tabs--default{padding:.75rem}.tabs__tab{padding:.625rem 1rem;font-size:.875rem}.tabs--sm .tabs__tab{padding:.5rem .875rem;font-size:.8125rem}.tabs--lg .tabs__tab{padding:.875rem 1.25rem;font-size:.9375rem}.tabs--underline .tabs__tab{padding:.625rem 1rem}}@media(prefers-color-scheme:dark){.tabs__tab:before{background:#fff3}}.side-panel-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:flex-end;z-index:1000;animation:sidePanelFadeIn .2s ease-out}@keyframes sidePanelFadeIn{0%{opacity:0}to{opacity:1}}.side-panel{background:var(--color-bg-primary);box-shadow:-4px 0 24px #0000004d;display:flex;flex-direction:column;animation:sidePanelSlideIn .3s cubic-bezier(.4,0,.2,1);overflow:hidden;max-width:90vw}@keyframes sidePanelSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel--small{width:400px}.side-panel--medium{width:600px}.side-panel--large{width:700px}.side-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-card-bg);flex-shrink:0}.side-panel-title-section{flex:1;min-width:0}.side-panel-title{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.side-panel-subtitle{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary);font-family:Courier New,monospace}.side-panel-close-button{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;margin-left:12px}.side-panel-close-button:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary);transform:rotate(90deg)}.side-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 20px;background:#fff}.side-panel-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--color-border);background:var(--color-card-bg);flex-shrink:0}@media(max-width:768px){.side-panel{width:100%!important;max-width:100%}.side-panel-header{padding:14px 16px}.side-panel-content,.side-panel-footer{padding:12px 16px}}.control-group label{font-weight:600}.control-group select,.control-group input{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--color-gray-300);background-color:var(--color-white);box-sizing:border-box;font-size:16px;color:var(--color-gray-700);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.control-group select:focus,.control-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb33}.color-picker-group{display:flex;gap:8px;align-items:center}.color-picker-group input[type=color]{width:40px;height:40px;padding:0;border:none}.color-picker-group input[type=text]{flex:1}.custom-number-input-wrapper{position:relative;display:inline-block}.custom-number-input{padding-right:60px}.custom-number-input-controls{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;gap:5px}.custom-number-input-button{width:24px;height:34px;border-radius:50%;background-color:var(--color-gray-100);border:1px solid var(--color-gray-200);color:var(--color-gray-600);font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center}.custom-number-input-button:hover{background-color:var(--color-gray-200)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.screenshot-wrapper{position:relative;display:flex;flex-direction:column;gap:8px;overflow:hidden}.dropzone{text-align:center;cursor:pointer;overflow:hidden;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.inner-dropzone{border:2px dashed var(--color-border-dark);border-radius:12px;padding:30px;text-align:center;color:var(--color-white);width:50%;height:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:border-color .2s ease}.inner-dropzone:hover{border-color:var(--color-primary)}.screenshot-display{border:2px dashed transparent;border-radius:16px;padding:0;text-align:center;position:relative;box-sizing:border-box}.screenshot-preview{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center}.screenshot-background{padding:8px 8px 0;position:relative;display:flex;flex-direction:column;border-radius:12px;overflow:hidden}.screenshot-text{font-size:14px;text-align:center;width:100%;z-index:3;padding:0 16px;display:flex;align-items:center;justify-content:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;height:44px}.segmented-control{position:relative;display:inline-flex;align-self:flex-start;max-width:100%;background:var(--color-card-bg);border-radius:16px;padding:4px;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a,inset 0 1px #fffc;border:1px solid var(--color-border-light);transition:all .3s cubic-bezier(.4,0,.2,1)}.segmented-control--subtle{background:var(--color-bg-secondary);box-shadow:inset 0 1px 2px #0000000d,0 1px 2px #00000005;border-color:var(--color-border);padding:2px}.segmented-control--pills{background:transparent;box-shadow:none;border:none;padding:0;gap:8px;border-radius:0}.segmented-control--sm{border-radius:12px;padding:2px}.segmented-control--lg{border-radius:20px;padding:6px}.segment{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;background:transparent;color:var(--color-text-secondary);font-weight:500;font-size:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:2;overflow:hidden;padding:8px 16px;min-height:36px}.segmented-control--sm .segment{padding:6px 12px;font-size:13px;min-height:28px;border-radius:8px;gap:6px}.segmented-control--lg .segment{padding:12px 24px;font-size:15px;min-height:44px;border-radius:16px;gap:10px}.segmented-control--pills .segment{background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:10px 18px;box-shadow:0 1px 3px #00000014}.segmented-control--pills .segment:hover:not(.segment--selected){background:var(--color-hover-bg);border-color:var(--color-border-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.segment:hover:not(.segment--selected){color:var(--color-text);background:#00000005}.segment:active:not(.segment--selected){transform:scale(.98);transition:transform .1s ease}.segment:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;z-index:3}.segment--selected{color:var(--color-primary);background:transparent}.segmented-control--subtle .segment--selected{background:var(--color-card-bg);box-shadow:0 1px 4px #0000001a,inset 0 0 0 1px #0000000f;color:var(--color-text)}.segmented-control--pills .segment--selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #2563eb4d,0 2px 4px #2563eb33}.segment__icon{display:flex;align-items:center;font-size:16px;transition:transform .25s cubic-bezier(.4,0,.2,1)}.segmented-control--sm .segment__icon{font-size:14px}.segmented-control--lg .segment__icon{font-size:18px}.segment--selected .segment__icon{transform:scale(1.1)}.segmented-control--pills .segment--selected .segment__icon{transform:scale(1.05)}.segment__label{position:relative;z-index:1;transition:opacity .2s ease}segmented-control--subtle .segment:hover:not(.segment--selected) .segment__label{opacity:.8}.segment__ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#2563eb26;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:none}.segment:active .segment__ripple{width:120px;height:120px;opacity:1;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.segmented-control__indicator{position:absolute;top:4px;left:4px;height:calc(100% - 8px);background:var(--color-card-bg);border-radius:12px;box-shadow:0 2px 8px #2563eb1f,0 1px 2px #2563eb14,inset 0 0 0 1px #2563eb14;z-index:1;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.segmented-control--sm .segmented-control__indicator{top:2px;left:2px;height:calc(100% - 4px);border-radius:8px}.segmented-control--lg .segmented-control__indicator{top:6px;left:6px;height:calc(100% - 12px);border-radius:16px}.segmented-control--subtle .segmented-control__indicator,.segmented-control--pills .segmented-control__indicator{display:none}@media(max-width:640px){.segmented-control{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.segmented-control::-webkit-scrollbar{display:none}.segment{flex:0 0 auto;min-width:fit-content;padding:10px 14px;min-height:44px}.segmented-control--sm .segment{padding:8px 12px;min-height:40px}.segmented-control--lg .segment{padding:12px 16px;min-height:48px}.segmented-control--pills{padding:0;gap:6px}.segmented-control--pills .segment{padding:8px 14px}}@media(prefers-reduced-motion:reduce){.segmented-control,.segment,.segment__icon,.segmented-control__indicator{transition:none}.segment__ripple{display:none}}@media(prefers-contrast:high){.segmented-control{border-color:var(--color-text);border-width:2px}.segment{font-weight:600}.segment--selected{background:var(--color-primary);color:#fff}}.toggle-switches-row{display:flex;flex-wrap:wrap;gap:16px}@media(max-width:640px){.toggle-switches-row{flex-direction:column;gap:12px}}.nested-fieldset{border:1px solid var(--border-subtle);border-radius:8px;padding:16px;margin-top:16px;background:var(--bg-secondary)}.nested-fieldset legend{font-size:.875rem;font-weight:600;color:var(--text-secondary);padding:0 8px}.ad-placement-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.ad-card{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:0;margin:0;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease,border-color .2s ease}.ad-card:hover{box-shadow:0 4px 12px #0000001f;border-color:var(--primary)}.ad-card-header{display:flex;justify-content:space-between;align-items:center;padding:18px24px;border-bottom:2px solid var(--border);background:var(--surface);border-radius:10px 10px 0 0}.ad-card-header legend{display:flex;align-items:center;gap:12px;margin:0;padding:0;font-size:16px;font-weight:600}.ad-number{color:var(--text-primary)}.ad-id-badge{display:inline-block;padding:4px 12px;background:var(--primary);color:#fff;border-radius:12px;font-size:13px;font-weight:500;font-family:monospace}.ad-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:8px;background:var(--background)}.ad-section{display:flex;flex-direction:column;gap:12px}.ad-fields-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.field-hint{display:block;font-size:11px;font-weight:400;color:var(--text-secondary);margin-top:2px;font-style:italic}.ad-card-footer{padding:18px 24px;border-top:2px solid var(--border);background:var(--surface);border-radius:0 0 10px 10px;display:flex;justify-content:flex-end}@media(max-width:1200px){.ad-placement-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.ad-grid{grid-template-columns:repeat(1,1fr)}}@media(max-width:768px){.ad-placement-list{grid-template-columns:1fr}}@media(max-width:640px){.ad-card-header{padding:14px 16px;flex-direction:column;align-items:flex-start;gap:12px}.ad-card-header legend{font-size:15px;flex-wrap:wrap}.ad-grid{padding:16px;gap:16px}.ad-fields-row{grid-template-columns:1fr}.ad-card-footer{padding:14px 16px}.ad-card-footer button{width:100%}}.form-container{border:1px solid var(--color-slate-200);border-radius:12px;padding:24px;background:#fff;display:flex;flex-direction:column;gap:24px;width:100%}.form-title{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--color-slate-900);border-bottom:1px solid var(--color-slate-200);padding-bottom:8px}.editor-card{border:1px solid var(--color-slate-200);border-radius:12px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:16px}.editor-card:where(fieldset){border:1px solid var(--color-slate-200);padding:16px;margin:0}.editor-card h3,.editor-card legend{margin:0;padding:0;font-size:16px;font-weight:600;color:var(--color-slate-900);display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-card h3.clickable,.editor-card legend.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.editor-card h3.clickable:hover,.editor-card legend.clickable:hover{color:var(--color-primary-bright)}.editor-card h3.clickable:focus-visible,.editor-card legend.clickable:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px;border-radius:4px}.legend-title,.heading-title{display:flex;align-items:center;gap:8px}.collapse-icon{flex-shrink:0;transition:transform .2s;color:var(--color-slate-500)}.editor-card h3.clickable:hover .collapse-icon,.editor-card legend.clickable:hover .collapse-icon{color:var(--color-primary-bright)}.editor-card.collapsible{transition:border-color .2s}.editor-card.collapsible.collapsed{border-color:var(--color-slate-200)}.editor-card.collapsible:not(.collapsed){border-color:var(--color-slate-300)}.editor-card legend{float:none;width:auto;padding:0 4px;font-size:inherit}.legend-action,.heading-action{margin-left:auto;display:flex;align-items:center;gap:8px}.editor-card .segmented-control,.editor-card .sport-selector{margin-bottom:12px}.editor-card .fieldset{border:1px solid var(--color-slate-200);border-radius:8px;padding:16px;margin:8px 0;display:flex;flex-direction:column;gap:12px}.editor-card .fieldset legend{font-size:14px;font-weight:600;color:var(--color-slate-600);padding:0 8px}@media(max-width:768px){.form-title{font-size:18px}.form-container{gap:20px;padding:20px}}.save-image-url-info{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary, #666)}.export-item-list{max-height:400px;overflow-y:auto;border:1px solid var(--color-slate-200);border-radius:8px;padding:8px;background:var(--color-slate-50)}.export-item{display:flex;align-items:flex-start;gap:12px;padding:12px;margin-bottom:8px;background:#fff;border:1px solid var(--color-slate-200);border-radius:6px;cursor:pointer;transition:all .2s ease}.export-item:last-child{margin-bottom:0}.export-item:hover{background:var(--color-slate-50);border-color:var(--color-slate-300)}.export-item input[type=checkbox]{flex-shrink:0;margin-top:2px;cursor:pointer;width:18px;height:18px}.export-item-content{flex:1;min-width:0}.export-event-list{composes:export-item-list}.export-event-item{composes:export-item}.export-event-details{composes:export-item-content}.export-event-title,.export-item-title{display:block;font-weight:600;font-size:14px;color:var(--color-slate-900);margin-bottom:4px}.export-event-description,.export-item-description{display:block;font-size:13px;color:var(--color-slate-500);line-height:1.4}.export-item-list::-webkit-scrollbar{width:8px}.export-item-list::-webkit-scrollbar-track{background:var(--color-slate-100);border-radius:4px}.export-item-list::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:4px}.export-item-list::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}.grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}@media(max-width:1024px){.grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.grid.larger{grid-template-columns:1fr}}@media(max-width:768px){.grid{grid-template-columns:1fr;gap:10px}.grid.larger,.grid.compact{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top right,rgba(59,130,246,.22),transparent 50%),radial-gradient(circle at bottom left,rgba(14,165,233,.18),transparent 55%),linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-secondary) 100%);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.15),transparent 70%);top:-250px;right:-250px;animation:float 20s ease-in-out infinite}.login-page:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.12),transparent 70%);bottom:-200px;left:-200px;animation:float 15s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}.login-modal{width:100%;max-width:420px;padding:48px 40px;background:linear-gradient(135deg,#1e293bfa,#0f172afa);color:var(--color-slate-50);border-radius:28px;box-shadow:0 30px 60px -12px #0f172a80,0 18px 36px -18px #0f172a66,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(248,250,252,.08);position:relative;z-index:1}.login-header{text-align:center;margin-bottom:36px}.login-logo{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 20px}.login-logo img{width:80px;height:80px;object-fit:contain;border-radius:8px;filter:drop-shadow(0 10px 25px rgba(59,130,246,.4))}.login-modal h1{font-size:32px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--color-slate-50),var(--color-slate-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.login-subtitle{font-size:15px;color:var(--color-slate-400);margin:0;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:var(--color-text-muted);pointer-events:none;z-index:1;display:flex;align-items:center;justify-content:center}.input-group input{appearance:none;border:1px solid rgba(226,232,240,.15);border-radius:14px;padding:14px 16px 14px 48px;font-size:15px;width:100%;background:#f8fafcf2;color:var(--color-text);box-shadow:inset 0 1px 3px #0f172a1a;transition:all .2s ease;font-weight:500}.input-group input::placeholder{color:var(--color-slate-400)}.input-group input:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f626,inset 0 1px 3px #0f172a1a}.input-group input:focus~.input-icon,.input-group input:not(:placeholder-shown)~.input-icon{color:var(--color-primary-bright)}.input-group input:disabled{opacity:.6;cursor:not-allowed}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:600;color:var(--color-text);background:linear-gradient(135deg,#f8fafcfa,#e2e8f0fa);box-shadow:0 8px 20px #00000026,inset 0 1px #ffffff80;cursor:pointer;transition:all .2s ease;margin-top:12px}.login-submit:disabled{cursor:default;opacity:.7}.login-submit:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 28px #0003,inset 0 1px #ffffff80;background:linear-gradient(135deg,var(--color-slate-50),var(--color-slate-200))}.login-submit:not(:disabled):active{transform:translateY(0);box-shadow:0 4px 12px #00000026,inset 0 1px #ffffff80}.login-error{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--color-amber);background:var(--color-amber-bg-medium);padding:12px 16px;border-radius:12px;border:1px solid var(--color-amber-border);margin-top:-4px}.login-error svg{flex-shrink:0}@media(max-width:480px){.login-modal{padding:36px 28px;max-width:100%}.login-logo img{width:64px;height:64px}.login-modal h1{font-size:28px}.login-subtitle{font-size:14px}.input-group input{font-size:16px}}.auth-gate{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:32px}.auth-gate-card{width:min(480px,92vw);padding:32px;border-radius:26px;background:#ffffffe0;box-shadow:0 28px 68px #0f172a3d;border:1px solid rgba(148,163,184,.22);text-align:center;display:flex;flex-direction:column;gap:16px}.auth-gate-card h1{margin:0;font-size:28px}.auth-gate-card p{margin:0;color:var(--color-slate-600);font-size:16px}.auth-gate-status{margin:0;font-size:14px;color:var(--color-primary);font-weight:600}.sidebar{width:260px;background:#fff;border-right:1px solid var(--color-slate-200);height:100%;overflow:hidden;flex-shrink:0;transition:width .3s ease;display:flex;flex-direction:column}.sidebar--collapsed{width:70px}.sidebar__header{padding:12px 16px;border-bottom:1px solid var(--color-slate-200);display:flex;justify-content:flex-end;background:#fff;flex-shrink:0;position:sticky;top:0;z-index:10}.sidebar--collapsed .sidebar__header{justify-content:center;padding:12px 8px}.sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-slate-500);cursor:pointer;border-radius:6px;transition:all .2s ease}.sidebar__toggle:hover{background:#3b82f61a;color:var(--color-primary)}.sidebar__toggle:active{transform:scale(.95)}.sidebar__toggle .material-icons{font-size:20px}.sidebar__nav{padding:16px 0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;overflow-x:hidden;flex:1}.sidebar__home-link{display:flex;align-items:center;gap:10px;padding:10px 20px;margin:0 12px 12px;color:var(--color-slate-900);text-decoration:none;font-weight:600;font-size:15px;border-radius:8px;background:linear-gradient(135deg,#3b82f61a,#2563eb14);border:1px solid rgba(59,130,246,.15);transition:all .2s ease;white-space:nowrap}.sidebar--collapsed .sidebar__home-link{padding:10px;margin:0 8px 12px;justify-content:center}.sidebar__home-link:hover{background:linear-gradient(135deg,#3b82f626,#2563eb1f);border-color:#3b82f640;transform:translate(2px)}.sidebar--collapsed .sidebar__home-link:hover{transform:none}.sidebar__home-link .material-icons{color:var(--color-primary);flex-shrink:0;font-size:20px}.sidebar__group{margin-bottom:20px}.sidebar--collapsed .sidebar__group{margin-bottom:8px}.sidebar__group-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;padding:0;transition:all .2s ease}.sidebar__group-header:hover{background:#3b82f60a}.sidebar__group-header:hover .sidebar__group-title{color:var(--color-slate-600)}.sidebar__group-header:hover .sidebar__group-icon{color:var(--color-primary)}.sidebar__group-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-slate-500);padding:8px 20px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left;transition:color .2s ease}.sidebar__group-icon{font-size:18px;color:var(--color-slate-400);padding-right:16px;transition:all .2s ease;flex-shrink:0}.sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sidebar__link{display:flex;align-items:center;gap:12px;padding:10px 20px 10px 32px;color:var(--color-slate-600);text-decoration:none;font-size:14px;font-weight:500;transition:all .15s ease;border-left:3px solid transparent;position:relative;white-space:nowrap}.sidebar--collapsed .sidebar__link{padding:10px;justify-content:center;border-left:none}.sidebar__link-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__link-icon.material-icons{font-size:18px}.sidebar__link-label{overflow:hidden;text-overflow:ellipsis}.sidebar__link:hover{background:#3b82f60f;color:var(--color-slate-800);border-left-color:#3b82f64d}.sidebar--collapsed .sidebar__link:hover{border-left-color:transparent}.sidebar__link--active{background:linear-gradient(90deg,#3b82f61f,#3b82f60a);color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.sidebar--collapsed .sidebar__link--active{background:#3b82f61f;border-left-color:transparent}.sidebar__link--active:hover{background:linear-gradient(90deg,#3b82f626,#3b82f60f)}.sidebar--collapsed .sidebar__link--active:hover{background:#3b82f626}@media(max-width:968px){.sidebar{width:220px}.sidebar--collapsed{width:60px}.sidebar__home-link{font-size:14px;padding:8px 16px;margin:0 8px 12px}.sidebar--collapsed .sidebar__home-link{padding:8px}.sidebar__group-title{font-size:11px;padding:8px 16px}.sidebar__group-icon{padding-right:12px;font-size:16px}.sidebar__link{padding:9px 16px 9px 28px;font-size:13px}.sidebar--collapsed .sidebar__link{padding:9px}}@media(max-width:768px){.sidebar{position:fixed;left:-260px;top:0;bottom:0;z-index:200;box-shadow:2px 0 8px #0000001a;transition:left .3s ease,width .3s ease}.sidebar--collapsed{left:-70px}.sidebar--mobile-open{left:0}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top right,rgba(59,130,246,.18),transparent 55%),radial-gradient(circle at bottom left,rgba(14,165,233,.14),transparent 60%),var(--color-bg);overflow-x:hidden;width:100%}.app-shell__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:8px 24px;background:linear-gradient(135deg,var(--color-slate-900),var(--color-slate-800) 55%,var(--color-primary));color:var(--color-slate-50);box-shadow:0 12px 28px #0f172a38;position:sticky;top:0;z-index:100}.header-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}.app-shell__brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;transition:opacity .2s ease}.app-shell__brand:hover{opacity:.9}.brand-logo{width:32px;height:32px;object-fit:contain;border-radius:8px}.brand-text{font-size:24px;font-weight:700;letter-spacing:.02em}.app-shell__session{display:flex;align-items:center;gap:12px;background:#0f172a99;padding:10px 18px;border-radius:28px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(248,250,252,.1);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a}.session-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6cc,#2563ebe6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.app-shell__session-info{display:flex;flex-direction:column;gap:2px;line-height:1;padding-right:8px}.session-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-weight:500}.session-username{font-size:15px;font-weight:600;color:var(--color-slate-50);text-shadow:0 1px 2px rgba(0,0,0,.2)}.session-logout{display:flex;align-items:center;gap:6px;border:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#f8fafcf2,#e2e8f0f2);color:var(--color-slate-900);transition:all .2s ease;box-shadow:0 2px 8px #00000026}.mobile-logout{display:none}.session-logout:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003;background:linear-gradient(135deg,var(--color-slate-50),var(--color-slate-200))}.session-logout:active{transform:translateY(0);box-shadow:0 1px 4px #0003}.session-logout svg{opacity:.8}.app-shell__login{display:flex;align-items:center;gap:10px;background:#0f172a99;padding:10px 16px;border-radius:20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(248,250,252,.1);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a}.login-fields{display:flex;align-items:center;gap:8px}.login-fields input{appearance:none;border:1px solid rgba(226,232,240,.2);border-radius:12px;padding:10px 14px;font-size:14px;min-width:160px;background:#f8fafcf2;color:var(--color-slate-900);box-shadow:inset 0 1px 3px #0f172a1a;transition:all .2s ease}.login-fields input:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a,inset 0 1px 3px #0f172a1a}.login-fields input:disabled{opacity:.6;cursor:not-allowed}.login-fields input::placeholder{color:var(--color-slate-400)}.login-submit{display:flex;align-items:center;gap:8px;border:none;border-radius:14px;padding:10px 18px;font-size:14px;font-weight:600;color:var(--color-slate-900);background:linear-gradient(135deg,#f8fafcf2,#e2e8f0f2);box-shadow:0 2px 8px #00000026;cursor:pointer;transition:all .2s ease}.login-submit:disabled{cursor:default;opacity:.7;box-shadow:none}.login-submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003;background:linear-gradient(135deg,var(--color-slate-50),var(--color-slate-200))}.login-submit:not(:disabled):active{transform:translateY(0);box-shadow:0 1px 4px #0003}.login-submit svg{opacity:.8}.spinner{animation:spin 1s linear infinite}.login-feedback{margin:0 0 0 12px;font-size:13px;font-weight:500;color:var(--color-amber);background:#fbbf241a;padding:6px 12px;border-radius:8px;border:1px solid rgba(251,191,36,.2)}.app-shell__body{flex:1 1 auto;display:flex;overflow:hidden;width:100%}.app-shell__content{flex:1 1 auto;padding:8px 16px;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}@media(max-width:720px){.app-shell__header{padding:12px 16px;gap:16px;flex-wrap:nowrap}.header-row{width:100%}.app-shell__session{width:auto;flex-shrink:0;gap:8px;padding:8px 12px}.session-avatar{width:32px;height:32px}.app-shell__session-info,.desktop-logout{display:none}.mobile-logout{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:50%;width:40px;height:40px;min-height:auto}.brand-logo{width:28px;height:28px}.brand-text{font-size:20px}.app-shell__login{flex-direction:column;align-items:stretch;gap:10px;width:100%}.login-fields{flex-direction:column;align-items:stretch}.login-fields input{width:100%;min-height:44px;font-size:16px}.app-shell__login button{min-height:44px;width:100%}.login-feedback{margin-left:0;text-align:center}.app-shell__content{padding:4px 12px}}.brand-info{display:flex;flex-direction:column;line-height:1}.brand-version{font-size:10px;font-weight:500;color:var(--color-slate-400);letter-spacing:.05em}.main-content{display:grid;grid-template-columns:300px 1fr;gap:32px}.controls-container{background:var(--color-card-bg);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;border:1px solid var(--color-border-light)}.controls{display:flex;flex-direction:column;gap:16px}.preview{display:flex;overflow-x:auto;gap:16px;padding-bottom:16px}.screenshot-container{display:flex;flex-direction:column;gap:12px;width:300px;flex-shrink:0;background:var(--color-card-bg);border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;border:1px solid var(--color-border-light);transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.screenshot-container:hover{box-shadow:0 4px 12px #00000014,0 2px 4px #0000000f}.screenshot-text{white-space:pre-wrap}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-weight:600;font-size:13px;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.05em}.control-group input[type=file]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-input);background-color:var(--color-input-bg);box-sizing:border-box;font-family:inherit;font-size:14px;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer}.control-group input[type=file]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.text-input-group{display:flex;flex-direction:column;gap:6px}.text-input-group label{font-weight:600;font-size:13px;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.05em}@media(max-width:920px){.main-content{grid-template-columns:1fr;gap:24px}.controls-container{order:2}.preview{order:1}}@media(max-width:640px){.main-content{gap:16px}.controls-container{padding:16px}.controls{gap:12px}.screenshot-container{width:250px}.control-group input[type=file]{min-height:44px;font-size:14px}}.utilities-controls{display:flex;justify-content:center;align-items:center}.utilities-content{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.utility-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.utility-controls{display:flex;flex-direction:column;gap:1rem}.output-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.output-header label{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.hash-outputs{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.hash-output{display:flex;flex-direction:column;gap:.5rem}.timestamp-section{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:6px}.timestamp-section h3{margin:0;color:var(--color-text-dark);font-size:1rem;font-weight:600}.inline-control{display:flex;align-items:center;gap:.75rem}.inline-control label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;white-space:nowrap}@media(max-width:768px){.utility-card{padding:1.5rem}.button-group{flex-direction:column}.button-group button{width:100%}.output-header{flex-direction:column;align-items:flex-start;gap:.5rem}.output-header button{width:100%}.hash-output .output-header{flex-direction:row;justify-content:space-between;align-items:center}.hash-output .output-header button{width:auto}}.scraper-section{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;display:flex;flex-direction:column;gap:1rem}.section-title{margin:0 0 .5rem;color:var(--color-text-dark);font-size:1.125rem;font-weight:600}.input-controls{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.url-input-group{display:flex;gap:.5rem;align-items:stretch}.url-input-group input{flex:1}.extraction-content{margin-top:1rem}.extraction-controls{display:flex;flex-direction:column;gap:1rem}.output-format-group{display:flex;flex-direction:column;gap:.5rem}.output-format-group>label{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.radio-group{display:flex;gap:1rem;flex-wrap:wrap}.radio-group label{display:flex;align-items:center;gap:.5rem;color:var(--color-text);font-size:.9375rem;cursor:pointer}.radio-group input[type=radio]{cursor:pointer;width:16px;height:16px}.quick-selectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.regex-shortcuts-section{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:6px}.shortcuts-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.regex-shortcuts{display:flex;gap:.5rem;flex-wrap:wrap}.regex-shortcuts button{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:.5rem .875rem}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.match-count{color:var(--color-text-secondary);font-size:.875rem;font-weight:600;padding:.375rem .75rem;background:var(--color-bg);border-radius:6px;border:1px solid var(--color-border)}@media(max-width:768px){.scraper-section{padding:1rem}.url-input-group{flex-direction:column}.url-input-group input{width:100%}.button-group{flex-direction:column}.button-group button{width:100%}.quick-selectors{grid-template-columns:1fr}.regex-shortcuts{flex-direction:column}.regex-shortcuts button{width:100%}.radio-group{flex-direction:column;gap:.5rem}.results-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.notifications-dashboard-page{padding:20px}.dashboard-content{margin-top:20px}.hooks-test-container{padding:2rem}.test-section{background:var(--surface-elevated, white);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:2rem;margin-bottom:2rem}.test-section h2{margin-top:0;margin-bottom:.5rem;color:var(--text-primary, #1a1a1a)}.test-section .description{color:var(--text-secondary, #666);margin-bottom:1.5rem;font-size:.9rem}.test-controls{margin-bottom:1.5rem}.test-controls:last-child{margin-bottom:0}.test-controls h3{margin-top:0;margin-bottom:1rem;font-size:1rem;color:var(--text-primary, #1a1a1a)}.button-group{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.status-display{background:var(--surface-base, #f5f5f5);border-radius:4px;padding:1rem;margin-top:1rem}.status-display strong{display:block;margin-bottom:.5rem;color:var(--text-primary, #1a1a1a)}.data-preview{margin-top:1rem}.data-preview h3{margin-top:0;margin-bottom:.5rem;font-size:.9rem}.data-preview pre{background:var(--surface-base, #f5f5f5);padding:1rem;border-radius:4px;overflow-x:auto;font-size:.85rem;max-height:200px;overflow-y:auto}.status-info{background:var(--surface-base, #f5f5f5);border-left:3px solid var(--color-primary, #2196F3);padding:.75rem 1rem;margin-top:1rem;border-radius:4px}.status-info p{margin:.25rem 0;font-size:.9rem}.hint{color:var(--text-secondary, #666);font-style:italic;font-size:.9rem}.selected-image{margin-top:1rem;padding:1rem;background:var(--surface-base, #f5f5f5);border-radius:4px}.selected-image p{margin-top:0;margin-bottom:.5rem;font-weight:500}.selected-image code{display:block;padding:.5rem;background:#fff;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;font-size:.85rem;word-break:break-all}.publish-modal-content{padding:1rem 0}.publish-modal-content p{margin:.5rem 0}.publish-modal-content label{display:block;margin:1rem 0;font-weight:500}.publish-modal-content input{width:100%;padding:.5rem;margin-top:.5rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;font-size:.9rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #e0e0e0)}.mock-image-library{padding:1rem 0}.mock-image-library p{margin:.5rem 0}.summary{background:linear-gradient(135deg,var(--color-purple-gradient-1) 0%,var(--color-purple-gradient-2) 100%);color:#fff;border:none}.summary h2{color:#fff;margin-bottom:1rem}.summary ul{list-style:none;padding:0;margin:1rem 0}.summary li{padding:.5rem 0;font-size:1rem}.summary .impact{background:#fff3;padding:1rem;border-radius:4px;margin-top:1rem;font-size:1.1rem}.summary .impact strong{display:inline;color:var(--color-gold)}.gist-loader label{font-weight:600}.gist-preset-selector{margin-bottom:8px}.meta{color:var(--color-gray-500);font-size:14px}.image-url-info{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary, #666)}.gist-stats{display:flex;gap:12px;flex-wrap:wrap}.events-overview{background:var(--color-card-bg);border:1px solid var(--color-gray-200);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.events-overview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.events-overview-header h2{margin:0;font-size:20px}.events-strip{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}.events-strip::-webkit-scrollbar{height:6px}.events-strip::-webkit-scrollbar-thumb{background:var(--color-indigo-light);border-radius:999px}.event-sections{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--color-slate-200);padding-top:16px}.editor-card{border:1px solid var(--color-slate-200);border-radius:12px;padding:16px;background:var(--color-card-bg);display:flex;flex-direction:column;gap:16px}.editor-card h3{margin:0;font-size:16px;color:var(--color-slate-900)}.team-groups{display:grid}.event-strip-title{font-weight:600;color:var(--color-slate-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-strip-subtitle{font-size:12px;color:var(--color-slate-600)}.editor-section{background:var(--color-card-bg);border:1px solid var(--color-gray-200);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-actions{display:flex;gap:12px}.editor-header h2{margin:0}.editor-list{display:flex;flex-direction:column;gap:16px}.editor-item{border:1px solid var(--color-gray-200);border-radius:12px;padding:0 16px 16px;background:var(--color-slate-50)}.summary-meta{color:var(--color-gray-500);font-size:14px}.event-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0}.summary-main{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;border:none;background:transparent;padding:0;margin:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left;border-radius:8px}.summary-main:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.summary-title{font-weight:600;color:var(--color-slate-900);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;flex-wrap:wrap;margin-left:auto}.summary-chevron{width:10px;height:10px;border-right:2px solid var(--color-slate-600);border-bottom:2px solid var(--color-slate-600);transform:rotate(-45deg);transition:transform .2s ease;margin-right:4px}.summary-chevron-open{transform:rotate(45deg)}.summary-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--color-slate-900);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.summary-toggle input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}.summary-toggle-track{width:38px;height:22px;border-radius:999px;background:var(--color-indigo-light);display:inline-flex;align-items:center;padding:2px;transition:background .2s ease}.summary-toggle-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-white);box-shadow:0 1px 2px #0f172a40;transform:translate(0);transition:transform .2s ease}.summary-toggle input:checked+.summary-toggle-track{background:var(--color-success)}.summary-toggle input:checked+.summary-toggle-track .summary-toggle-thumb{transform:translate(16px)}.summary-toggle input:focus-visible+.summary-toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.summary-toggle-text{font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.grid.larger{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:flex;flex-direction:column;gap:4px}.field--duration{flex:0 0 auto;min-width:200px}.field label{font-weight:600;font-size:14px;color:var(--color-gray-800)}.field input,.field textarea,.field select{padding:8px 10px;border-radius:8px;border:1px solid var(--color-gray-300);font:inherit;background-color:var(--color-white)}.field textarea{resize:vertical}.id-input-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.id-input-row input{flex:1 1 auto;min-width:0}.modal-field{display:flex;flex-direction:column;gap:6px}.export-event-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;border:1px solid var(--color-slate-200);border-radius:8px;padding:12px}.export-event-item{display:flex;align-items:center;gap:8px;cursor:pointer}.export-event-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.export-event-details{display:flex;flex-direction:column;gap:2px}.export-event-title{font-weight:600;color:var(--color-gray-800)}.export-event-description{font-size:12px;color:var(--color-gray-500)}.input-error{border-color:var(--color-danger-bright);box-shadow:0 0 0 1px #ef444426}.input-error:focus{outline:none;box-shadow:0 0 0 2px #ef444440}.field-error{font-size:12px;color:var(--color-danger);font-weight:500}.checkbox-field{flex-direction:row;align-items:center;justify-content:space-between}.checkbox-field label{margin-right:12px}.fieldset{border:1px solid var(--color-gray-300);border-radius:10px;padding:10px 14px 2px;margin-bottom:12px;background:var(--color-card-bg)}.fieldset legend{padding:0 8px;font-weight:600;color:var(--color-gray-900)}.timed-grid{align-items:flex-start}.hint{font-size:12px;color:var(--color-gray-500)}.date-human{font-size:13px;font-weight:600;color:var(--color-slate-900)}.date-epoch{font-size:11px;color:var(--color-slate-400)}.sport-selector{display:flex;gap:8px;flex-wrap:wrap}.sports-events-control{display:inline-flex;flex-wrap:wrap;align-self:flex-start;max-width:100%;border:1px solid var(--color-indigo-light);border-radius:12px;overflow:hidden;background:var(--color-indigo-bg)}.sports-events-segment{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;color:var(--color-gray-800);font-weight:600}.sports-events-segment+.sports-events-segment{border-left:1px solid var(--color-indigo-light)}.sports-events-segment-selected{background:var(--color-primary);color:var(--color-white)}.sports-events-segment-icon{font-size:16px}.sports-events-segment-with-icon{display:inline-flex;align-items:center;gap:6px}.team-group h4{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate-600)}.team-grid{grid-template-columns:1fr 1fr}@media(max-width:640px){.team-grid{grid-template-columns:1fr}}.team-grid .field textarea{font-size:12px;resize:vertical}.json-preview{border-top:1px solid var(--color-gray-200);padding-top:12px;margin-top:auto;display:flex;flex-direction:column;gap:12px}.json-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.json-preview-header h3{margin:0}.json-preview pre{background:var(--color-slate-900);color:var(--color-cyan-light);padding:16px;border-radius:12px;max-height:360px;overflow:auto;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}button{border-radius:8px;border:1px solid transparent;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):hover{transform:translateY(-1px)}input,textarea,select{width:100%;box-sizing:border-box}@media(max-width:920px){.grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.grid.larger{grid-template-columns:1fr}}@media(max-width:768px){.editor-header{flex-direction:column;align-items:stretch}.editor-actions{width:100%;flex-direction:row;flex-wrap:wrap}.editor-actions button{width:auto;flex:1}.summary-actions{flex-direction:row;width:100%;flex-wrap:wrap;margin-top:8px;margin-left:0}.summary-actions button{width:auto;flex:1}.summary-actions .toggle-switch{width:100%;flex-basis:100%;margin-top:8px;justify-content:center}.team-groups{gap:12px}}@media(max-width:640px){.editor-item{padding:0 12px 12px}.gist-input-row{flex-direction:column;align-items:stretch}.gist-input-row button{width:100%}.gist-input-row select{width:100%;min-height:44px}.grid{grid-template-columns:1fr;gap:10px}.grid.larger{grid-template-columns:1fr}.field label{font-size:13px}.field input,.field textarea,.field select{font-size:16px;min-height:44px}.gist-input-row select{min-height:44px;padding:10px}.editor-section{padding:16px}.gist-stats{flex-wrap:wrap;gap:8px}.events-overview{padding:12px}.json-preview-header{flex-direction:column;align-items:stretch}.json-preview-header button{width:100%}}.summary-title-group{display:flex;flex-direction:column;gap:2px;min-width:0}.summary-description{font-size:13px;font-weight:400;color:var(--color-gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-status-badge{margin-left:12px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap}.event-status-badge--new{background-color:var(--color-success-bg-light);color:var(--color-success-hover)}.event-status-badge--edited{background-color:var(--color-warning-bg-light);color:var(--color-amber-dark)}.event-duration-row{display:flex;align-items:flex-end;gap:20px;margin-top:12px;flex-wrap:wrap}.event-duration-display{margin-top:0;margin-bottom:0;padding:12px 16px;background:linear-gradient(135deg,var(--color-indigo-bg) 0%,#dbeafe 100%);border:1px solid var(--color-indigo-light);border-radius:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1 1 auto;min-height:46px}.event-duration-label{font-size:13px;font-weight:600;color:var(--color-slate-600);text-transform:uppercase;letter-spacing:.05em}.event-duration-value{font-size:16px;font-weight:700;color:var(--color-primary)}.channel-picker{display:flex;flex-direction:column;gap:10px}.channel-picker select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--color-gray-300);font:inherit;background-color:var(--color-white)}.channel-chip-list{display:flex;flex-wrap:wrap;gap:12px}.channel-chip{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--color-slate-200);background:var(--color-slate-50);box-shadow:inset 0 1px #fff9}.channel-chip-logo{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--color-slate-200);object-fit:contain;display:block}.channel-chip-logo-fallback{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--color-slate-200);display:flex;align-items:center;justify-content:center;color:var(--color-slate-500);font-size:12px;font-weight:600}.channel-chip-info{display:flex;flex-direction:column;gap:2px}.channel-chip-name{font-weight:600;color:var(--color-slate-900)}.channel-chip-id{font-size:12px;color:var(--color-slate-600)}.channel-chip-remove{margin-left:auto;background:var(--color-danger-bright);color:var(--color-white);padding:6px 8px;border-radius:8px}.channel-chip-empty{font-size:13px;color:var(--color-slate-600)}@media(max-width:768px){.channel-chip{width:100%}}.preview-media{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.preview-media-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-slate-800);color:var(--color-slate-400);font-size:14px;border-radius:inherit}.preview-card{--preview-height: 200px;position:relative;height:var(--preview-height);width:calc(var(--preview-height) * 16 / 9);flex:0 0 calc(var(--preview-height) * 16 / 9);border-radius:16px;overflow:hidden;background:var(--color-slate-900);color:var(--color-slate-50);display:flex;flex-direction:column;box-sizing:border-box;box-shadow:0 10px 24px #0f172a2e}.preview-card-time{position:absolute;top:8px;left:8px;background:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-slate-50);padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;z-index:10;pointer-events:none;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}.preview-card-media{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;background:var(--color-slate-800)}.preview-card-media .preview-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.preview-card-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0f172a00 35%,#0f172ad9);pointer-events:none}.preview-card-text{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;gap:6px;color:var(--color-slate-50);pointer-events:none}.preview-card-title{font-size:16px;font-weight:600;text-shadow:0 1px 2px rgba(15,23,42,.45)}.preview-card-subtitle{font-size:13px;line-height:1.4;color:var(--color-slate-200);text-shadow:0 1px 2px rgba(15,23,42,.45)}.preview-card-sports{background:linear-gradient(180deg,var(--color-slate-900) 0%,var(--color-gray-800) 100%);padding:18px 14px;gap:14px;align-items:center;text-align:center;justify-content:center}.preview-sports-matchup{display:flex;align-items:stretch;justify-content:space-between;gap:12px}.preview-sports-team{flex:1 1 0;text-align:center;font-weight:700;font-size:14px;line-height:1.35;color:var(--color-slate-50);word-break:break-word;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.preview-sports-team-name{font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-sports-logo{width:64px;height:64px;border-radius:16px;background:#0f172a59;padding:6px;box-sizing:border-box;object-fit:contain}.preview-sports-logo .remote-image-container,.preview-sports-logo{border-radius:16px}.preview-sports-logo .remote-image-container{width:100%;height:100%;background:transparent}.preview-sports-logo-fallback{width:64px;height:64px;border-radius:16px;background:#0f172a59;display:flex;align-items:center;justify-content:center;color:var(--color-slate-50);font-weight:700;font-size:24px}.preview-sports-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.preview-sports-icon{font-size:26px}.preview-sports-vs{font-weight:800;letter-spacing:.08em;color:var(--color-slate-50)}.preview-sports-description{margin:0;font-size:13px;line-height:1.5;color:var(--color-indigo-light);max-width:100%}.preview-card.is-past-event,.preview-card.is-disabled-event{opacity:.6;pointer-events:none}@media(max-width:768px){.preview-card{--preview-height: 160px}}@media(max-width:640px){.preview-card{--preview-height: 140px}}.info-item{display:flex;flex-direction:column;background:var(--color-indigo-bg);border:1px solid var(--color-gray-300);border-radius:10px;padding:8px 12px;min-width:120px}.info-item-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-slate-600)}.info-item-value{font-weight:700;color:var(--color-slate-900);font-size:16px}@media(max-width:640px){.info-item{min-width:auto}}.sports-control{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;margin-bottom:8px}.sport-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;min-height:40px;border-radius:999px;border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-slate-700);font-weight:600;font-size:14px;line-height:1.5;box-sizing:border-box;cursor:pointer;transition:all .2s ease}.sport-button:hover{background:var(--color-slate-100);border-color:var(--color-gray-400);transform:translateY(-1px)}.sport-button:active{transform:translateY(0)}.sport-button__icon{font-size:16px;line-height:1;display:flex;align-items:center}.sport-button__label{line-height:1;display:flex;align-items:center}.sport-button--selected{background:linear-gradient(135deg,var(--color-primary-bright),var(--color-primary));border-color:var(--color-primary);color:var(--color-white);box-shadow:0 4px 12px #2563eb4d}.sport-button--selected:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.sport-button--selected:active{transform:translateY(-1px);box-shadow:0 2px 8px #2563eb4d}.sport-divider{width:1px;height:24px;background:var(--color-slate-300);margin:0 12px}.team-swap{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;min-height:40px;border-radius:999px;border:1px solid var(--color-gray-300);background:var(--color-warning-bg-orange);color:var(--color-amber-darker);font-weight:600;font-size:14px;line-height:1.5;box-sizing:border-box;cursor:pointer;transition:all .2s ease}.team-swap:hover{background:var(--color-amber-bg-light);border-color:var(--color-amber-dark);transform:translateY(-1px)}.team-swap:active{transform:translateY(0)}@media(max-width:640px){.sports-control{gap:6px}.sport-button{padding:6px 12px;min-height:36px;font-size:13px;line-height:1.5}.sport-button__icon{font-size:14px}.team-swap{padding:6px 12px;min-height:36px;font-size:13px;line-height:1.5}.sport-divider{margin:0 8px;height:20px}}.timed-datetime-field{display:flex;flex-direction:column;gap:.5rem}.timed-datetime-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.timed-datetime-controls{display:flex;gap:.5rem;align-items:stretch}.timed-datetime-input-wrapper{position:relative;cursor:pointer;flex:1}.timed-datetime-native-input{position:absolute;opacity:0;pointer-events:none;width:100%;height:100%;top:0;left:0}.timed-datetime-display{width:100%;padding:.75rem 1rem;border:2px solid var(--color-slate-300);border-radius:.5rem;font-size:.9375rem;font-weight:600;background:linear-gradient(to bottom,var(--color-slate-50),var(--color-slate-100));color:var(--color-slate-900);transition:all .2s ease;cursor:pointer;box-shadow:0 1px 3px #0000001a;-webkit-user-select:none;user-select:none}.timed-datetime-display--placeholder{color:var(--color-slate-400);font-weight:500}.timed-datetime-input-wrapper:hover .timed-datetime-display{background:linear-gradient(to bottom,var(--color-white),var(--color-slate-50));border-color:var(--color-slate-400);box-shadow:0 2px 6px #0000001f}.timed-datetime-input-wrapper:active .timed-datetime-display{border-color:var(--color-primary);background:var(--color-white);box-shadow:0 0 0 3px #2563eb1a,0 2px 6px #0000001a}.timed-datetime-display--error{border-color:var(--color-danger-bright);background:linear-gradient(to bottom,#fef2f2,var(--color-danger-bg-light))}.timed-datetime-input-wrapper:hover .timed-datetime-display--error{background:linear-gradient(to bottom,var(--color-white),#fef2f2);border-color:var(--color-danger)}.timed-datetime-input-wrapper:active .timed-datetime-display--error{border-color:var(--color-danger);background:var(--color-white);box-shadow:0 0 0 3px #ef44441a,0 2px 6px #0000001a}.timed-datetime-now-button{padding:.75rem 1rem;border:2px solid var(--color-slate-300);border-radius:.5rem;font-size:.9375rem;font-weight:700;background:linear-gradient(135deg,var(--color-primary-bright) 0%,var(--color-primary) 100%);color:var(--color-white);transition:all .2s ease;cursor:pointer;box-shadow:0 1px 3px #2563eb4d;white-space:nowrap;min-width:70px}.timed-datetime-now-button:hover{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);border-color:var(--color-primary-hover);box-shadow:0 2px 6px #2563eb66;transform:translateY(-1px)}.timed-datetime-now-button:active{transform:translateY(0);box-shadow:0 1px 3px #2563eb4d}.timed-datetime-helper{margin:0;font-size:.75rem;color:var(--text-secondary)}.timed-datetime-helper--error{color:var(--danger-color)}.suggested-events-panel{margin:1.5rem 0;background:var(--color-card-bg);border:1px solid var(--color-border-light);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a,inset 0 1px #fffc;transition:all .3s cubic-bezier(.4,0,.2,1)}.panel-filters{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-card-bg);flex-wrap:wrap;position:relative}.panel-filter-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.panel-content{padding:1.25rem}.sport-group{margin-bottom:1.5rem}.sport-group:last-child{margin-bottom:0}.sport-group-header{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.75rem}.sport-group-header .sport-icon.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:var(--color-primary);opacity:.8;transition:all .25s cubic-bezier(.4,0,.2,1)}.sport-info{display:flex;align-items:center;gap:.5rem;flex:1}.sport-name{font-weight:600}.sport-count{font-size:13px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:2px 6px;border-radius:8px;min-width:20px;text-align:center}.sport-group:hover .sport-icon{opacity:1;transform:scale(1.1)}.suggestions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem}.suggestion-card{background:var(--color-card-bg);border-radius:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a,0 1px 2px #00000005;overflow:hidden;display:flex;flex-direction:row}.suggestion-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014,0 4px 8px #0000000a}.suggestion-indicator{width:4px;background:var(--color-border);flex-shrink:0}.suggestion-card.sport-soccer .suggestion-indicator{background:#10b981}.suggestion-card.sport-basketball .suggestion-indicator{background:#f59e0b}.suggestion-card.sport-tennis .suggestion-indicator{background:#6366f1}.suggestion-content{flex:1;display:flex;flex-direction:column;min-width:0}.suggestion-header{padding:1rem 1.25rem .5rem;display:flex;flex-direction:column;gap:.5rem;background:transparent;border-bottom:none}.suggestion-title{font-size:15px;font-weight:600;color:var(--color-text);line-height:1.4;margin:0;text-align:left;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.8em}.suggestion-meta{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center;color:var(--color-text-secondary);font-size:12px;overflow:hidden}.suggestion-channel{display:flex;align-items:center;font-weight:500;opacity:.9;flex-shrink:0}.suggestion-time{display:flex;align-items:center;font-weight:500;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.suggestion-status-inline{display:flex;gap:.25rem;align-items:center;margin-left:auto;flex-shrink:0}.suggestion-status-inline :deep(.mini-icon){min-width:20px;height:20px;padding:2px}.suggestion-status-inline :deep(.mini-icon .state-label-icon){font-size:14px}.suggestion-status{flex-shrink:0;display:flex;gap:.5rem;align-items:center}.suggestion-footer{padding:.5rem 1.25rem 1rem;display:flex;justify-content:flex-end;align-items:center;gap:1rem;flex-wrap:wrap}.suggestion-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;background:transparent;padding:0;border-top:none}.suggestion-actions :deep(button),.suggestion-actions :deep(.copy-button){min-height:32px;font-size:12px;font-weight:500;border-radius:8px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.suggestion-actions :deep(button:hover),.suggestion-actions :deep(.copy-button:hover){transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.suggestion-actions :deep(button:active),.suggestion-actions :deep(.copy-button:active){transform:scale(.98)}.suggestion-actions .ai-import-button{background:linear-gradient(135deg,#8b5cf6,#4f46e5);border:1px solid rgba(139,92,246,.5);color:#fff;box-shadow:0 2px 4px #6366f14d;display:inline-flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:.01em}.suggestion-actions .ai-import-button:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4338ca);border-color:#7c3aedcc;box-shadow:0 4px 12px #6366f166,0 0 0 1px #8b5cf633;transform:translateY(-1px)}.suggestion-actions .ai-import-button:disabled{opacity:.7;cursor:wait}@media(max-width:768px){.panel-filters{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.panel-filter-actions{width:100%;justify-content:stretch}.panel-filter-actions>*{flex:1;min-height:44px}.panel-content{padding:1rem}.suggestions-list{grid-template-columns:1fr;gap:.75rem}.suggestion-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.875rem}.suggestion-title{text-align:left;font-size:13px}.suggestion-footer{padding:0}.suggestion-actions{flex-direction:row;align-items:center;justify-content:flex-end;gap:.5rem;padding:.875rem}.suggestion-actions :deep(button),.suggestion-actions :deep(.copy-button){min-height:28px;font-size:11px;padding:0 8px}.suggestion-buttons{justify-content:stretch;width:100%;gap:.5rem}.suggestion-buttons>*{flex:1;min-height:40px}.sport-group-header{font-size:14px}}@media(prefers-reduced-motion:reduce){.suggested-events-panel,.suggestion-card,.sport-icon{transition:none}.suggestion-card:hover{transform:none}}@media(prefers-contrast:high){.suggested-events-panel{border-color:var(--color-text);border-width:2px}.sport-group-header{border-width:2px;font-weight:700}.suggestion-card{border-width:2px}.suggestion-card:hover{border-color:var(--color-primary)}}.epg-suggestions-widget{background:var(--color-card-bg);border:1px solid var(--color-border-light);border-radius:16px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 4px 12px #00000008,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1)}.epg-suggestions-widget.loading,.epg-suggestions-widget.error{padding:0}.epg-suggestions-widget-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:0;position:relative}.epg-suggestions-widget-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:transparent;border:none;cursor:pointer;padding:16px 20px;color:var(--color-text);transition:all .25s cubic-bezier(.4,0,.2,1);width:100%;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.epg-suggestions-widget-toggle:hover{background:var(--color-hover-bg)}.epg-widget-title-area{display:flex;align-items:center;gap:.75rem}.epg-widget-icon{color:var(--color-primary);font-size:20px}.epg-suggestions-widget-toggle h3{margin:0;font-size:15px;font-weight:600;color:var(--color-text)}.epg-widget-count-badge{background:var(--color-primary);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px;min-width:20px;text-align:center}.epg-widget-chevron{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1);color:var(--color-text-secondary)}.epg-widget-chevron:before{content:"expand_more";font-family:Material Icons;font-size:24px}.epg-widget-chevron-open{transform:rotate(180deg)}.epg-suggestions-loading{padding:3rem;text-align:center;color:var(--color-text-secondary);font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.epg-suggestions-loading:before{content:"";width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.epg-suggestions-error{margin:1rem}.epg-suggestions-empty{padding:4rem 2rem;text-align:center;color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-icon{font-size:48px;color:var(--color-border);margin-bottom:.5rem}.epg-suggestions-empty p{margin:0;font-size:15px;font-weight:500;color:var(--color-text)}.empty-hint{font-size:13px;color:var(--color-text-secondary)}.epg-suggestions-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-card-bg)}.epg-suggestions-actions{display:flex;align-items:center;gap:1rem}.epg-ai-toggle{display:flex;align-items:center;gap:.5rem}.epg-ai-toggle-unavailable{opacity:.5}.epg-ai-badge{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark, #1e40af));color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;box-shadow:0 1px 2px #0000001a}.epg-ai-progress{padding:.75rem 1.5rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:1rem}.epg-ai-progress-bar{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.epg-ai-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease-out}.epg-ai-progress-text{font-size:12px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;min-width:100px;text-align:right}@media(max-width:768px){.epg-suggestions-controls{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.epg-suggestions-actions{flex-direction:row;justify-content:space-between;width:100%}.epg-suggestions-widget-toggle{padding:14px 16px}.epg-widget-title-area{gap:.5rem}.epg-suggestions-widget-toggle h3{font-size:14px}}```.field--padded{padding:1rem;margin-bottom:1rem}.app-intro-switch-row{padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.app-intro-editors-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.app-intro-editors-row:last-of-type{margin-bottom:0}.app-intro-editor-column{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d}.app-intro-editor-label{display:block;font-weight:600;font-size:14px;margin-bottom:12px;color:var(--text-primary);padding-bottom:8px;border-bottom:1px solid var(--border)}@media(max-width:1200px){.app-intro-editors-row{grid-template-columns:1fr}}@media(max-width:640px){.app-intro-editor-column{padding:12px}.app-intro-editor-label{font-size:13px;margin-bottom:10px}.terms-editor{margin:4px}.editor-toolbar{padding:6px;gap:1px}.toolbar-group{padding:0 4px}.editor-toolbar button{min-width:32px;height:36px;padding:6px 8px;font-size:12px}.editor-content{min-height:150px;max-height:300px}.editor-content .ProseMirror{padding:12px;min-height:150px;font-size:13px}}.terms-editor{border:1px solid var(--border);border-radius:6px;background:var(--background);overflow:hidden}.editor-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:8px;background:var(--surface);border-bottom:1px solid var(--border)}.toolbar-group{display:flex;gap:2px;padding:0 6px;position:relative}.toolbar-group:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:var(--border)}.editor-toolbar button{padding:6px 10px;border:2px solid transparent;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;transition:all .15s ease;min-width:36px;height:32px;display:flex;align-items:center;justify-content:center}.editor-toolbar button:hover{background:var(--background);border-color:var(--border)}.editor-toolbar button.is-active{background:#3b82f61a;border-color:var(--primary);color:var(--primary);font-weight:700}.editor-toolbar button:disabled{opacity:.4;cursor:not-allowed}.editor-content{min-height:200px;max-height:400px;overflow-y:auto;background:var(--background);margin:8px;border-radius:4px;border:1px solid var(--border);box-shadow:inset 0 1px 2px #0000000d}.editor-content .ProseMirror{padding:16px;min-height:200px;outline:none;font-family:inherit;font-size:14px;line-height:1.6}.editor-content .ProseMirror:focus{outline:none}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-secondary);float:left;height:0;pointer-events:none}.editor-content .ProseMirror h1{font-size:2em;font-weight:700;margin:.67em 0}.editor-content .ProseMirror h2{font-size:1.5em;font-weight:700;margin:.75em 0}.editor-content .ProseMirror h3{font-size:1.17em;font-weight:700;margin:.83em 0}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{padding-left:2em;margin:1em 0}.editor-content .ProseMirror li{margin:.5em 0}.editor-content .ProseMirror a{color:var(--primary);text-decoration:underline;cursor:pointer}.editor-content .ProseMirror a:hover{text-decoration:none}.editor-content .ProseMirror strong{font-weight:700}.editor-content .ProseMirror em{font-style:italic}.editor-content .ProseMirror s{text-decoration:line-through}.editor-content .ProseMirror p{margin:.5em 0}.editor-content .ProseMirror code{background:var(--surface);padding:2px 4px;border-radius:2px;font-family:monospace;font-size:.9em}.editor-content .ProseMirror pre{background:var(--surface);padding:12px;border-radius:4px;overflow-x:auto;margin:1em 0}.editor-content .ProseMirror pre code{background:none;padding:0}.video-player-container{width:100%;height:100%;min-height:400px}.page-content{display:grid;grid-template-columns:minmax(400px,500px) 1fr;gap:24px;align-items:start;padding-bottom:32px}@media(max-width:1024px){.page-content{grid-template-columns:1fr}}.stream-config-card{background:var(--color-card-bg, white);border-radius:16px;border:1px solid var(--color-border-light);box-shadow:0 4px 16px #0000001a,0 2px 4px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);padding:24px}.stream-config-card:hover{box-shadow:0 12px 32px #00000026,0 4px 8px #00000014}.player-container{position:sticky;top:24px;background:var(--color-black);border-radius:16px;overflow:hidden;min-height:400px;height:fit-content;box-shadow:0 4px 16px #0000001a,0 2px 4px #0000000d;border:1px solid var(--color-border-light);transition:all .3s cubic-bezier(.4,0,.2,1)}.player-container:hover{box-shadow:0 12px 32px #00000026,0 4px 8px #00000014}.player-container>div{width:100%;min-height:400px}.player-container video{width:100%!important;height:100%!important;object-fit:contain}.player-container .shaka-video-container{width:100%;height:100%;position:relative;background:#000}.player-container .shaka-controls-container{position:absolute;bottom:0;left:0;right:0;z-index:10}.player-placeholder{color:var(--color-text-secondary);text-align:center;padding:48px 24px;font-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:450px;background:var(--color-bg-secondary);background:linear-gradient(to bottom,var(--color-bg-primary),var(--color-bg-secondary))}.player-placeholder svg{width:64px;height:64px;margin-bottom:20px;color:var(--color-text-tertiary);opacity:.8;transition:transform .3s ease}.player-placeholder:hover svg{transform:scale(1.1);color:var(--color-primary)}.player-placeholder div:first-of-type{font-weight:500;color:var(--color-text-primary);margin-bottom:8px;font-size:16px}.player-placeholder div:last-child{font-size:13px;color:var(--color-text-tertiary);max-width:300px;line-height:1.5}.editor-actions{display:flex;gap:12px;margin-top:16px}@media(max-width:1024px){.player-container{position:relative;top:auto;min-height:300px}.player-placeholder{min-height:300px}}.games-global-settings{padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.games-list{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:20px}@media(min-width:1200px){.games-list{grid-template-columns:repeat(2,1fr)}}.game-card{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:0;margin:0;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease,border-color .2s ease}.game-card:hover{box-shadow:0 4px 12px #0000001f;border-color:var(--primary)}.game-card-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:2px solid var(--border);background:var(--surface);border-radius:10px 10px 0 0}.game-card-header legend{display:flex;align-items:center;gap:12px;margin:0;padding:0;font-size:16px;font-weight:600}.game-number{color:var(--text-primary)}.game-name-badge{display:inline-block;padding:4px 12px;background:var(--primary);color:#fff;border-radius:12px;font-size:13px;font-weight:500}.game-grid{display:flex;flex-direction:column;gap:24px;padding:8px;background:var(--background);max-width:900px;margin:0 auto}@media(min-width:1200px){.game-grid{max-width:1200px;gap:8px}}.game-section{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.section-title{font-size:13px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin:0;letter-spacing:.5px}.game-fields-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end}.field-full-width{grid-column:1 / -1}.field-grow{flex:1}.logo-preview-box{flex-shrink:0;width:80px;height:60px;border:2px solid var(--border);border-radius:6px;background:var(--background);display:flex;align-items:center;justify-content:center;padding:4px}.logo-preview{max-width:100%;max-height:100%;object-fit:contain}.game-card-footer{padding:18px 24px;border-top:2px solid var(--border);background:var(--surface);border-radius:0 0 10px 10px;display:flex;justify-content:flex-end}@media(max-width:1024px){.game-grid{gap:20px;padding:14px}.game-section{padding:14px;gap:10px}}@media(max-width:640px){.game-card-header{padding:14px 16px;flex-direction:column;align-items:flex-start;gap:12px}.game-card-header legend{font-size:15px;flex-wrap:wrap}.game-grid{padding:12px;gap:16px}.game-section{padding:12px;gap:10px}.game-fields-row{grid-template-columns:1fr;gap:12px}.field-full-width{grid-column:1}.logo-field-wrapper{flex-direction:column;align-items:stretch}.logo-preview-box{width:100%;height:80px}.game-card-footer{padding:14px 16px}.game-card-footer button{width:100%}}.gist-loader{background:var(--color-bg-tertiary);border:1px solid var(--color-gray-200);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.editor-section{background:var(--color-card-bg);border:1px solid var(--color-gray-200);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:24px}.editor-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px solid var(--color-gray-200)}.editor-header h2{margin:0;font-size:22px}.editor-list{display:flex;flex-direction:column;gap:24px}.json-preview{background:var(--color-card-bg);border:1px solid var(--color-gray-200);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px}.json-preview h3{margin:0;font-size:18px}.json-preview pre{margin:0;padding:16px;background:var(--color-slate-800);border-radius:8px;overflow:auto;color:var(--color-slate-200);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.5}.modal-section{display:flex;flex-direction:column;gap:8px}.modal-section h4{margin:0 0 8px;font-size:15px}.modal-diff{max-height:320px;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:12px}@media(max-width:768px){.editor-section,.json-preview{padding:16px}.editor-header h2,.json-preview h3{font-size:18px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media(max-width:640px){.gist-loader{padding:12px}.json-preview pre{font-size:11px;padding:12px}.modal-section select{min-height:44px;padding:8px 10px!important;font-size:16px}}.api-key-page .page-content{width:100%;display:flex;flex-direction:column}.api-key-container{display:flex;flex-direction:column;gap:24px;width:100%;padding:8px}.table-container{width:100%;background:var(--color-card-bg);border-radius:12px;border:1px solid var(--color-gray-200);box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--color-gray-100);background:var(--color-bg-light)}.table-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-gray-900)}.table-header-actions{display:flex;gap:12px;align-items:center}.empty-state{text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-icon{font-size:64px;opacity:.5}.empty-state h3{margin:0;font-size:18px;font-weight:600;color:var(--color-gray-900)}.empty-state p{margin:0;font-size:14px;color:var(--color-gray-500);max-width:400px;line-height:1.5}.table-wrapper{overflow-x:auto}.api-keys-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.api-keys-table th{background:var(--color-slate-50);padding:12px 16px;text-align:left;font-weight:600;color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-200);white-space:nowrap}.api-keys-table th:nth-child(1){width:40px}.api-keys-table th:nth-child(2){width:120px}.api-keys-table th:nth-child(3){width:auto}.api-keys-table th:nth-child(4){width:100px;text-align:center}.api-keys-table th:nth-child(5){width:140px}.api-keys-table th:nth-child(6){width:80px;text-align:center}.api-keys-table td{padding:16px;border-bottom:1px solid var(--color-gray-100);vertical-align:middle}.api-keys-table tbody tr:hover{background:var(--color-bg-tertiary)}.api-keys-table tbody tr.revoked-row{opacity:.6;background:var(--color-danger-bg)}.id-cell{font-family:Monaco,Courier New,monospace;font-weight:600;color:var(--color-gray-500);font-size:12px}.name-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}.key-name{font-weight:600;color:var(--color-gray-900);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-cell{position:relative;display:flex;align-items:center;gap:8px;width:100%}.api-key-code{font-family:Monaco,Courier New,monospace;font-size:12px;background:var(--color-slate-100);padding:4px 8px;border-radius:4px;color:var(--color-gray-700);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--color-slate-200);min-width:0}.status-cell{text-align:center}.date-cell{font-size:13px;color:var(--color-gray-500);white-space:nowrap}.actions-cell{text-align:center}.revoke-btn{padding:6px 12px!important;font-size:12px!important;min-height:auto!important;height:auto!important}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 24px;border-top:1px solid var(--color-gray-100);background:var(--color-bg-light)}.page-info{font-size:14px;color:var(--color-gray-500);font-weight:500}.modal-content{display:flex;flex-direction:column;gap:20px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid var(--color-gray-100)}.warning-text{margin:0;padding:12px 16px;background:var(--color-danger-bg);border:1px solid #fecaca;border-radius:8px;color:var(--color-danger-darker);font-size:14px;line-height:1.5}.StatusMessage{margin-bottom:24px}@media(max-width:1024px){.api-key-container{padding:8px}.table-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:20px 16px;flex-wrap:wrap;gap:12px}.table-header h2{font-size:18px;margin:0;flex-shrink:0}.table-header-actions{display:flex;gap:8px;flex-shrink:0}.table-wrapper{margin:0}.api-keys-table{border:none}.api-keys-table thead{display:none}.api-keys-table tbody{display:flex;flex-direction:column;gap:12px;padding:16px}.api-keys-table tbody tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"header header" "key key" "footer footer";border:1px solid var(--color-border-light);border-radius:16px;padding:16px;background:var(--color-card-bg);gap:0;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a,inset 0 1px #fffc;transition:all .25s cubic-bezier(.4,0,.2,1)}.api-keys-table tbody tr:hover{border-color:var(--color-border-dark);box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f,inset 0 1px #fffc;transform:translateY(-2px)}.api-keys-table tbody tr.revoked-row{background:var(--color-danger-bg);border-color:var(--color-danger-border);opacity:.85;box-shadow:0 2px 6px #dc26261a,0 1px 2px #dc26260f}.api-keys-table tbody tr.revoked-row:hover{transform:none;opacity:.9}.api-keys-table td{padding:0;border:none}.api-keys-table td:before{display:none}.id-cell{grid-area:header;display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;font-weight:600;color:var(--color-text-secondary)}.name-cell{grid-area:header;display:flex;align-items:center;gap:8px;margin-bottom:14px;max-width:none}.key-name{font-size:16px;font-weight:600;color:var(--color-text);flex:1;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.status-cell{grid-area:header;display:flex;align-items:center;justify-content:flex-end;margin-bottom:14px;text-align:right}.key-cell{grid-area:key;display:flex;flex-direction:row;align-items:center;gap:0px;padding:14px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;margin-bottom:14px;width:auto;box-shadow:inset 0 1px 2px #0000000d,0 1px 2px #00000005}.api-key-code{flex:1;font-size:11px;font-family:Monaco,Courier New,monospace;background:transparent;padding:0 12px;border:none;word-break:break-all;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;color:var(--color-text)}.date-cell{grid-area:footer;display:flex;align-items:center;font-size:12px;color:var(--color-text-secondary);white-space:normal;font-weight:500}.date-cell:before{content:"🕐 ";margin-right:4px;opacity:.7}.actions-cell{grid-area:footer;display:flex;justify-content:flex-end;align-items:center;text-align:right}.revoke-btn{padding:6px 12px!important;font-size:12px!important}.pagination{padding:16px;flex-wrap:wrap;gap:12px;font-size:14px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media(max-width:768px){.api-key-container{padding:8px}.table-header{padding:16px 12px;gap:10px}.table-header h2{font-size:16px}.table-header-actions{gap:6px}.api-keys-table tbody{padding:12px;gap:10px}.api-keys-table tbody tr{padding:14px;border-radius:14px}.id-cell{font-size:10px;margin-bottom:12px}.name-cell{margin-bottom:12px}.key-name{font-size:15px}.status-cell{margin-bottom:12px}.key-cell{padding:2px;gap:8px;margin-bottom:12px}.api-key-code{font-size:10px}.date-cell{font-size:11px}.revoke-btn{padding:5px 10px!important;font-size:11px!important}.pagination{padding:12px;gap:8px;font-size:13px}}.api-keys-table tbody tr.disabled-row{pointer-events:none;opacity:.5}button:disabled{opacity:.6;cursor:not-allowed}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--color-slate-100);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}.app-card{display:flex;flex-direction:column;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--color-slate-200);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:all .2s ease;height:100%}.app-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000006;border-color:var(--color-slate-300)}.app-card__header{margin-bottom:16px}.app-card__header-row{display:flex;align-items:center;gap:12px}.app-card__logo{width:48px;height:48px;border-radius:10px;object-fit:cover;box-shadow:0 1px 3px #0000001a;flex-shrink:0;background:var(--color-slate-100)}.app-card__logo-placeholder{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--color-slate-100) 0%,var(--color-slate-200) 100%);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--color-slate-400);flex-shrink:0}.app-card__title-container{flex:1;min-width:0}.app-card__title{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--color-slate-900);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card__id-container{display:flex;align-items:center}.app-card__id{font-size:12px;color:var(--color-slate-500);font-family:JetBrains Mono,monospace;background:var(--color-slate-50);padding:2px 6px;border-radius:4px;border:1px solid var(--color-slate-100);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-card__content{display:flex;flex-direction:column;flex:1;gap:16px}.app-card__onesignal-section{flex:1;display:flex;flex-direction:column;justify-content:center}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;width:fit-content}.status-badge--warning{background:#fffbeb;color:#b45309;border:1px solid #fcd34d}.status-badge--error{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.app-card__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--color-slate-50);padding:12px;border-radius:8px;border:1px solid var(--color-slate-100)}.metric{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.metric__value{font-size:16px;font-weight:700;color:var(--color-slate-800);line-height:1.2}.metric__label{font-size:10px;color:var(--color-slate-500);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.app-card__stats{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-slate-100);font-size:12px}.stat{display:flex;flex-direction:column;gap:2px}.stat__label{color:var(--color-slate-400);font-size:11px;font-weight:500}.stat__value{color:var(--color-slate-600);font-weight:600}@media(max-width:640px){.app-card{padding:16px}.app-card__metrics{grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}.metric__value{font-size:14px}.metric__label{font-size:9px}}.app-config-content{min-height:400px}.app-config-form{padding:1rem 0}.app-config-form h3{margin:0 0 1.5rem;color:#374151;font-size:1.25rem;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.form-field label{font-weight:500;color:#374151;font-size:.875rem}.form-field input{width:100%}.app-stores-section{margin-bottom:2rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;background-color:#f9fafb}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.section-header h4{margin:0;color:#374151;font-size:1rem;font-weight:600}.empty-stores{text-align:center;padding:2rem 1rem;color:#6b7280}.empty-stores p{margin:.5rem 0;font-size:.875rem}.app-stores-list{display:flex;flex-direction:column;gap:1rem}.app-store-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;gap:.75rem}.app-store-fields{display:flex;align-items:center;gap:.75rem;flex:1}.app-store-type{display:flex;align-items:center;gap:.5rem;min-width:220px}.store-icon{font-size:1.25rem;flex-shrink:0}.store-type-select{flex:1;min-width:0}.custom-store-name{margin-bottom:.5rem;margin-top:.5rem;width:100%}.store-url{flex:1;min-width:200px}.app-store-actions{flex-shrink:0;display:flex;align-items:center}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.app-config-list{padding:1rem 0}.list-header{margin-bottom:1.5rem;display:flex;justify-content:flex-end}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem}.config-card{border:1px solid var(--color-border-light);border-radius:12px;padding:0;background-color:var(--color-card-bg);box-shadow:0 1px 4px #0000000f,0 1px 2px #0000000a,inset 0 1px #fffc;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.config-card:hover{border-color:var(--color-border);box-shadow:0 2px 8px #00000014,0 1px 3px #0000000f;transform:translateY(-1px)}.config-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);background:linear-gradient(135deg,var(--color-card-bg) 0%,var(--color-bg-secondary) 100%);gap:.75rem}.config-title-column{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.config-logo{width:32px;height:32px;border-radius:6px;object-fit:cover;border:1px solid var(--color-border-light);background-color:var(--color-bg-secondary);flex-shrink:0}.config-title{margin:0;color:var(--color-text);font-size:1rem;font-weight:600;line-height:1.2}.config-package{display:inline-flex;align-self:flex-start;padding:.125rem .5rem;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.625rem;font-weight:500;border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;text-transform:lowercase}.config-actions{display:flex;gap:.25rem;flex-shrink:0}.config-content{padding:1rem}.config-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border-light)}.config-row:last-child{border-bottom:none}.config-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);flex-shrink:0;margin-right:.75rem}.config-value{font-size:.75rem;color:var(--color-text);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;flex:1;text-align:right;word-break:break-all}.config-value-with-copy{display:flex;align-items:center;gap:.5rem;flex:1}.config-value-with-copy .config-value{flex:1;text-align:right}.config-stores{flex:1;display:flex;flex-wrap:nowrap;gap:.25rem;margin-left:auto;overflow-x:auto;padding-bottom:2px;justify-content:flex-end;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.config-stores::-webkit-scrollbar{height:4px}.config-stores::-webkit-scrollbar-track{background:transparent}.config-stores::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.config-stores::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.store-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--color-bg-secondary);color:var(--color-text);text-decoration:none;border-radius:6px;font-size:.625rem;font-weight:500;border:1px solid var(--color-border);transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;white-space:nowrap;flex-shrink:0}.store-chip:hover{background:var(--color-hover-bg);border-color:var(--color-border-dark);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;text-decoration:none}.store-chip-icon{font-size:.625rem;flex-shrink:0}.store-chip-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.config-link{color:var(--color-primary);text-decoration:none;font-size:.75rem;font-weight:500;transition:color .2s ease;text-align:right}.config-link:hover{color:var(--color-primary-dark);text-decoration:none}.config-stores{margin-top:.5rem}.stores-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.store-link{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:#f3f4f6;color:#374151;text-decoration:none;border-radius:.25rem;font-size:.75rem;transition:all .2s ease;max-width:100%;overflow:hidden}.store-link:hover{background-color:#e5e7eb;color:#111827;text-decoration:none}.store-link-icon{flex-shrink:0;font-size:.75rem}.store-link-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.form-grid{grid-template-columns:1fr;gap:1rem}.app-store-item{flex-direction:column;align-items:stretch;padding:1rem;gap:1rem}.app-store-fields{flex-direction:column;align-items:stretch;gap:1rem}.app-store-type{flex-direction:column;align-items:stretch;min-width:auto;gap:.5rem}.app-store-actions{align-self:flex-end}.stores-list{flex-direction:column}.store-link{max-width:none}.section-header{flex-direction:column;align-items:stretch;gap:1rem}.config-grid{grid-template-columns:1fr}.config-header{flex-direction:column;align-items:stretch;gap:1rem}.config-title-column{align-items:flex-start;gap:.25rem}.config-logo{align-self:flex-start}.config-header h4{margin-right:0}.config-actions{justify-content:flex-end}.form-actions{flex-direction:column}.modal-actions{display:flex;flex-direction:column;gap:.75rem}.modal-actions button{width:100%}}.app-config-form.loading,.app-config-list.loading{opacity:.6;pointer-events:none}.app-config-content .status-message{margin-bottom:1rem}.form-field input:focus{outline:2px solid #2563eb;outline-offset:2px}.form-field input:invalid{border-color:#ef4444}.form-field input:invalid:focus{border-color:#ef4444;outline-color:#ef4444}.dashboard-message{margin-bottom:16px}.page-header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.page-header-actions .status-message{margin-right:1rem}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.dashboard-loading p{margin:0;font-size:16px;color:var(--color-slate-500);font-weight:500}.dashboard-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px}.app-count{font-size:14px;font-weight:500;color:var(--color-slate-500)}.apps-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}@media(max-width:920px){.apps-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:640px){.notifications-dashboard{padding:12px 0}.dashboard-content{margin-top:24px}.apps-grid{grid-template-columns:1fr;gap:16px}.dashboard-controls{flex-direction:column;align-items:stretch}.search-container{max-width:100%}}.preset-form{display:flex;flex-direction:column;gap:24px}.preset-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.icon-picker-wrapper{position:relative;display:flex;align-items:center;gap:8px}.icon-picker-button{display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--color-slate-300);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;flex:1}.icon-picker-button:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.icon-preview{font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;min-width:32px}.icon-picker-label{font-size:14px;color:var(--color-slate-600);font-weight:500}.icon-clear-button{padding:8px 12px;border:1px solid var(--color-slate-300);border-radius:8px;background:#fff;color:var(--color-slate-500);cursor:pointer;font-size:20px;line-height:1;transition:all .2s ease}.icon-clear-button:hover{border-color:var(--color-danger);color:var(--color-danger);background:#ef44440d}.language-count{font-size:13px;color:var(--color-slate-500);font-weight:500}.form-label{font-size:14px;font-weight:600;color:var(--color-gray-900)}.form-input{padding:12px 16px;font-size:15px;border:1px solid var(--color-slate-300);border-radius:8px;background:#fff;color:var(--color-slate-900);font-family:inherit;transition:all .2s ease;width:100%}.form-input:hover{border-color:var(--color-primary)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.form-textarea{padding:12px 16px;font-size:15px;border:1px solid var(--color-slate-300);border-radius:8px;background:#fff;color:var(--color-slate-900);font-family:inherit;resize:vertical;transition:all .2s ease;width:100%;line-height:1.6}.form-textarea:hover{border-color:var(--color-primary)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.language-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.language-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--color-slate-50);border:2px solid transparent;border-radius:18px;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px;color:var(--color-slate-600)}.language-tab:hover{background:var(--color-slate-100);border-color:var(--color-slate-300)}.language-tab--active{background:#fff;border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 2px 8px #6366f126}.language-tab--filled{border-color:#22c55e4d}.language-tab--active.language-tab--filled{border-color:var(--color-primary)}.language-tab__flag{font-size:20px;line-height:1}.language-tab__name{flex:1;text-align:left}.language-tab__indicator{color:#22c55e;font-size:12px;margin-left:auto}.language-tab__remove{background:none;border:none;color:var(--color-slate-400);cursor:pointer;padding:0 4px;margin-left:4px;font-size:18px;line-height:1;transition:color .2s ease}.language-tab__remove:hover{color:var(--color-danger)}.language-add-select{padding:12px 16px;border-radius:8px;border:2px dashed var(--color-slate-300);background:var(--color-slate-50);color:var(--color-slate-600);font-size:14px;cursor:pointer;font-weight:500;transition:all .2s ease}.language-add-select:hover{border-color:var(--color-primary);background:#fff}.empty-variables{padding:32px;text-align:center;background:var(--color-slate-50);border-radius:8px;border:1px dashed var(--color-slate-300)}.empty-variables p{margin:0;color:var(--color-slate-500);font-size:14px}.empty-variables p:first-child{font-weight:600;color:var(--color-slate-700);margin-bottom:8px}.variables-list{display:flex;flex-direction:column;gap:16px}.variable-item{padding:20px;background:var(--color-slate-50);border-radius:12px;border:1px solid var(--color-slate-200);display:flex;flex-direction:column;gap:12px}.variable-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.variable-actions{display:flex;justify-content:flex-end}.preset-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;padding-top:24px;border-top:1px solid var(--color-slate-200)}.validation-errors-container{margin-bottom:1rem}.validation-errors-list{margin:.5rem 0 0;padding-left:1.5rem;color:var(--color-danger)}.toggle-switch-wrapper{margin-top:1rem}.system-variables-details{margin-top:.5rem}.system-variables-summary{cursor:pointer;font-size:13px;color:var(--color-slate-600);font-weight:500}.system-variables-content{margin-top:.5rem;padding:.75rem;background:var(--color-slate-50);border-radius:6px;font-size:13px}.system-variable-item{margin-bottom:.25rem;display:flex;gap:.5rem}.system-variable-code{color:var(--color-primary);font-weight:500}.system-variable-description{color:var(--color-slate-600)}.system-variable-note{margin:.5rem 0 0;font-size:12px;color:var(--color-slate-500)}@media(max-width:768px){.preset-form-grid,.variable-fields{grid-template-columns:1fr}.language-tabs{grid-template-columns:repeat(2,1fr)}.preset-form-actions{grid-template-columns:1fr}}.notification-preset-content{min-height:400px}.notification-preset-form{padding:.5rem 0}.notification-preset-form h3{margin:0 0 1rem;color:var(--color-text);font-size:1.125rem;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-weight:500;color:var(--color-text);font-size:.875rem}.form-field input,.form-field select{width:100%}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--color-border-light)}.language-tabs-section{margin-bottom:1.5rem;border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden}.language-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;background:transparent;color:var(--color-text-secondary);font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.language-tab:hover{color:var(--color-text);background-color:var(--color-hover-bg)}.language-tab--selected{color:var(--color-primary);background-color:var(--color-card-bg);border-bottom-color:var(--color-primary)}.language-flag{font-size:1rem;flex-shrink:0}.language-name{font-size:.875rem}.language-content{padding:1rem}.variables-section{margin-bottom:1.5rem;border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);background-color:var(--color-bg-secondary)}.section-header h4{margin:0;color:var(--color-text);font-size:1rem;font-weight:600}.empty-variables{text-align:center;padding:1.5rem 1rem;color:var(--color-text-secondary)}.empty-variables p{margin:.5rem 0;font-size:.875rem}.variables-list{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.75rem}.variable-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--color-border-light);border-radius:6px;background-color:var(--color-card-bg)}.variable-fields{display:flex;flex-direction:column;gap:.5rem;flex:1}.variable-key,.variable-value,.variable-description{flex:1}.variable-actions{flex-shrink:0;display:flex;align-items:flex-start}.notification-preset-list{padding:.5rem 0}.preset-section-heading{margin-bottom:1rem;color:var(--color-text)}.preset-section-heading--with-top-margin{margin-top:2rem}.list-header{margin-bottom:1rem;display:flex;justify-content:flex-end}.list-header-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-wrapper{min-width:200px;max-width:300px}.filter-select{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-card-bg);color:var(--color-text);font-size:.875rem}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:.75rem}.preset-card{border:1px solid var(--color-border-light);border-radius:6px;padding:0;background-color:var(--color-card-bg);box-shadow:0 1px 3px #0000000d;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.preset-card:hover{border-color:var(--color-border);box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.preset-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.preset-header-info{flex:1;min-width:0}.preset-title{margin:0 0 .25rem;color:var(--color-text);font-size:1rem;font-weight:600;line-height:1.2}.preset-title__icon{margin-right:8px}.preset-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.preset-app{display:inline-block;padding:.125rem .5rem;background:var(--color-card-bg);color:var(--color-text-secondary);font-size:.7rem;font-weight:500;border-radius:4px;border:1px solid var(--color-border-light);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.preset-app--languages{font-family:inherit}.preset-actions{display:flex;gap:.375rem;flex-shrink:0}.preset-content{padding:.75rem}.preset-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.375rem 0;border-bottom:1px solid var(--color-border-light)}.preset-row:last-child{border-bottom:none}.preset-label{font-size:.8rem;font-weight:500;color:var(--color-text-secondary);flex-shrink:0;margin-right:.75rem}.preset-value{font-size:.8rem;color:var(--color-text);flex:1;text-align:right;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.preset-variables{flex:1;display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto;max-width:250px}.preset-variable{display:flex;align-items:center;gap:.2rem;padding:.1rem .4rem;background:var(--color-bg-secondary);color:var(--color-text);border-radius:4px;font-size:.65rem;font-weight:500;border:1px solid var(--color-border-light)}.variable-key{color:var(--color-text-secondary);font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.preset-variable .variable-value{color:var(--color-text);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.empty-state{text-align:center;padding:2rem 1rem;color:var(--color-text-secondary)}.empty-state p{margin:.5rem 0;font-size:.875rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--color-border-light)}@media(max-width:768px){.form-grid,.preset-grid{grid-template-columns:1fr;gap:1rem}.preset-header{flex-direction:column;align-items:stretch;gap:1rem}.preset-actions{justify-content:flex-end}.language-tabs{flex-wrap:wrap}.language-tab{padding:.5rem 1rem;min-width:0;flex:1;text-align:center}.variable-item{flex-direction:column;align-items:stretch}.variable-fields{gap:.5rem}.variable-actions{align-self:flex-end;margin-top:.5rem}.preset-row{flex-direction:column;align-items:stretch;gap:.5rem}.preset-label{margin-right:0;margin-bottom:.25rem}.preset-value{text-align:left}.preset-variables{max-width:none}.header-actions{flex-direction:column;gap:.5rem}.form-actions,.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.send-notification-content{margin-top:16px}.notification-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-slate-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notification-loading p{margin:0;font-size:16px;color:var(--color-slate-500);font-weight:500}.notification-form{display:flex;flex-direction:column;gap:24px;background:#fffffff2;padding:32px;border-radius:16px;border:1px solid rgba(148,163,184,.2);box-shadow:0 12px 24px #0f172a14}.app-selector-wrapper{position:relative;display:flex;align-items:center;gap:12px}.app-selector{flex:1;padding:12px 16px;font-size:15px;border:1px solid var(--color-slate-300);border-radius:8px;background:#fff;color:var(--color-slate-900);font-family:inherit;cursor:pointer;transition:all .2s ease}.app-selector:hover{border-color:var(--color-primary)}.app-selector:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.app-selector-logo-preview{flex-shrink:0;width:48px;height:48px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.2);background:var(--color-slate-50);display:flex;align-items:center;justify-content:center}.app-selector-logo-preview img{width:100%;height:100%;object-fit:cover}.mini-spinner{width:16px;height:16px;border:2px solid rgba(99,102,241,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.onesignal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.onesignal-stat{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;background:#fff;border:1px solid rgba(148,163,184,.15);transition:all .2s ease}.onesignal-stat:hover{transform:translateY(-1px);box-shadow:0 2px 8px #6366f11a}.onesignal-stat-icon{font-size:24px;line-height:1;flex-shrink:0}.onesignal-stat-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.onesignal-stat-value{font-size:18px;font-weight:700;color:var(--color-primary);line-height:1}.onesignal-stat-label{font-size:11px;color:var(--color-slate-500);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-section{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:var(--color-slate-900);letter-spacing:.01em}.form-select,.form-input,.form-textarea{padding:12px 16px;border:1px solid var(--color-slate-300);border-radius:8px;font-size:15px;color:var(--color-slate-900);background:var(--color-white);transition:all .2s ease;font-family:inherit}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-hint{font-size:13px;color:var(--color-slate-500);margin:0}.form-hint--loading{margin-top:8px}.loading-indicator{display:inline-flex;align-items:center;gap:8px}.language-count{font-size:13px;font-weight:500;color:var(--color-primary);margin-left:8px}.language-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.language-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid var(--color-slate-200);border-radius:10px;background:var(--color-white);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--color-slate-500);position:relative}.language-tab:hover{border-color:var(--color-slate-300);background:var(--color-slate-50)}.language-tab--active{border-color:var(--color-primary);background:var(--color-primary-bg-light);color:var(--color-primary)}.language-tab--filled{border-color:var(--color-emerald)}.language-tab--filled.language-tab--active{border-color:var(--color-primary)}.language-tab__flag{font-size:24px;line-height:1}.language-tab__name{font-size:13px;font-weight:600;text-align:center}.language-tab__indicator{position:absolute;top:8px;right:8px;font-size:8px;color:var(--color-emerald);line-height:1}.target-options,.schedule-options{display:flex;gap:16px;margin-top:8px}.target-option,.schedule-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:var(--color-slate-900);font-weight:500}.target-option input[type=radio],.schedule-option input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.target-option span,.schedule-option span{-webkit-user-select:none;user-select:none}.target-details,.schedule-datetime{margin-top:16px;display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--color-slate-50);border-radius:8px;border:1px solid var(--color-slate-200)}.preset-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.preset-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.preset-buttons:last-child{margin-bottom:0}.preset-button{display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px 8px;border:1.5px solid var(--color-border-light);border-radius:8px;background:var(--color-card-bg);cursor:pointer;transition:all .2s ease;font-size:13px;text-align:left;position:relative;box-shadow:0 1px 2px #00000008;min-height:40px}.preset-button:hover{border-color:var(--color-primary);background:var(--color-primary-bg-light);box-shadow:0 2px 4px #2563eb1a;transform:translateY(-1px)}.preset-button:active{transform:translateY(0)}.preset-button__icon{font-size:22px;line-height:1;flex-shrink:0}.preset-button__content{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.preset-button__name{font-weight:600;color:var(--color-text);line-height:1.2;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-button__languages{font-size:11px;line-height:1;opacity:.65;color:var(--color-text-secondary)}.content-field-group{display:flex;flex-direction:column;gap:20px}.content-field{display:flex;flex-direction:column;gap:8px}.notification-form-container{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:start}.notification-preview-panel{position:sticky;top:24px;background:var(--color-card-bg);border:1px solid var(--color-border-light);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a,inset 0 1px #fffc;max-height:calc(100vh - 120px);overflow-y:auto}.preview-panel-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--color-border-light)}.preview-panel-header h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--color-text)}.preview-subtitle{font-size:13px;color:var(--color-text-secondary);font-weight:500}.preview-info-section{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;margin-bottom:20px}.preview-info-item{display:flex;flex-direction:column;gap:4px}.preview-info-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.preview-info-value{font-size:13px;font-weight:500;color:var(--color-text);line-height:1.4}.preview-scheduled-time{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:2px}.preview-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px}.preview-empty-icon{font-size:48px;opacity:.5}.preview-empty-state p{margin:0;font-size:14px;color:var(--color-text-secondary);font-weight:500}.preview-notifications-section{margin-bottom:0}.preview-notifications{display:flex;flex-direction:column;gap:20px}.preview-notification-card{display:flex;flex-direction:column;gap:12px}.preview-language-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;font-size:12px;font-weight:600;color:var(--color-text);width:fit-content}.preview-flag{font-size:14px;line-height:1}.preview-lang-name{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.android-notification{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000026,0 1px 3px #0000001a;overflow:hidden;font-family:Roboto,system-ui,-apple-system,sans-serif}.android-notification-header{padding:12px 16px 8px;background:#f8f9fa;border-bottom:1px solid #e8eaed}.android-notification-app{display:flex;align-items:center;gap:10px}.android-notification-icon{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;overflow:hidden}.android-notification-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.android-notification-app-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.android-notification-app-name{font-size:12px;font-weight:600;color:#202124;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.android-notification-time{font-size:11px;color:#5f6368;line-height:1.2}.android-notification-content{padding:12px 16px 14px;background:#fff}.android-notification-title{font-size:14px;font-weight:600;color:#202124;line-height:1.4;margin-bottom:4px;word-wrap:break-word}.android-notification-message{font-size:13px;color:#5f6368;line-height:1.5;word-wrap:break-word;max-height:150px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}.notification-preview-panel::-webkit-scrollbar{width:8px}.notification-preview-panel::-webkit-scrollbar-track{background:var(--color-slate-100);border-radius:4px}.notification-preview-panel::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:4px}.notification-preview-panel::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}.preview-status-message{margin-top:20px;margin-bottom:4px}.preview-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px;padding-top:20px;border-top:2px solid var(--color-border-light)}@keyframes slideInNotification{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.preview-notification-card{animation:slideInNotification .3s ease-out}@media(max-width:1200px){.notification-form-container{grid-template-columns:1fr 350px;gap:24px}}@media(max-width:1024px){.notification-form-container{grid-template-columns:1fr;gap:32px}.notification-preview-panel{position:static;max-height:none;order:-1}}@media(max-width:640px){.send-notification-content{margin-top:24px}.notification-form{padding:24px 20px}.notification-preview-panel{padding:20px 16px}.preview-panel-header h3{font-size:16px}.preview-empty-state{padding:40px 20px}.preview-empty-icon{font-size:40px}.preview-info-section{padding:14px}.preview-info-label{font-size:10px}.preview-info-value{font-size:12px}.preview-actions{padding-top:16px;margin-top:16px}.preset-buttons,.language-tabs{grid-template-columns:repeat(2,1fr)}.target-options,.schedule-options{flex-direction:column;gap:12px}.onesignal-stats{grid-template-columns:1fr;gap:12px}.onesignal-stat{padding:10px}.onesignal-stat-icon{font-size:20px}.onesignal-stat-value{font-size:16px}.onesignal-stat-label{font-size:10px}}.mini-video-player-container{width:100%;height:220px;background:#000;border-radius:6px;overflow:hidden;border:1px solid var(--color-border)}.mini-player-loading,.mini-player-error{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:14px}.mini-player-error{padding:20px;text-align:center}.mini-player-error p{margin:0 0 8px}.error-message{font-size:12px;color:#ef4444;word-break:break-word}@media(max-width:768px){.mini-video-player-container{height:180px}}.info-section{margin-bottom:10px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:10px}.info-section:last-child{margin-bottom:0}.info-section h3{margin:0 0 8px;font-size:12px;color:var(--color-text-primary);font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.info-item{display:flex;flex-direction:column;gap:3px;font-size:12px;background:var(--color-bg-secondary);padding:6px 8px;border-radius:4px;border:1px solid var(--color-border)}.info-label{font-weight:600;color:var(--color-text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.info-value{color:var(--color-text-primary);font-weight:500;line-height:1.3}.country-with-flag{display:flex;align-items:center;gap:4px}.country-flag{font-size:16px;line-height:1}.info-link{color:var(--color-accent);text-decoration:none;word-break:break-all}.info-link:hover{text-decoration:underline}.nsfw-badge{display:inline-block;padding:3px 6px;background:#ef4444;color:#fff;border-radius:3px;font-size:10px;font-weight:700;text-transform:uppercase;line-height:1.2}.logo-info-value{display:flex;align-items:center;gap:6px}.logo-tiny-preview{width:32px;height:24px;object-fit:contain;border-radius:3px;background:var(--color-bg-primary);border:1px solid var(--color-border);padding:2px;flex-shrink:0}.logo-url-text{flex:1;font-size:9px;word-break:break-all;color:var(--color-text-secondary);line-height:1.4;min-width:0}.streams-details-list{display:flex;flex-direction:column;gap:6px}.stream-detail-item{padding:6px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;display:flex;flex-direction:column;gap:5px}.stream-detail-header{display:flex;justify-content:space-between;align-items:center;gap:6px}.stream-badges{display:flex;gap:4px;flex-wrap:wrap}.stream-badge{padding:2px 6px;border-radius:3px;font-size:9px;font-weight:700;white-space:nowrap;text-transform:uppercase;line-height:1.4}.stream-badge.feed{background:var(--color-accent);color:#fff}.stream-badge.quality{background:#3b82f6;color:#fff}.stream-badge.status.live{background:#22c55e;color:#fff}.stream-badge.status.offline{background:#ef4444;color:#fff}.stream-actions{display:flex;gap:4px;flex-shrink:0}.stream-url-section{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px}.stream-url{flex:1;font-size:9px;word-break:break-all;color:var(--color-text-secondary);line-height:1.5}.stream-meta{display:flex;flex-direction:column;gap:2px;font-size:10px;padding:5px 8px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px}.meta-label{font-weight:700;color:var(--color-text-secondary);font-size:8px;text-transform:uppercase;letter-spacing:.5px;line-height:1.2}.stream-meta code{font-size:9px;color:var(--color-text-primary);word-break:break-all;line-height:1.5}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.player-header h3{margin:0;font-size:12px}@media(max-width:768px){.info-section{padding:8px;margin-bottom:8px}.info-grid{grid-template-columns:1fr;gap:5px}.stream-detail-header{flex-direction:column}.stream-actions{width:100%}.stream-actions button{flex:1}}.public-channels-container{width:100%;max-width:100%;padding:16px}.pc-filters{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;margin-bottom:16px;box-shadow:0 1px 3px #0000000d;display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:flex-end}.pc-country-select-with-pin{display:flex;gap:8px;align-items:center}.pc-country-select-with-pin select{flex:1}.pc-search-input-wrapper{position:relative;display:flex;align-items:center}.pc-search-input-wrapper input{flex:1;padding-right:40px}.pc-search-clear-button{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;transition:all .25s cubic-bezier(.4,0,.2,1)}.pc-search-clear-button .material-icons{font-size:18px;color:var(--color-text-secondary)}.pc-search-clear-button:hover{background:var(--color-bg-tertiary);transform:scale(1.1)}.pc-search-clear-button:hover .material-icons{color:var(--color-text)}.pc-search-loader{position:absolute;right:12px;font-size:18px;color:var(--color-primary);animation:pc-spin 1s linear infinite}.pc-clear-all-filters-wrapper{display:flex;align-items:flex-end}@keyframes pc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pc-loading-state{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:14px}.pc-no-results{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:14px;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 3px #0000000d}.pc-table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card-bg);margin-bottom:16px;box-shadow:0 1px 3px #0000000d}.pc-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.pc-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border)}.pc-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.pc-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .2s ease;background:var(--color-card-bg)}.pc-table tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.pc-channel-row{cursor:pointer}.pc-channel-row:hover{background:var(--color-primary-bg-light)!important;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.pc-channel-row:active{transform:translateY(0)}.pc-table td{padding:8px 12px;vertical-align:middle;overflow:hidden}.pc-logo-cell{display:flex;align-items:center;justify-content:center;gap:6px;position:relative;width:100px}.pc-logo{width:50px;height:35px;object-fit:contain;border-radius:4px;background:var(--color-card-bg);border:1px solid var(--color-border)}.pc-logo-placeholder{width:50px;height:35px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;font-size:11px;color:var(--color-text-tertiary)}.pc-name-cell{display:flex;flex-direction:column;gap:2px;max-width:100%;overflow:hidden;width:140px}.pc-name{font-size:13px;color:var(--color-text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-meta{font-size:11px;color:var(--color-text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-streams-cell{overflow:hidden;max-width:100%}.pc-streams-list{display:flex;flex-direction:column;gap:6px;overflow:hidden}.pc-stream-item{display:flex;flex-direction:column;gap:0;overflow:hidden}.pc-stream-row{display:flex;align-items:center;gap:6px;overflow:hidden;flex-wrap:nowrap}.pc-stream-url{flex:1 1 auto;font-size:9px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Courier New,monospace;background:var(--color-bg-tertiary);padding:4px 6px;border-radius:3px;min-width:0}.pc-badge{padding:3px 8px;border-radius:3px;font-size:11px;font-weight:600;white-space:nowrap;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;min-height:20px;transition:all .2s ease;flex-shrink:0}.pc-badge-quality{background:var(--color-primary-bright);color:var(--color-white);text-transform:uppercase;font-size:8px}.pc-badge-status.live{background:var(--color-success);color:var(--color-white);box-shadow:0 1px 3px #22c55e4d}.pc-badge-status.offline{background:var(--color-danger-bright);color:var(--color-white);box-shadow:0 1px 3px #ef44444d}.pc-actions-cell{width:120px}.pc-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end}.pc-pagination{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:10px 16px;box-shadow:0 1px 3px #0000000d;display:flex;align-items:center;justify-content:space-between;gap:16px}.pc-pagination-info{display:flex;align-items:center;gap:6px;flex-shrink:0}.pc-pagination-info .material-icons{font-size:16px;color:var(--color-text-secondary)}.pc-pagination-info-text{font-size:12px;color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.pc-pagination-controls{display:flex;align-items:flex-end;gap:12px}.pc-pagination-buttons{display:flex;gap:6px}.pc-card-view{display:none}@media(max-width:1024px){.pc-pagination{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.pc-pagination-info{justify-content:center}.pc-pagination-controls{justify-content:space-between}}@media(max-width:768px){.public-channels-container{padding:8px}.pc-filters{grid-template-columns:1fr;gap:12px;padding:10px 12px}.pc-clear-all-filters-wrapper{align-items:stretch}.pc-clear-all-filters-wrapper button{width:100%}.pc-pagination{padding:10px 12px}.pc-pagination-controls{flex-direction:column;align-items:stretch;gap:8px}.pc-pagination-buttons{width:100%;justify-content:center}.pc-table-wrapper{display:none}.pc-card-view{display:flex;flex-direction:column;gap:12px}.pc-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease}.pc-card:hover{background:var(--color-primary-bg-light);transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.pc-card:active{transform:translateY(0)}.pc-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pc-card-logo{width:50px;height:35px;object-fit:contain;border-radius:4px;background:var(--color-card-bg);border:1px solid var(--color-border);flex-shrink:0}.pc-card-logo-placeholder{width:50px;height:35px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;font-size:11px;color:var(--color-text-tertiary);flex-shrink:0}.pc-card-title-section{flex:1;min-width:0}.pc-card-name{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px;word-break:break-word}.pc-card-categories{font-size:11px;color:var(--color-text-secondary);word-break:break-word}.pc-card-actions-header{flex-shrink:0}.pc-card-body{display:flex;flex-direction:column;gap:8px}.pc-card-streams-section{padding-top:8px;border-top:1px solid var(--color-border-light)}.pc-card-streams-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}.pc-card-streams-list{display:flex;flex-direction:column;gap:6px}.pc-card-stream{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pc-card-stream-url{flex:1 1 auto;font-size:9px;color:var(--color-text-secondary);font-family:Courier New,monospace;background:var(--color-bg-tertiary);padding:4px 6px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pc-card-badge{padding:3px 8px;border-radius:3px;font-size:9px;font-weight:600;white-space:nowrap;flex-shrink:0}.pc-card-badge-quality{background:var(--color-primary-bright);color:var(--color-white);text-transform:uppercase}.pc-card-badge-status.live{background:var(--color-success);color:var(--color-white)}.pc-card-badge-status.offline{background:var(--color-danger-bright);color:var(--color-white)}}.epg-container{width:100%;max-width:100%;padding:16px}.epg-filters{background:var(--color-card-bg);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--color-border)}.loading-state{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:14px;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 3px #0000000d}.date-shortcuts{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.shortcut-button{padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-card-bg);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.shortcut-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary);color:var(--color-text)}.shortcut-button:active{transform:scale(.98)}.date-controls-row{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.date-mode-selector{flex-shrink:0;min-width:200px}.date-inputs-container{flex:1;display:flex;gap:16px}.date-range-inputs{display:flex;gap:16px;flex:1}.date-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-family:inherit;background:var(--color-input-bg);color:var(--color-text);transition:all .2s ease}.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.fetch-button{width:100%;padding:10px 16px;background:var(--color-primary-bright);color:var(--color-white);border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.fetch-button:hover:not(:disabled){background:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb33}.fetch-button:active:not(:disabled){transform:scale(.98)}.fetch-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:var(--color-danger-bg);color:var(--color-danger-darker);padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px;border:1px solid var(--color-danger-border)}.current-filter-display{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-primary-bg-light);border:1px solid var(--color-primary-light);border-radius:6px;margin-bottom:20px}.current-filter-display .material-icons{font-size:18px;color:var(--color-primary-bright)}.current-filter-display .filter-text{color:var(--color-primary-dark);font-size:14px;font-weight:600}.no-data{text-align:center;color:var(--color-text-secondary);padding:40px;font-size:14px;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 3px #0000000d}.epg-content{background:var(--color-card-bg);border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--color-border);overflow:hidden}.category-selector{padding:16px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.channel-tabs{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary);overflow-x:auto;scrollbar-width:thin}.channel-tab{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-card-bg);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.channel-tab:hover{border-color:var(--color-primary);background:var(--color-hover-bg-strong);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.channel-tab.active{border-color:var(--color-primary);background:var(--color-primary-bg-light);color:var(--color-primary);font-weight:600;box-shadow:0 2px 8px #2563eb1f}.channel-logo{width:20px;height:20px;object-fit:contain;border-radius:3px}.programs-list{padding:16px;max-height:600px;overflow-y:auto}.program-item{display:flex;gap:16px;padding:12px;border-bottom:1px solid var(--color-border-light);transition:all .2s ease}.program-item:last-child{border-bottom:none}.program-item:hover{background:var(--color-bg-tertiary)}.program-time{flex-shrink:0;width:120px;display:flex;flex-direction:column;gap:4px}.program-date{color:var(--color-slate-400);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.program-hours{color:var(--color-text-secondary);font-size:13px;font-weight:600;font-family:Courier New,monospace}.program-details{flex:1}.program-title{color:var(--color-text-dark);font-size:14px;font-weight:600;margin-bottom:4px}.program-description{color:var(--color-text-secondary);font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-programs{text-align:center;color:var(--color-slate-400);padding:40px 20px;font-size:14px}@media(max-width:768px){.date-controls-row{flex-direction:column}.date-mode-selector{min-width:100%}.date-inputs-container,.date-range-inputs{flex-direction:column}.channel-tabs{flex-wrap:wrap}.program-item{flex-direction:column;gap:8px}.program-time{width:auto;flex-direction:row;align-items:center;gap:8px}.program-date:after{content:"•";margin-left:8px}}.form-grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px}.form-grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 12px}.stream-preview-container{display:flex;gap:12px;align-items:flex-start}.stream-preview-player{flex:1;aspect-ratio:16 / 9;background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border);overflow:hidden}.stream-preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%)}.stream-preview-placeholder .material-icons{font-size:48px;color:var(--color-text-tertiary);opacity:.3}.stream-preview-logo{max-width:80%;max-height:80%;object-fit:contain}.stream-preview-controls{display:flex;flex-direction:column;gap:8px}.channel-form-footer-left,.channel-form-footer-right{display:flex;align-items:center;gap:8px}.channel-form-footer-left{flex:1}.channel-form-footer-right{margin-left:auto}@media(max-width:768px){.form-grid,.form-grid-3col,.form-grid-2col{grid-template-columns:1fr;gap:10px}.countries-container{max-height:180px}.stream-preview-container{flex-direction:column}.stream-preview-controls{flex-direction:row;width:100%}.stream-preview-controls button{flex:1}}.iptv-manager-container{width:100%;max-width:100%}.channels-table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card-bg);margin-bottom:16px;box-shadow:0 1px 3px #0000000d}.channels-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto;min-width:600px}.channels-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10}.channels-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.channels-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .2s ease;background:var(--color-card-bg)}.channels-table tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.channel-row{cursor:pointer}.channel-row:hover{background:var(--color-primary-bg-light)!important;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.channel-row:active{transform:translateY(0)}.channels-table td{padding:8px 12px;color:var(--color-text-primary);vertical-align:middle;overflow:hidden}.channel-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.channel-logo-thumb{width:40px;height:40px;border-radius:6px;overflow:hidden;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-light)}.channel-logo-thumb img{width:100%;height:100%;object-fit:contain}.channel-logo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-disabled)}.channel-logo-placeholder .material-icons{font-size:20px}.channels-card-view{display:none}@media(max-width:968px){.iptv-manager-container{padding:8px}.filters-section{padding:12px;gap:12px}.filter-toggle-btn{display:flex}.advanced-filters{display:none;grid-template-columns:1fr;gap:12px;border-top:1px solid var(--color-border-light);padding-top:12px}.advanced-filters.show{display:grid;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-bar{margin-bottom:12px}.channels-table-wrapper{display:none}.channels-card-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.channel-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.channel-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--color-primary-light)}.channel-card:active{transform:translateY(0)}.channel-card-content{display:flex;padding:12px;gap:12px}.channel-card-logo{width:60px;height:60px;border-radius:8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.channel-card-logo img{width:100%;height:100%;object-fit:contain}.channel-card-logo .channel-logo-placeholder{color:var(--color-text-disabled)}.channel-card-logo .channel-logo-placeholder .material-icons{font-size:24px}.hidden{display:none!important}.channel-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.channel-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.channel-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.channel-card-id{font-size:10px;font-weight:700;color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:4px;letter-spacing:.5px}.channel-card-category{font-size:10px;font-weight:600;color:var(--color-primary);background:var(--color-primary-bg-light);padding:2px 8px;border-radius:10px;text-transform:uppercase}.channel-card-name{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.channel-card-meta{display:flex;align-items:center;gap:12px;margin-top:auto;color:var(--color-text-secondary);font-size:12px}.meta-item{display:flex;align-items:center;gap:4px}.meta-item .material-icons{font-size:14px;color:var(--color-text-tertiary)}.meta-item.countries{flex:1;min-width:0}.country-list{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.error-message{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:6px;margin-bottom:16px;font-size:13px;border-left:3px solid var(--color-danger)}.error-message .material-icons{font-size:16px}.form-section{margin-bottom:16px}.form-section h3{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.form-section h3:before{content:"";width:3px;height:14px;background:var(--color-primary);border-radius:2px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 12px}.stream-urls-list{margin-bottom:8px;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;background:var(--color-bg-secondary);border-radius:4px;border:1px solid var(--color-border);padding:8px}.stream-url-item{display:flex;align-items:center;gap:6px}.stream-url-code{flex:1;font-family:Courier New,monospace;font-size:11px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-stream-url{display:flex;gap:8px}.add-stream-url input{flex:1}.countries-container{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow-y:auto;padding:8px}.country-pill{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--color-card-bg);border:1.5px solid var(--color-border);border-radius:20px;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.country-pill:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.country-pill.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:0 2px 6px #2563eb4d}.country-pill.selected:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.country-pill-flag{font-size:14px;line-height:1}.country-pill-text{display:flex;align-items:center;gap:3px}.country-pill-code{font-weight:600}.radio-station-form-footer-left,.radio-station-form-footer-right{display:flex;align-items:center;gap:8px}.radio-station-form-footer-left{flex:1}.radio-station-form-footer-right{margin-left:auto}@media(max-width:768px){.form-grid{grid-template-columns:1fr;gap:10px}.countries-container{max-height:180px}}.radio-manager-container{width:100%;max-width:100%;padding:16px}.filters-section{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:16px}.filters-header{display:flex;gap:16px;align-items:flex-end}.search-container{flex:1}.search-field{margin-bottom:0!important}.filter-toggle-btn{display:none}.advanced-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:flex-end;border-top:1px solid var(--color-border-light);padding-top:16px}.filter-actions{display:flex;justify-content:flex-end}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper input{flex:1;padding-right:40px}.search-clear-button{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;transition:all .25s cubic-bezier(.4,0,.2,1)}.search-clear-button .material-icons{font-size:18px;color:var(--color-text-secondary)}.search-clear-button:hover{background:var(--color-bg-tertiary);transform:scale(1.1)}.search-clear-button:hover .material-icons{color:var(--color-text)}.search-loader{position:absolute;right:12px;font-size:18px;color:var(--color-primary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stations-table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card-bg);margin-bottom:16px;box-shadow:0 1px 3px #0000000d}.stations-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto;min-width:600px}.stations-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10}.stations-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.sortable-header{-webkit-user-select:none;user-select:none;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.sortable-header:hover{background:var(--color-bg-hover);color:var(--color-primary)}.sortable-header:active{transform:scale(.98)}.sort-icon{font-size:14px;vertical-align:middle;margin-left:4px;color:var(--color-primary)}.stations-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .2s ease;background:var(--color-card-bg)}.stations-table tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.station-row{cursor:pointer}.station-row:hover{background:var(--color-primary-bg-light)!important;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.station-row:active{transform:translateY(0)}.stations-table td{padding:8px 12px;color:var(--color-text-primary);vertical-align:middle;overflow:hidden}.streams-compact,.countries-compact{font-size:13px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.country-chips{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.no-countries{color:var(--color-text-secondary);font-style:italic}.streams-count{color:var(--color-text-primary);font-weight:500}.streams-empty{color:var(--color-text-secondary);font-style:italic}.station-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.station-logo-thumb{width:40px;height:40px;border-radius:6px;overflow:hidden;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-light)}.station-logo-thumb img{width:100%;height:100%;object-fit:contain}.station-logo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-disabled)}.station-logo-placeholder .material-icons{font-size:20px}.stations-card-view{display:none}@media(max-width:1200px){.advanced-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:968px){.radio-manager-container{padding:8px}.filters-section{padding:12px;gap:12px}.filter-toggle-btn{display:flex}.advanced-filters{display:none;grid-template-columns:1fr;gap:12px;border-top:1px solid var(--color-border-light);padding-top:12px}.advanced-filters.show{display:grid;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-bar{margin-bottom:12px}.stations-table-wrapper{display:none}.stations-card-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.station-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.station-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--color-primary-light)}.station-card:active{transform:translateY(0)}.station-card-content{display:flex;padding:12px;gap:12px}.station-card-logo{width:60px;height:60px;border-radius:8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.station-card-logo img{width:100%;height:100%;object-fit:contain}.station-card-logo .station-logo-placeholder{color:var(--color-text-disabled)}.station-card-logo .station-logo-placeholder .material-icons{font-size:24px}.hidden{display:none!important}.station-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.station-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.station-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.station-card-id{font-size:10px;font-weight:700;color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:2px 6px;border-radius:4px;letter-spacing:.5px}.station-card-category{font-size:10px;font-weight:600;color:var(--color-primary);background:var(--color-primary-bg-light);padding:2px 8px;border-radius:10px;text-transform:uppercase}.station-card-name{font-size:15px;font-weight:600;color:var(--color-text-primary);line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.station-card-meta{display:flex;align-items:center;gap:12px;margin-top:auto;color:var(--color-text-secondary);font-size:12px}.meta-item{display:flex;align-items:center;gap:4px}.meta-item .material-icons{font-size:14px;color:var(--color-text-tertiary)}.meta-item.countries{flex:1;min-width:0}.country-list{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--error-bg);color:var(--error-text);border-radius:6px;margin-bottom:24px;font-size:14px}.error-message .material-icons{font-size:18px}.form-section{display:flex;flex-direction:column}.field-hint{margin:6px 0 0;font-size:12px;color:var(--text-secondary);line-height:1.4}.country-manager-container{width:100%;max-width:100%;padding:16px}.action-bar{display:flex;justify-content:flex-end;margin-bottom:16px}.countries-table-wrapper{width:100%;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-card-bg);margin-bottom:16px;box-shadow:0 1px 3px #0000000d}.countries-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.countries-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10}.countries-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.countries-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .2s ease;background:var(--color-card-bg)}.countries-table tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.country-row{cursor:pointer}.country-row:hover{background:var(--color-primary-bg-light)!important;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.country-row:active{transform:translateY(0)}.countries-table td{padding:8px 12px;color:var(--color-text-primary);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.country-actions{display:flex;gap:8px;justify-content:center}.loading-state{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:14px}.no-results{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:14px;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 3px #0000000d}@media(max-width:768px){.country-manager-container{padding:16px}}.dashboard-content{margin-top:24px;display:flex;flex-direction:column;gap:24px}.dashboard-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.search-container{position:relative;flex:1;max-width:400px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-slate-400);pointer-events:none;font-size:16px}.search-input{width:100%;padding:10px 16px 10px 40px;border:1px solid var(--color-slate-200);border-radius:8px;font-size:14px;color:var(--color-slate-700);background:#fff;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.search-input::placeholder{color:var(--color-slate-400)}.stats-container{display:flex;gap:16px;align-items:center}.stat-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid var(--color-slate-200);border-radius:20px;font-size:13px;font-weight:500;color:var(--color-slate-600)}.stat-badge strong{color:var(--color-slate-900)}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;background:var(--color-slate-50);border-radius:12px;border:1px dashed var(--color-slate-200)}.no-results p{margin:0;font-size:16px;color:var(--color-slate-500)}.gists-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.gist-card{background:#fff;border:1px solid var(--color-slate-200);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease}.gist-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px #0000001a;border-color:var(--color-primary-light)}.gist-card__header{padding:20px;border-bottom:1px solid var(--color-slate-100);background:linear-gradient(to bottom,white,var(--color-slate-50))}.gist-card__title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.gist-card__name{font-size:16px;font-weight:600;color:var(--color-slate-900);margin:0;line-height:1.4}.gist-card__id-link{text-decoration:none;flex-shrink:0}.gist-card__id{font-family:var(--font-mono);font-size:11px;background:#fff;padding:4px 8px;border-radius:6px;color:var(--color-slate-500);border:1px solid var(--color-slate-200);transition:all .2s ease}.gist-card__id-link:hover .gist-card__id{color:var(--color-primary);border-color:var(--color-primary-light);background:var(--color-primary-bg-light)}.gist-card__description{font-size:14px;color:var(--color-slate-500);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gist-card__content{padding:20px;flex:1;display:flex;flex-direction:column}.gist-card__files-label{font-size:11px;font-weight:600;color:var(--color-slate-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.gist-files-list{display:flex;flex-direction:column;gap:4px}.gist-file-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--color-slate-50);border-radius:6px;border:1px solid transparent;transition:all .2s ease}.gist-file-item:hover{background:#fff;border-color:var(--color-primary-light);box-shadow:0 1px 2px #00000005}.file-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.file-info .filename{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--color-slate-700);transition:color .2s ease}.filename-link{text-decoration:none;display:inline-block}.filename-link:hover .filename{color:var(--color-primary);text-decoration:underline}.file-info .file-description{font-size:11px;color:var(--color-slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-copy-btn{opacity:1;color:var(--color-slate-400);transition:all .2s ease;padding:4px;height:24px;width:24px}.file-copy-btn:hover{color:var(--color-primary);background:var(--color-primary-bg-light)}@media(max-width:920px){.gists-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:640px){.dashboard-content{margin-top:16px}.dashboard-controls{flex-direction:column;align-items:stretch}.search-container{max-width:100%}.stats-container{width:100%;justify-content:space-between}.stat-badge{flex:1;justify-content:center}.gists-grid{grid-template-columns:1fr;gap:16px}}.epg-content{padding:1rem}.epg-file-selector,.epg-date-selector{margin-bottom:1.5rem}.epg-loading,.epg-error,.epg-empty{margin:2rem 0}.epg-shows{display:flex;flex-direction:column;gap:2rem}.epg-date-group{display:flex;flex-direction:column;gap:1rem}.epg-date-header{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0;padding:.75rem 1rem;background:var(--color-card-bg);border-radius:8px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary)}.epg-shows-list{display:flex;flex-direction:column;gap:.75rem}.epg-show-item{display:flex;flex-direction:row;gap:1rem;padding:1rem;background:var(--color-card-bg);border:1px solid transparent;border-radius:12px;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.epg-show-item:hover{background:var(--color-card-bg);border-color:var(--color-border);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.epg-show-item.active{background:var(--color-success-bg);border-color:var(--color-success)}.epg-show-item.active:hover{box-shadow:0 4px 12px #22c55e26}.epg-show-item.past{opacity:.5}.epg-show-time{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.125rem;min-width:80px;font-size:.95rem;font-weight:600;color:var(--color-text-secondary);padding:.75rem 1rem;background:transparent;border-radius:8px;transition:all .2s ease;flex-shrink:0;line-height:1.2}.epg-show-item:hover .epg-show-time{color:var(--color-primary);background:var(--color-bg)}.epg-show-item.active .epg-show-time{color:var(--color-success);font-weight:900}.epg-show-item.past .epg-show-time{color:var(--color-text-secondary)}.epg-show-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.epg-show-title{font-size:1.0625rem;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:.5rem;line-height:1.4}.epg-show-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;background:var(--color-success);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.5px;border-radius:6px;box-shadow:0 2px 4px #22c55e4d}.epg-show-description{font-size:.75rem;color:var(--color-text-secondary);line-height:1.6}@media(max-width:768px){.epg-content,.epg-channels{padding:.75rem}.epg-show-item{flex-direction:column;gap:1rem;padding:1rem}.epg-show-time{flex-direction:row;min-width:auto;padding:.5rem .75rem;gap:.25rem}.epg-date-header{font-size:1.125rem}}
