:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #2F7F75;--primary-dark: #268B7F;--primary-light: #3A9A8E;--primary-hover: #3A9A8E;--secondary-color: #7B68AC;--background: #F7F9FA;--surface: #FFFFFF;--surface-hover: #F7F9FA;--border: #e8ebed;--border-light: #f0f2f4;--text-primary: #2D3748;--text-secondary: #4A5568;--text-muted: #8B96A0;--shadow: rgba(0, 0, 0, .08);--shadow-hover: rgba(0, 0, 0, .12);color:var(--text-primary);background-color:var(--background)}[data-theme=dark]{--primary-color: #3A9A8E;--primary-dark: #2F7F75;--primary-light: #4ABAAD;--primary-hover: #4ABAAD;--secondary-color: #0f3a35;--background: #1a1d23;--surface: #242831;--surface-hover: #2d3139;--border: #353943;--border-light: #2d3139;--text-primary: #e8ebed;--text-secondary: #b8c1cc;--text-muted: #8b96a0;--shadow: rgba(0, 0, 0, .3);--shadow-hover: rgba(0, 0, 0, .4);color:var(--text-primary);background-color:var(--background)}*{box-sizing:border-box}body{margin:0;display:flex;min-width:320px;min-height:100vh}#root{width:100%}.sidebar{width:260px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;z-index:1000;box-shadow:2px 0 8px var(--shadow);transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:80px}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border)}.sidebar-logo{display:flex;align-items:center;text-decoration:none;transition:opacity .2s ease}.sidebar-logo:hover{opacity:.8}.sidebar-logo .logo-full{height:36px;width:auto;transition:opacity .3s ease}.sidebar-logo .logo-icon{height:40px;width:40px;transition:opacity .3s ease}.sidebar-nav{flex:1;padding:20px 16px;overflow-y:auto}.nav-section{margin-bottom:24px}.nav-section-title{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:0 12px 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;transition:opacity .2s ease}.sidebar.collapsed .nav-section-title{opacity:0;height:0;padding:0;overflow:hidden}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text-secondary);font-size:14px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:4px;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.sidebar.collapsed .nav-item{justify-content:center;padding:12px}.sidebar.collapsed .nav-item span{display:none}.nav-item svg{flex-shrink:0;opacity:.7;transition:opacity .2s ease}.nav-item:hover{background:var(--surface-hover);color:var(--primary-color)}.nav-item:hover svg{opacity:1}.nav-item.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 8px #2f7f7540}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:#fff;border-radius:0 3px 3px 0}.nav-item.active svg{opacity:1}.sidebar-footer{padding:16px;border-top:1px solid var(--border);background:var(--surface-hover)}.sidebar.collapsed .sidebar-footer{display:flex;flex-direction:column;align-items:center;padding:16px 12px}.user-profile{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;transition:background .2s ease}.user-profile:hover{background:var(--surface);cursor:pointer}.sidebar.collapsed .user-profile{justify-content:center;padding:8px}.user-avatar{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden;transition:opacity .2s ease}.sidebar.collapsed .user-info{display:none}.user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.user-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-controls{display:flex;gap:8px;margin-bottom:12px}.sidebar.collapsed .sidebar-controls{flex-direction:column;gap:8px}.theme-toggle-btn{display:flex;align-items:center;gap:8px;flex:1;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.theme-toggle-btn:hover{background:var(--surface-hover);border-color:var(--primary-color);color:var(--primary-color)}.sidebar.collapsed .theme-toggle-btn{justify-content:center;padding:12px;width:auto;min-width:44px}.sidebar.collapsed .theme-toggle-btn span{display:none}.collapse-btn{display:flex;align-items:center;gap:8px;flex:1;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.collapse-btn:hover{background:var(--surface-hover);border-color:var(--primary-color);color:var(--primary-color)}.collapse-btn svg{flex-shrink:0;transition:transform .2s ease}.sidebar.collapsed .collapse-btn{justify-content:center;padding:12px;width:auto;min-width:44px}.sidebar.collapsed .collapse-btn span{display:none}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border)}.sidebar-header{padding:16px 20px}.sidebar-nav{padding:16px}.nav-section{margin-bottom:16px}.sidebar-footer{display:none}}.app-layout{display:flex;min-height:100vh;background:var(--background)}.main-wrapper{flex:1;margin-left:260px;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.main-wrapper.sidebar-collapsed{margin-left:80px}.app-main{padding:48px;max-width:1400px;width:100%;margin:0 auto}@media(max-width:768px){.main-wrapper{margin-left:0}.app-main{padding:24px}}@media(max-width:480px){.app-main{padding:16px}}.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-color) 50%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.login-modal{background:var(--surface);border-radius:16px;padding:48px 40px;width:90%;max-width:420px;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-modal.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.login-header{text-align:center;margin-bottom:32px}.login-icon{font-size:48px;margin-bottom:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.login-header h2{font-size:28px;font-weight:600;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.5px}.login-header p{font-size:15px;color:var(--text-secondary);margin:0}.login-form{margin-bottom:24px}.input-group{margin-bottom:16px}.input-group input{width:100%;padding:14px 16px;font-size:16px;border:2px solid var(--border);border-radius:10px;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--surface-hover);color:var(--text-primary)}.input-group input:focus{outline:none;border-color:var(--primary-color);background:var(--surface);box-shadow:0 0 0 4px var(--shadow)}.input-group input.error{border-color:#ff3b30;background:#fff5f5}.input-group input.error:focus{box-shadow:0 0 0 4px #ff3b301a}.error-message{display:block;color:#ff3b30;font-size:13px;margin-top:8px;font-weight:500}.login-button{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-hover)}.login-button:active{transform:translateY(0);box-shadow:0 2px 6px var(--shadow)}.login-footer{text-align:center;padding-top:24px;border-top:1px solid var(--border)}.login-footer p{font-size:13px;color:var(--text-muted);margin:0}@media(max-width:480px){.login-modal{padding:40px 24px;max-width:100%;margin:20px}.login-header h2{font-size:24px}.login-icon{font-size:40px}}.home-page{background:transparent;min-height:100%}.hero-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 40%,var(--secondary-color) 100%);padding:80px 48px;text-align:center;box-shadow:0 4px 16px var(--shadow);border-radius:16px;margin-bottom:48px;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-content{max-width:800px;margin:0 auto}.hero-badge{display:inline-block;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;margin-bottom:20px;border:1px solid rgba(255,255,255,.2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.hero-section h1{font-size:42px;font-weight:700;color:#fff;margin:0 0 16px;letter-spacing:-1px;line-height:1.2;position:relative;z-index:1}.hero-subtitle{font-size:17px;color:#fffffff2;margin:0;line-height:1.6;font-weight:400;position:relative;z-index:1}.apps-container{max-width:100%;margin:0;padding:0}.section-header{text-align:left;margin-bottom:32px}.section-header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.5px}.section-header p{font-size:15px;color:var(--text-muted);margin:0}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;text-decoration:none;color:inherit;box-shadow:0 1px 3px var(--shadow);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.app-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));transform:scaleX(0);transition:transform .3s ease}.app-card-active:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow-hover);border-color:var(--primary-color)}.app-card-active:hover:before{transform:scaleX(1)}.app-card-coming-soon{opacity:.7;cursor:default}.app-card-coming-soon:hover{transform:none;box-shadow:0 1px 3px var(--shadow)}.app-card-header{display:flex;justify-content:space-between;align-items:flex-start}.app-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px var(--shadow)}.app-icon-muted{background:var(--border);color:var(--text-muted);box-shadow:none}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.status-active{background:#dafbe1;color:#1a7f37}.status-coming-soon{background:#fff8c5;color:#7d4e00}.app-card h3{font-size:22px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.app-card p{font-size:15px;color:var(--text-secondary);line-height:1.6;margin:0;flex:1}.app-features{display:flex;gap:8px;flex-wrap:wrap}.feature-tag{background:var(--surface-hover);color:var(--text-primary);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid var(--border);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.app-action{display:flex;align-items:center;gap:8px;color:var(--primary-color);font-weight:600;font-size:14px;margin-top:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.app-action svg{transition:transform .2s ease}.app-card-active:hover .app-action svg{transform:translate(4px)}.coming-soon-note{padding:12px 16px;background:var(--surface-hover);border-radius:6px;color:var(--text-secondary);font-size:13px;text-align:center;font-weight:500;margin-top:8px}@media(max-width:768px){.hero-section{padding:60px 20px}.hero-section h1{font-size:36px}.hero-subtitle{font-size:16px}.apps-container{padding:48px 20px}.section-header h2{font-size:24px}.apps-grid{grid-template-columns:1fr;gap:20px}.app-card{padding:24px}.app-icon{width:56px;height:56px}.app-card h3{font-size:20px}}@media(max-width:480px){.hero-section{padding:48px 16px}.hero-section h1{font-size:28px}.hero-subtitle{font-size:14px}.apps-container{padding:32px 16px}.app-card{padding:20px}}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.settings-panel:hover{box-shadow:0 3px 8px var(--shadow-hover)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.settings-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.settings-actions{display:flex;gap:8px}.btn-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1.4;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;white-space:nowrap}.btn-load{background:var(--surface);color:var(--text-primary)}.btn-load:hover{background:var(--surface-hover);border-color:var(--border)}.btn-load:active{background:var(--border-light);transform:scale(.98)}.btn-save{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:var(--border);box-shadow:0 2px 8px var(--shadow)}.btn-save:hover{transform:translateY(-1px);box-shadow:0 3px 10px var(--shadow-hover)}.btn-save:active{transform:translateY(0)}.btn-action svg{flex-shrink:0}.settings-content{padding:20px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.input-group input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--surface);transition:all .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.input-group input::placeholder{color:var(--text-muted)}.input-group input:hover{border-color:var(--text-muted)}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.input-group input[type=date]{min-width:160px}@media(max-width:768px){.settings-header{flex-direction:column;align-items:flex-start;gap:12px}.settings-actions{width:100%;justify-content:flex-end}.settings-content{grid-template-columns:1fr}.btn-action{flex:1;justify-content:center}}@media(max-width:480px){.settings-panel{border-radius:8px}.settings-header{padding:12px 16px;border-radius:8px 8px 0 0}.settings-content{padding:16px}.settings-actions{flex-direction:column}}.upload-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.upload-section:hover{box-shadow:0 3px 8px var(--shadow-hover)}.upload-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.upload-title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.upload-subtitle{margin:0;font-size:12px;color:var(--text-secondary);font-weight:400}.upload-content{padding:20px;display:flex;flex-direction:column;gap:16px}.textarea-group{display:flex;flex-direction:column;gap:8px}.textarea-group label{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.email-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6;resize:vertical;transition:all .15s ease;background:var(--surface);color:var(--text-primary)}.email-textarea::placeholder{color:var(--text-muted)}.email-textarea:hover{border-color:var(--text-muted)}.email-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.btn-extract{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;height:36px;min-width:150px;background:var(--primary-color);color:#fff;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),box-shadow .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;align-self:flex-start}.btn-extract:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 1px 3px var(--shadow)}.btn-extract:active:not(:disabled){background:var(--primary-dark);transform:scale(.98)}.btn-extract:disabled{background:var(--primary-color);cursor:default;color:#fff;border-color:var(--border);opacity:.9}.btn-extract svg{flex-shrink:0;width:14px;height:14px;display:block}.loading-spinner{animation:spin 1s linear infinite}@media(max-width:768px){.upload-header{padding:12px 16px}.upload-content{padding:16px}.btn-extract{width:100%;justify-content:center}}.chart-item{display:grid;grid-template-columns:24px 40px 100px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:6px;margin-bottom:8px;transition:all .15s ease;cursor:move;background:var(--surface)}.chart-item:hover{border-color:var(--primary-color);box-shadow:0 2px 6px var(--shadow)}.chart-drag-handle{color:var(--text-secondary);cursor:grab;display:flex;align-items:center;justify-content:center}.chart-drag-handle:active{cursor:grabbing}.chart-number-badge{font-size:12px;font-weight:600;color:var(--primary-color);background:var(--surface-hover);padding:4px 8px;border-radius:4px;text-align:center}.chart-preview-container{position:relative;width:100px;height:56px}.chart-preview{width:100%;height:100%;object-fit:cover;border-radius:4px;border:1px solid var(--border);background:var(--surface-hover);cursor:pointer;transition:all .2s ease}.chart-preview:hover{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--shadow)}.chart-info{display:flex;flex-direction:column;gap:4px}.chart-filename{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.4}.chart-metadata{font-size:12px;color:var(--text-secondary)}.chart-title{font-size:13px;font-weight:600;color:var(--primary-color);font-style:italic;line-height:1.3;margin:2px 0}.chart-title-processing{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);font-style:italic;margin:2px 0}.processing-spinner{animation:spin 2s linear infinite}.chart-controls{display:flex;gap:12px;align-items:center}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 8px;border-radius:4px;transition:background .15s ease}.checkbox-label:hover{background:var(--surface-hover)}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.btn-preview{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:var(--surface);border:1px solid var(--primary-color);border-radius:6px;color:var(--primary-color);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-preview:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 1px 3px var(--shadow)}.btn-preview:active{transform:scale(.98)}.btn-preview svg{flex-shrink:0}.btn-remove{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:var(--surface);border:1px solid rgba(207,34,46,.25);border-radius:6px;color:#cf222e;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-remove:hover{background:#cf222e;color:#fff;border-color:#cf222e;box-shadow:0 1px 3px #cf222e33}.btn-remove:active{transform:scale(.98)}.btn-remove svg{flex-shrink:0}@media(max-width:768px){.chart-item{grid-template-columns:24px 32px 80px 1fr;gap:8px}.chart-number-badge{font-size:11px;padding:3px 6px}.chart-preview{width:80px;height:45px}.chart-controls{grid-column:1 / -1;justify-content:space-between;padding-top:8px;margin-top:4px;border-top:1px solid var(--border)}}.charts-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.charts-container:hover{box-shadow:0 3px 8px var(--shadow-hover)}.charts-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.charts-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.charts-count{font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--surface);padding:4px 10px;border-radius:12px;border:1px solid var(--border)}.charts-content{padding:20px}.sortable-ghost{opacity:.4}.sortable-drag{opacity:.8;box-shadow:0 4px 12px var(--shadow-hover)}.chart-lightbox-shared{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;max-width:90vw;max-height:90vh;background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0006;padding:8px;border:2px solid var(--primary-color);pointer-events:none}.chart-lightbox-shared .chart-lightbox-image{display:block;max-width:800px;max-height:600px;width:auto;height:auto;border-radius:8px}.empty-state{text-align:center;padding:48px 32px;color:var(--text-muted)}.empty-state-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.25;color:var(--text-secondary)}.empty-state h3{font-size:15px;font-weight:500;margin-bottom:6px;color:var(--text-primary)}.empty-state p{font-size:13px;margin:0;color:var(--text-secondary)}.wp-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.wp-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out}.wp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e1e4e8;background:linear-gradient(135deg,#2f7f75,#268b7f);border-radius:12px 12px 0 0}.wp-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#fff}.wp-modal-body{padding:28px}.wp-info-box{background:#f6f8fa;border:1px solid #d0d7de;border-radius:8px;padding:16px 20px;margin-bottom:24px}.wp-info-box h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#24292f}.wp-info-box ol{margin:0;padding-left:20px;font-size:13px;line-height:1.6;color:#57606a}.wp-info-box li{margin-bottom:4px}.wp-info-box strong{color:#24292f;font-weight:600}.wp-form-group{margin-bottom:20px}.wp-form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:#24292f}.wp-form-group input{width:100%;padding:10px 12px;border:1px solid #d0d7de;border-radius:6px;font-size:14px;transition:all .2s;background:#fff;color:#24292f}.wp-form-group input:focus{outline:none;border-color:#2f7f75;box-shadow:0 0 0 3px #2f7f751a}.wp-form-group input.error{border-color:#ff3b30}.wp-form-group input::placeholder{color:#8c959f}.wp-error-message{background:#fff0f0;border:1px solid #ff3b30;color:#d1242f;padding:12px 16px;border-radius:6px;font-size:14px;margin-top:16px;animation:shake .5s}.wp-success-message{background:#e6f7f0;border:1px solid #2F7F75;color:#1f5f59;padding:12px 16px;border-radius:6px;font-size:14px;margin-top:16px;font-weight:600}.wp-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e1e4e8;background:#f6f8fa;border-radius:0 0 12px 12px}.wp-btn-primary{background:linear-gradient(135deg,#2f7f75,#268b7f);color:#fff;box-shadow:0 2px 8px #2f7f7533}.wp-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #2f7f754d}@media(max-width:768px){.wp-modal{width:95%;max-height:95vh}.wp-modal-header,.wp-modal-body,.wp-modal-footer{padding:20px}.wp-modal-header h2{font-size:20px}.wp-info-box{font-size:12px}.wp-modal-footer{flex-direction:column}.wp-btn{width:100%}}.chart-collection-generator{background:var(--background);min-height:100vh}.page-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 40%,var(--secondary-color) 100%);padding:48px 0;margin-bottom:32px;border-radius:16px;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.page-header .header-content{position:relative;z-index:1;padding:0 48px}.page-header h1{font-size:32px;font-weight:700;margin:0 0 8px;letter-spacing:-.5px;color:#fff}.page-header p{font-size:16px;color:#fffffff2;margin:0}.action-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.action-header{padding:20px 24px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.action-title{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.action-subtitle{margin:0;font-size:14px;color:var(--text-secondary);font-weight:400}.action-buttons{padding:24px;display:flex;justify-content:center;gap:12px}.btn-download{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.btn-download svg{flex-shrink:0}.btn-download-primary:active:not(:disabled){transform:translateY(0)}.btn-download-secondary{background:var(--surface);color:var(--primary-color);border:1px solid var(--primary-color)}.btn-download-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-download-secondary:active:not(:disabled){background:var(--border-light)}.btn-download:disabled{background:var(--surface-hover);color:var(--text-muted);border-color:var(--border);cursor:not-allowed;opacity:.6}.wordpress-section{margin-top:24px}.wordpress-section .action-title{display:flex;align-items:center;gap:8px}.wordpress-options{padding:24px;display:flex;gap:20px;justify-content:center;border-bottom:1px solid var(--border)}.wp-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.wp-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.wp-checkbox-label span{font-weight:500}.wordpress-section .btn-download{margin:24px auto;display:flex}.btn-wordpress{background:linear-gradient(135deg,#21759b,#1e6a8d);color:#fff;border-color:var(--border)}.btn-wordpress:hover:not(:disabled){background:linear-gradient(135deg,#1e6a8d,#1a5c7a);box-shadow:0 2px 6px var(--shadow)}.btn-wordpress:active:not(:disabled){background:#1a5c7a;transform:scale(.98)}@media(max-width:768px){.page-header{padding:32px 0}.page-header .header-content{padding:0 24px}.page-header h1{font-size:24px}.page-header p{font-size:14px}.generator-content{padding:0 20px 48px}.action-header{padding:16px 20px}.action-buttons{padding:20px;flex-direction:column}.btn-download{width:100%;justify-content:center}.wordpress-options{flex-direction:column;align-items:flex-start;padding:20px}}@media(max-width:480px){.page-header .header-content{padding:0 16px}.page-header h1{font-size:24px}.page-header p{font-size:14px}.generator-content{padding:0 16px 48px}}.morning-briefing-generator{min-height:100vh;background:var(--background)}.generator-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 40%,var(--secondary-color) 100%);padding:48px 0;margin-bottom:32px;border-radius:16px;position:relative;overflow:hidden}.generator-header:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.generator-header .header-content{position:relative;z-index:1;padding:0 48px}.generator-header h1{margin:0 0 8px;font-size:32px;font-weight:700;letter-spacing:-.5px;color:#fff}.generator-header p{margin:0;font-size:16px;color:#fffffff2}.generator-content{max-width:1200px;margin:0 auto;padding:0 32px 64px}.form-section,.content-section,.export-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px var(--shadow);margin-bottom:24px;transition:box-shadow .2s ease}.form-section:hover,.content-section:hover,.export-section:hover{box-shadow:0 3px 8px var(--shadow-hover)}.section-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.section-header h2{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.section-header p{margin:0;font-size:12px;color:var(--text-secondary);font-weight:400}.form-section .form-group,.content-section .form-group{padding:20px;border-bottom:1px solid var(--border)}.form-section .form-group:last-child,.content-section .form-group:last-child{border-bottom:none}.form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.form-help{margin:6px 0 0;font-size:12px;color:var(--text-secondary)}.form-input,.form-textarea{width:100%;padding:8px 12px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.form-textarea{resize:vertical;line-height:1.5}.editor-wrapper{border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.editor-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:6px 6px 0 0;padding:8px 12px;display:flex;gap:4px;flex-wrap:wrap}.editor-toolbar button{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:6px 12px;font-size:14px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--text-primary);cursor:pointer;transition:all .15s ease;min-width:32px}.editor-toolbar button:hover{background:var(--surface-hover);border-color:var(--primary-color)}.editor-toolbar button.is-active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:var(--primary-color)}.editor-toolbar .separator{width:1px;background:var(--border);margin:0 4px}.tiptap-editor{min-height:300px;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6;color:var(--text-primary);outline:none}.tiptap-editor p{margin:0 0 12px}.tiptap-editor p:last-child{margin-bottom:0}.tiptap-editor h1,.tiptap-editor h2,.tiptap-editor h3{margin:16px 0 8px;font-weight:600;line-height:1.25}.tiptap-editor h1{font-size:28px;color:var(--primary-color)}.tiptap-editor h2{font-size:22px;color:var(--primary-color)}.tiptap-editor h3{font-size:18px;color:var(--primary-color)}.tiptap-editor ul,.tiptap-editor ol{padding-left:24px;margin:0 0 12px}.tiptap-editor li{margin-bottom:4px}.tiptap-editor strong{font-weight:600}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;height:0;float:left}.export-section .action-buttons{padding:24px;display:flex;gap:12px;flex-wrap:wrap}.btn-download{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn-download:active:not(:disabled){transform:scale(.98)}.btn-download:disabled{opacity:.5;cursor:not-allowed}.btn-download-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:var(--border);box-shadow:0 2px 8px var(--shadow)}.btn-download-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.btn-wordpress{background:linear-gradient(135deg,#21759b,#1e6b8c);color:#fff;border-color:#1b1f231a}.btn-wordpress:hover:not(:disabled){background:linear-gradient(135deg,#1e6b8c,#1a5f7d);box-shadow:0 2px 6px #21759b4d}.btn-download svg{width:20px;height:20px;flex-shrink:0}@media(max-width:768px){.generator-header{padding:32px 0}.generator-header .header-content{padding:0 24px}.generator-header h1{font-size:24px}.generator-header p{font-size:14px}.generator-content{padding:0 20px 48px}.section-header{padding:12px 16px}.form-section .form-group,.content-section .form-group{padding:16px}.export-section .action-buttons{padding:20px;flex-direction:column}.btn-download{width:100%;justify-content:center}.editor-wrapper .ql-editor{min-height:250px}}@media(max-width:480px){.generator-header h1{font-size:24px}.generator-header p{font-size:14px}.form-section .form-group,.content-section .form-group{padding:16px}.editor-wrapper .ql-toolbar{padding:8px}.editor-wrapper .ql-editor{min-height:200px;padding:12px}}.btn-download.loading{position:relative;color:transparent}.btn-download.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spinner .6s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.btn-download:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.form-input:focus-visible,.form-textarea:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.wp-upload-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.wp-upload-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out}.wp-upload-modal-large{max-width:800px}.wp-upload-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e1e4e8;background:linear-gradient(135deg,#1f4f4f,#2d6a6a,#3d7a7a);border-radius:12px 12px 0 0}.wp-upload-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#fff}.wp-modal-close{background:none;border:none;font-size:32px;color:#fff;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.wp-modal-close:hover{background-color:#ffffff1a}.wp-upload-modal-body{padding:28px}.upload-summary h3{font-size:16px;font-weight:600;color:#24292f;margin:0 0 8px}.destination-url{font-size:14px;color:#2d6a6a;font-weight:500;padding:12px;background:#f6f8fa;border-radius:6px;margin-bottom:24px;word-break:break-all}.upload-details{display:flex;flex-direction:column;gap:16px}.upload-item{padding:16px;background:#f6f8fa;border-radius:8px;border:1px solid #d0d7de}.upload-item h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#24292f}.item-details{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-yes{color:#2d6a6a;font-weight:600}.status-no{color:#8c959f;font-weight:500}.file-count,.file-size{font-size:13px;color:#57606a;padding:4px 8px;background:#fff;border-radius:4px}.upload-total{padding:12px 16px;background:#e6f7f0;border:1px solid #2d6a6a;border-radius:6px;text-align:center;color:#1f4f4f;margin-top:8px}.confirmation-note{margin:24px 0 0;padding:16px;background:#fff8dc;border:1px solid #e5d899;border-radius:6px;color:#5c4813;font-size:14px;text-align:center}.progress-container{margin-bottom:24px}.progress-bar-container{width:100%;height:8px;background:#e1e4e8;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2d6a6a,#3d7a7a);transition:width .3s ease}.progress-text{text-align:center;font-size:14px;font-weight:600;color:#24292f}.upload-files-list{max-height:300px;overflow-y:auto;border:1px solid #e1e4e8;border-radius:6px;padding:8px}.upload-file-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:4px;margin-bottom:4px;font-size:13px}.upload-file-item.pending{background:#f6f8fa;color:#8c959f}.upload-file-item.uploading{background:#fff8dc;color:#5c4813}.upload-file-item.success{background:#e6f7f0;color:#1f4f4f}.upload-file-item.error{background:#fff0f0;color:#d1242f}.file-name{flex:1;word-break:break-word}.status-icon{margin-left:8px;font-weight:700}.results-summary{margin-bottom:24px}.success-banner,.partial-success-banner{display:flex;align-items:center;gap:16px;padding:20px;border-radius:8px}.success-banner{background:#e6f7f0;border:2px solid #2d6a6a}.partial-success-banner{background:#fff8dc;border:2px solid #e5d899}.success-icon{font-size:32px;color:#2d6a6a}.warning-icon{font-size:32px;color:#d97706}.success-banner h3,.partial-success-banner h3{margin:0 0 4px;font-size:18px;font-weight:600}.success-banner p,.partial-success-banner p{margin:0;font-size:14px;opacity:.9}.results-section{margin-bottom:24px}.results-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.results-section-header h4{margin:0;font-size:16px;font-weight:600;color:#24292f}.results-files-list{border:1px solid #e1e4e8;border-radius:6px;overflow:hidden;max-height:250px;overflow-y:auto}.result-file-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e1e4e8;font-size:13px}.result-file-item:last-child{border-bottom:none}.result-file-item.success{background:#f6f8fa}.result-file-item.error{background:#fff5f5}.file-link{color:#2d6a6a;text-decoration:none;font-weight:500;padding:4px 8px;border-radius:4px;transition:background .2s}.file-link:hover{background:#e6f7f0}.error-message{color:#d1242f;font-size:12px;font-style:italic}.wp-upload-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e1e4e8;background:#f6f8fa;border-radius:0 0 12px 12px}.wp-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.wp-btn:disabled{opacity:.5;cursor:not-allowed}.wp-btn-small{padding:6px 12px;font-size:13px}.wp-btn-secondary{background:#fff;color:#24292f;border:1px solid #d0d7de}.wp-btn-secondary:hover:not(:disabled){background:#f6f8fa;border-color:#afb8c1}.wp-btn-primary{background:linear-gradient(135deg,#2d6a6a,#3d7a7a);color:#fff;box-shadow:0 1px 3px #1b1f231f}.wp-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1f4f4f,#2d6a6a);box-shadow:0 2px 6px #1b1f232e}.wp-btn-retry{background:#d97706;color:#fff}.wp-btn-retry:hover:not(:disabled){background:#b45309}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.wp-upload-modal{width:95%;max-height:95vh}.wp-upload-modal-header,.wp-upload-modal-body,.wp-upload-modal-footer{padding:20px}.item-details{flex-direction:column;align-items:flex-start}.results-section-header{flex-direction:column;align-items:flex-start;gap:8px}.wp-btn-small{width:100%}}.upload-status{text-align:center;padding:20px}.status-spinner{width:40px;height:40px;margin:0 auto 16px;border:4px solid #f3f3f3;border-top:4px solid #2d6a6a;border-radius:50%;animation:spin 1s linear infinite}.upload-status p{color:#57606a;font-size:14px;margin:0}.error-banner{display:flex;align-items:center;gap:16px;padding:16px;background:#fff5f5;border:1px solid #ff8a80;border-radius:8px;margin-bottom:20px}.error-icon{font-size:32px;color:#d1242f;flex-shrink:0}.error-banner h3{margin:0 0 4px;font-size:16px;color:#d1242f}.error-banner p{margin:0;font-size:14px;color:#822025}.error-details{padding:16px;background:#f6f8fa;border-radius:6px;margin-top:16px}.error-details h4{margin:0 0 8px;font-size:14px;color:#24292f}.error-details .error-message{color:#d1242f;font-size:13px;font-style:normal}.file-actions{display:flex;gap:8px;align-items:center}.calendar-upload-box{background:var(--surface);border:2px dashed var(--border);border-radius:12px;padding:64px 32px;text-align:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.calendar-upload-box:hover{border-color:var(--primary-color);background:var(--surface-hover)}.upload-icon{color:var(--primary-color);margin-bottom:24px}.calendar-upload-box h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.calendar-upload-box>p{font-size:15px;color:var(--text-muted);margin:0 0 24px}.upload-requirements{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.req-badge{background:var(--surface-hover);color:var(--text-secondary);padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.upload-format{background:var(--surface-hover);border-radius:8px;padding:20px;margin-top:24px;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.upload-format p{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.upload-format ul{list-style:none;padding:0;margin:0}.upload-format li{font-size:13px;color:var(--text-secondary);padding:4px 0 4px 20px;position:relative}.upload-format li:before{content:"•";position:absolute;left:8px;color:var(--primary-color);font-weight:700}.calendar-preview{background:#fff;border:1px solid #e8ebed;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000000a}.calendar-preview-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:3px solid #2F7F75}.calendar-preview-header h2{font-size:32px;font-weight:700;color:#2f7f75;margin:0 0 8px;letter-spacing:-.5px}.calendar-preview-header h3{font-size:24px;font-weight:600;color:#4a5568;margin:0}.calendar-grid{border:1px solid #d0d7de;border-radius:8px;overflow:hidden}.calendar-header-row{display:grid;grid-template-columns:repeat(5,1fr);background:#2f7f75}.calendar-header-cell{padding:16px 12px;text-align:center;font-size:14px;font-weight:600;color:#fff;border-right:1px solid rgba(255,255,255,.2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.calendar-header-cell:last-child{border-right:none}.calendar-week-row{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #d0d7de}.calendar-week-row:last-child{border-bottom:none}.calendar-day-cell{min-height:140px;padding:10px 12px;border-right:1px solid #d0d7de;background:#fff;position:relative}.calendar-day-cell:last-child{border-right:none}.calendar-day-cell:empty{background:#f7f9fa}.day-number{font-size:20px;font-weight:700;color:#2f7f75;margin-bottom:8px}.day-events{display:flex;flex-direction:column;gap:1px}.event-item{font-size:12px;line-height:1.25;color:#000;padding-left:12px;position:relative}.event-item:before{content:"•";position:absolute;left:0;font-weight:900;color:#000;font-size:14px}.event-name{font-weight:800;color:#2d2d2d}.event-period{color:#000;font-weight:600}.calendar-preview-footer{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid #d0d7de;font-size:12px;color:#4a5568}.footer-left{font-weight:500}.footer-right{text-align:right;font-weight:600;line-height:1.5}@media(max-width:1200px){.calendar-day-cell{min-height:120px;padding:6px 8px}.day-number{font-size:14px}.event-item{font-size:9px}}@media(max-width:768px){.calendar-preview{padding:20px}.calendar-preview-header h2{font-size:24px}.calendar-preview-header h3{font-size:18px}.calendar-header-cell{padding:12px 8px;font-size:12px}.calendar-day-cell{min-height:80px}.event-item{font-size:9px}}.calendar-controls{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:24px}.controls-section{padding-bottom:24px;border-bottom:1px solid var(--border)}.controls-section:last-child{border-bottom:none;padding-bottom:0}.controls-section h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.control-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--surface);cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.control-select:hover{border-color:var(--primary-color)}.control-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.control-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.control-btn:last-child{margin-bottom:0}.control-btn.primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 8px var(--shadow)}.control-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.control-btn.secondary{background:var(--surface);color:var(--primary-color);border:1px solid var(--primary-color)}.control-btn.secondary:hover:not(:disabled){background:var(--surface-hover)}.control-btn:disabled{opacity:.5;cursor:not-allowed}.event-stats{background:var(--surface-hover);border-radius:8px;padding:16px}.stat-item{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:13px;color:var(--text-secondary);font-weight:500}.stat-value{font-size:20px;font-weight:700;color:var(--primary-color)}.week-selector{margin-bottom:16px}.week-selector label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.week-buttons{display:flex;gap:8px;flex-wrap:wrap}.week-btn{flex:1;min-width:40px;padding:10px 12px;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.week-btn:hover{border-color:var(--primary-color);background:var(--surface-hover)}.week-btn.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 8px var(--shadow)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 12px 32px #00000026;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e8ebed}.modal-header h2{font-size:20px;font-weight:600;color:#2d3748;margin:0}.modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#8b96a0;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:#f7f9fa;color:#2d3748}.modal-body{padding:24px}.modal-body>p{font-size:15px;color:#4a5568;margin:0 0 20px}.upload-info{background:#f7f9fa;border-radius:8px;padding:16px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e8ebed}.info-row:last-child{border-bottom:none}.info-label{font-size:14px;font-weight:500;color:#4a5568}.info-value{font-size:14px;font-weight:600;color:#2d3748}.status-message{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-top:16px}.status-message.success{background:#dafbe1;color:#1a7f37}.status-message.error{background:#ffebe9;color:#cf222e}.modal-footer{display:flex;gap:12px;padding:24px;border-top:1px solid #e8ebed;justify-content:flex-end}.btn-secondary,.btn-primary{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.btn-secondary{background:#fff;border:1px solid #d0d7de;color:#2d3748}.btn-secondary:hover:not(:disabled){background:#f7f9fa}.btn-primary{background:linear-gradient(135deg,#2f7f75,#268b7f);border:none;color:#fff;box-shadow:0 2px 8px #2f7f7533}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2f7f754d}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.calendar-generator{display:flex;flex-direction:column;height:100%;background:transparent}.calendar-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 40%,var(--secondary-color) 100%);padding:48px 0;border-radius:16px;margin-bottom:32px;position:relative;overflow:hidden}.calendar-header:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.calendar-header .header-content{position:relative;z-index:1;padding:0 48px}.calendar-header h1{font-size:32px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:-.5px}.calendar-header p{font-size:16px;color:#fffffff2;margin:0}.calendar-workspace{display:flex;gap:32px;flex:1}.calendar-sidebar{width:300px;flex-shrink:0}.calendar-main{flex:1;min-width:0}@media(max-width:1024px){.calendar-workspace{flex-direction:column}.calendar-sidebar{width:100%}}@media(max-width:768px){.calendar-header{padding:32px 0}.calendar-header .header-content{padding:0 24px}.calendar-header h1{font-size:24px}.calendar-header p{font-size:14px}}.wiar-generator{min-height:100vh;background:var(--background)}.wiar-content{max-width:1200px;margin:0 auto;padding:2rem}.action-section{background:var(--surface);border-radius:12px;margin-bottom:24px;border:1px solid var(--border);box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.action-section:hover{box-shadow:0 3px 8px var(--shadow-hover)}.action-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.action-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px;letter-spacing:-.01em}.action-subtitle{color:var(--text-secondary);margin:0;font-size:12px;font-weight:400}.last-fetched{color:var(--text-muted);font-size:11px;margin-top:6px;font-style:italic}.action-buttons{padding:20px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-banner{background:#ff3b301a;border:1px solid #ff3b30;color:#ff3b30;padding:12px 16px;border-radius:6px;font-size:13px;margin-bottom:24px}.headlines-section{background:var(--surface);border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.headlines-section:hover{box-shadow:0 3px 8px var(--shadow-hover)}.headlines-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.headlines-header h2{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.headline-count{font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--surface);padding:4px 10px;border-radius:12px;border:1px solid var(--border);margin:0}.headlines-content{display:flex;flex-direction:column;gap:0;padding:20px}.headline-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.headline-item:first-child{padding-top:0}.headline-item:last-child{border-bottom:none;padding-bottom:0}.headline-text{flex:1;font-size:.95rem;line-height:1.6;color:var(--text-primary)}.headline-text a{color:var(--primary-color);text-decoration:none}.headline-text a:hover{text-decoration:underline}.headline-text strong{font-weight:600;color:var(--text-primary)}.delete-btn{background:var(--surface);border:1px solid rgba(207,34,46,.25);border-radius:6px;padding:6px;cursor:pointer;color:#cf222e;transition:all .15s ease;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.delete-btn:hover{background:#cf222e;color:#fff;border-color:#cf222e;box-shadow:0 1px 3px #cf222e33}.delete-btn:active{transform:scale(.98)}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:12px;text-align:center;padding:64px 32px;color:var(--text-muted);box-shadow:0 1px 3px var(--shadow)}.empty-state svg{width:64px;height:64px;margin:0 auto 16px;opacity:.25;color:var(--text-secondary)}.empty-state h3{font-size:15px;font-weight:500;color:var(--text-primary);margin:0 0 6px}.empty-state p{margin:0;font-size:13px;color:var(--text-secondary)}.settings-page{min-height:100vh;background:transparent}.settings-page-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 40%,var(--secondary-color) 100%);padding:48px 0;border-radius:16px;margin-bottom:32px;position:relative;overflow:hidden}.settings-page-header:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.settings-page-header .header-content{position:relative;z-index:1;padding:0 48px}.settings-page-header h1{font-size:32px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:-.5px}.settings-page-header p{font-size:16px;color:#fffffff2;margin:0}.settings-page-content{display:flex;flex-direction:column;gap:24px}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px var(--shadow);transition:box-shadow .2s ease}.settings-section:hover{box-shadow:0 3px 8px var(--shadow-hover)}.settings-section .section-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface-hover);border-radius:12px 12px 0 0}.settings-section .section-header h2{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.settings-section .section-header p{margin:0;font-size:12px;color:var(--text-secondary);font-weight:400}.settings-section-body{padding:20px}.info-box{background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:20px}.info-box h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary)}.info-box ol{margin:0;padding-left:20px;font-size:12px;line-height:1.6;color:var(--text-secondary)}.info-box li{margin-bottom:4px}.info-box strong{color:var(--text-primary);font-weight:600}.form-row{margin-bottom:0}.form-row-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-horizontal{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.form-group input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--surface);transition:all .15s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.form-group input::placeholder{color:var(--text-muted)}.form-group input:hover{border-color:var(--text-muted)}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow)}.form-group input.error{border-color:#ff3b30}.error-message{background:#ff3b301a;border:1px solid #ff3b30;color:#ff3b30;padding:12px 16px;border-radius:6px;font-size:13px;margin-bottom:16px;animation:shake .5s}.success-message{background:#2f7f751a;border:1px solid var(--primary-color);color:var(--primary-color);padding:12px 16px;border-radius:6px;font-size:13px;margin-bottom:16px;font-weight:600}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;border:none}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 8px var(--shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--primary-color);border:1px solid var(--primary-color)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@media(max-width:768px){.settings-page-header{padding:32px 0}.settings-page-header .header-content{padding:0 24px}.settings-page-header h1{font-size:24px}.settings-page-header p{font-size:14px}.form-row-two-col,.form-row-horizontal{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.loading-screen{position:fixed;inset:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 50%,var(--secondary-color) 100%);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
