*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #eef2ff;--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-accent: #8b5cf6;--color-accent-light: #f5f3ff;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-danger: #ef4444;--color-danger-light: #fee2e2;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-sidebar: linear-gradient(180deg, #1e1b4b 0%, #312e81 50%, #3730a3 100%);--gradient-auth: linear-gradient(135deg, #312e81 0%, #4338ca 50%, #6366f1 100%);--gradient-accent: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--radius: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1), 0 6px 10px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15);--sidebar-width: 260px;--transition: .2s cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--color-gray-900);background-color:var(--color-gray-50);line-height:1.6;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}.logo-full{display:flex;align-items:center;gap:.75rem}.logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#c7d2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-text-dark{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.layout{display:flex;min-height:100vh}.mobile-topbar{display:none}.sidebar{width:var(--sidebar-width);background:var(--gradient-sidebar);padding:1.5rem 0;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{padding:0 1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-nav{flex:1;padding:.75rem 0}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;margin:.125rem .625rem;border-radius:var(--radius);color:#ffffffa6;font-size:.875rem;font-weight:500;transition:all var(--transition)}.sidebar-link:hover{background:#ffffff14;color:#ffffffe6}.sidebar-link.active{background:#ffffff26;color:#fff;font-weight:600;box-shadow:0 0 0 1px #ffffff1a}.sidebar-link-icon{font-size:1.125rem;width:24px;text-align:center;flex-shrink:0}.sidebar-section-label{padding:1.25rem 1.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer-email{font-size:.8125rem;color:#ffffff80;margin-bottom:.625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tenant{padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-tenant-label{font-size:.625rem;font-weight:700;color:#ffffff59;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.375rem}.sidebar-tenant select{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:calc(var(--radius) - 2px);color:#fff;font-size:.8125rem;padding:.4rem .5rem;font-family:inherit;cursor:pointer;transition:all var(--transition)}.sidebar-tenant select:hover{background:#ffffff26;border-color:#ffffff40}.sidebar-tenant select:focus{outline:none;border-color:#ffffff4d;box-shadow:0 0 0 2px #ffffff1a}.sidebar-tenant select option{background:var(--color-gray-800);color:#fff}.btn-sidebar-logout{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;border-radius:calc(var(--radius) - 2px);padding:.5rem .75rem;font-size:.8125rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition)}.btn-sidebar-logout:hover{background:#ffffff26;color:#fff}.sidebar-overlay{display:none}.hamburger-btn{display:none;background:none;border:none;padding:.5rem;color:var(--color-gray-700);font-size:1.5rem;line-height:1}.main-content{flex:1;padding:2rem;overflow-y:auto;min-width:0;background:var(--color-gray-50)}.card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-gray-100);box-shadow:var(--shadow);transition:box-shadow var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.card-header h2{font-size:1rem;font-weight:700;color:var(--color-gray-800)}.card-body{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;border:1px solid transparent;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover{box-shadow:0 4px 16px #6366f173;transform:translateY(-1px)}.btn-secondary{background:#fff;color:var(--color-gray-700);border-color:var(--color-gray-200)}.btn-secondary:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.btn-success:hover{box-shadow:0 4px 16px #10b98173;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef444440}.btn-danger:hover{box-shadow:0 4px 16px #ef444466;transform:translateY(-1px)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:600;color:var(--color-gray-700)}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--color-gray-200);border-radius:var(--radius);font-size:1rem;font-family:inherit;transition:all var(--transition);background:#fff;-webkit-appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.form-textarea{min-height:100px;resize:vertical}.form-fieldset{border:1px solid var(--color-gray-200);border-radius:var(--radius);padding:1rem 1.25rem .25rem;margin-bottom:1.25rem}.form-fieldset-legend{font-size:.875rem;font-weight:600;color:var(--color-gray-600);padding:0 .5rem}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge-draft{background:var(--color-gray-100);color:var(--color-gray-600)}.badge-planned{background:#fef3c7;color:#92400e}.badge-approved{background:#dbeafe;color:#1e40af}.badge-active{background:#d1fae5;color:#065f46}.badge-completed{background:#e0e7ff;color:#3730a3}.badge-published{background:#d1fae5;color:#065f46}.badge-scheduled{background:#fef3c7;color:#92400e}.badge-ready{background:#dbeafe;color:#1e40af}.badge-failed{background:#fee2e2;color:#991b1b}.badge-generating,.badge-researching{background:#fae8ff;color:#86198f}.badge-paused{background:var(--color-gray-100);color:var(--color-gray-600)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.75rem 1rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-400);border-bottom:1px solid var(--color-gray-100);white-space:nowrap}td{padding:.875rem 1rem;border-bottom:1px solid var(--color-gray-50);font-size:.875rem}tr{transition:background var(--transition)}tr:hover{background:var(--color-gray-50)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;gap:.75rem;flex-wrap:wrap}.page-title{font-size:1.625rem;font-weight:800;letter-spacing:-.02em;color:var(--color-gray-900)}.auth-container{min-height:100vh;display:flex;align-items:stretch}.auth-brand-panel{flex:1;background:var(--gradient-auth);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 70%,rgba(139,92,246,.3) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(251,191,36,.15) 0%,transparent 50%);animation:floatBg 20s ease-in-out infinite}@keyframes floatBg{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(2%,-2%) rotate(1deg)}66%{transform:translate(-1%,1%) rotate(-1deg)}}.auth-brand-content{position:relative;z-index:1;text-align:center;max-width:360px}.auth-brand-tagline{font-size:1.5rem;font-weight:700;color:#fff;margin-top:1.5rem;line-height:1.3}.auth-brand-description{font-size:.9375rem;color:#ffffffb3;margin-top:.75rem;line-height:1.6}.auth-brand-features{margin-top:2.5rem;text-align:left}.auth-brand-feature{display:flex;align-items:center;gap:.75rem;color:#fffc;font-size:.875rem;margin-bottom:1rem}.auth-brand-feature-icon{width:36px;height:36px;border-radius:10px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.auth-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:#fff}.auth-card{width:100%;max-width:420px}.auth-title{font-size:1.625rem;font-weight:800;letter-spacing:-.02em;color:var(--color-gray-900);margin-bottom:.375rem}.auth-subtitle{color:var(--color-gray-500);margin-bottom:2rem;font-size:.9375rem}.auth-footer{text-align:center;margin-top:1.75rem;font-size:.875rem;color:var(--color-gray-500)}.auth-standalone{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-50);padding:1rem}.auth-standalone-card{width:100%;max-width:500px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:2.5rem}.stat-card{background:#fff;border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition);position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1rem}.stat-card-icon.purple{background:#eef2ff;color:#6366f1}.stat-card-icon.blue{background:#dbeafe;color:#3b82f6}.stat-card-icon.green{background:#d1fae5;color:#10b981}.stat-card-icon.amber{background:#fef3c7;color:#f59e0b}.stat-value{font-size:2rem;font-weight:800;color:var(--color-gray-900);letter-spacing:-.02em;line-height:1}.stat-label{font-size:.8125rem;color:var(--color-gray-500);margin-top:.375rem;font-weight:500}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--color-gray-400);font-weight:500}.empty-state{text-align:center;padding:3rem;color:var(--color-gray-400)}.post-card{background:#fff;border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;transition:all var(--transition)}.post-card:hover{box-shadow:var(--shadow);border-color:var(--color-gray-200)}.post-card-image{width:100%;height:200px;object-fit:cover;border-radius:calc(var(--radius-lg) - 4px);margin-bottom:.75rem}.post-card-content{font-size:.875rem;color:var(--color-gray-700);white-space:pre-wrap;word-break:break-word;line-height:1.6}.grid{display:grid;gap:1.5rem}.grid-cols-3,.grid-cols-responsive-3{grid-template-columns:repeat(3,1fr)}.grid-cols-responsive-4{grid-template-columns:repeat(4,1fr)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.calendar-layout{display:grid;gap:1.5rem;grid-template-columns:1fr}.calendar-layout.has-detail{grid-template-columns:1fr 380px}.post-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.post-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.error-message{background:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem;border:1px solid #fecaca}.invite-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.welcome-header{background:var(--gradient-primary);border-radius:var(--radius-xl);padding:2rem 2.5rem;margin-bottom:1.75rem;position:relative;overflow:hidden;color:#fff}.welcome-header:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.welcome-header:after{content:"";position:absolute;bottom:-40%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(251,191,36,.15) 0%,transparent 70%);border-radius:50%}.welcome-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;position:relative;z-index:1}.welcome-subtitle{font-size:.9375rem;color:#fffc;margin-top:.375rem;position:relative;z-index:1}.welcome-actions{margin-top:1.25rem;position:relative;z-index:1}.btn-welcome{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all var(--transition);display:inline-flex;align-items:center;gap:.5rem}.btn-welcome:hover{background:#ffffff4d;transform:translateY(-1px);color:#fff}@media (max-width: 768px){.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--gradient-sidebar);position:sticky;top:0;z-index:30}.mobile-topbar-brand{display:flex;align-items:center;gap:.5rem}.mobile-topbar .logo-text{font-size:1rem}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#ffffffe6}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:280px;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.open{display:block}.layout{flex-direction:column}.main-content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:1.25rem}.grid-cols-responsive-4{grid-template-columns:repeat(2,1fr)}.grid-cols-responsive-3,.grid-cols-3,.info-grid,.calendar-layout.has-detail{grid-template-columns:1fr}.card-header{padding:1rem;flex-wrap:wrap}.card-body{padding:1rem}.post-card-header,.auth-container{flex-direction:column}.auth-brand-panel{padding:2.5rem 1.5rem;min-height:auto}.auth-brand-features{display:none}.auth-form-panel{padding:1.5rem}.auth-card{max-width:100%}.welcome-header{padding:1.5rem;border-radius:var(--radius-lg)}.welcome-title{font-size:1.25rem}.btn{padding:.75rem 1.25rem;min-height:44px}.btn-sm{padding:.5rem .75rem;min-height:36px}.form-input,.form-select,.form-textarea{padding:.75rem;font-size:1rem}.table-container{margin:0 -1rem;padding:0 1rem}th,td{padding:.625rem .75rem;font-size:.8125rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.invite-row{flex-direction:column;align-items:stretch}.invite-row .btn{width:100%}.fc .fc-toolbar{flex-direction:column;gap:.5rem}.fc .fc-toolbar-title{font-size:1rem!important}.fc .fc-button{padding:.375rem .625rem!important;font-size:.8125rem!important}}@media (max-width: 480px){.grid-cols-responsive-4{grid-template-columns:1fr 1fr}.auth-standalone-card{padding:1.25rem;margin:.5rem}.hide-mobile{display:none}}
