:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:rgba(25,25,35,0.8);--bg-card-hover:rgba(35,35,50,0.9);--text-primary:#ffffff;--text-secondary:#a0a0b0;--text-muted:#6a6a7a;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-gradient:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);--success:#22c55e;--error:#ef4444;--warning:#f59e0b;--border-color:rgba(255,255,255,0.1);--border-focus:rgba(99,102,241,0.5);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 8px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 8px 32px rgba(0,0,0,0.5);--shadow-glow:0 0 40px rgba(99,102,241,0.15);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms ease}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.08) 0,transparent 40%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.08) 0,transparent 40%);pointer-events:none;z-index:-1}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-lg),var(--shadow-glow);border-color:var(--border-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:var(--accent-gradient);color:white;box-shadow:0 4px 16px rgba(99,102,241,.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(99,102,241,.4)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.btn-danger{background:var(--error);color:white}.btn-danger:hover{background:#dc2626}.btn-sm{padding:8px 16px;font-size:13px}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;padding:12px 16px;font-size:14px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast)}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--border-focus)}.form-input::placeholder{color:var(--text-muted)}.switch-container{display:flex;align-items:center;gap:12px}.switch{position:relative;width:52px;height:28px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;cursor:pointer}.switch,.switch:after{transition:all var(--transition-fast)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--text-secondary);border-radius:50%}.switch.active{background:var(--accent-gradient);border-color:var(--accent-primary)}.switch.active:after{left:27px;background:white}.switch-label{font-size:14px;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}h1{font-size:32px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:24px}h3{font-size:18px}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}.alert{padding:16px 20px;border-radius:var(--radius-md);font-size:14px;margin-bottom:20px}.alert-success{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:var(--success)}.alert-error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:var(--error)}.grid{display:grid;grid-gap:24px;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}.schedule-list{display:flex;flex-wrap:wrap;gap:8px}.schedule-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px;font-family:Monaco,Menlo,monospace}.schedule-item input{width:60px;padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px}.schedule-item input:focus{outline:none;border-color:var(--accent-primary)}.schedule-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;border-radius:4px;transition:all var(--transition-fast)}.schedule-remove:hover{background:var(--error);color:white}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.page-header h1{margin:0}.navbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-brand{font-size:20px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-nav{display:flex;align-items:center;gap:24px;list-style:none}.navbar-nav a{color:var(--text-secondary);font-weight:500;padding:8px 16px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.navbar-nav a.active,.navbar-nav a:hover{color:var(--text-primary);background:var(--bg-secondary)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:400px;padding:40px}.login-title{text-align:center;margin-bottom:32px}.login-title h1{margin-bottom:8px}.login-title p{color:var(--text-secondary);font-size:14px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px;margin-top:24px}.dashboard-card{padding:24px;cursor:pointer}.dashboard-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);border-radius:var(--radius-md);font-size:24px;margin-bottom:16px}.dashboard-card h3{margin-bottom:8px}.dashboard-card p{color:var(--text-secondary);font-size:14px}.editor-page{padding:32px 24px}.editor-section{margin-bottom:32px}.editor-section-title{justify-content:space-between;margin-bottom:16px}.editor-section-title,.loading{display:flex;align-items:center}.loading{justify-content:center;padding:48px}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}.nested-object{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:8px}.nested-object .form-group{margin-bottom:12px}.nested-object .form-group:last-child{margin-bottom:0}