:root{--color-primary:#6b21d8;--color-primary-hover:#7c3aed;--color-primary-light:#8b5cf6;--color-primary-pale:#ede9fe;--color-primary-ghost:#f5f3ff;--color-accent-green:#4ade80;--color-accent-green-dark:#22c55e;--color-accent-green-pale:#dcfce7;--color-bg:#fafafc;--color-bg-elevated:#fff;--color-bg-hover:#f8f7fc;--color-bg-active:#f0edfa;--color-text:#1e1e2e;--color-text-secondary:#64648c;--color-text-muted:#9ca3af;--color-text-inverse:#fff;--color-border:#f0f0f5;--color-border-hover:#e5e5ee;--color-border-focus:#6b21d8;--color-status-draft:#d1d5db;--color-status-draft-bg:#f3f4f6;--color-status-ready:#fb923c;--color-status-ready-bg:#fff7ed;--color-status-published:#4ade80;--color-status-published-bg:#dcfce7;--color-type-static:#6b21d8;--color-type-static-bg:#ede9fe;--color-type-carousel:#3b82f6;--color-type-carousel-bg:#dbeafe;--color-type-reel:#ec4899;--color-type-reel-bg:#fce7f3;--color-type-text:#14b8a6;--color-type-text-bg:#ccfbf1;--color-type-blog:#f59e0b;--color-type-blog-bg:#fef3c7;--color-type-newsletter:#8b5cf6;--color-type-newsletter-bg:#ede9fe;--color-type-casestudy:#06b6d4;--color-type-casestudy-bg:#cffafe;--shadow-xs:0 1px 2px #6b21d80a;--shadow-sm:0 2px 8px #6b21d80f;--shadow-md:0 4px 16px #6b21d814;--shadow-lg:0 8px 32px #6b21d81f;--shadow-xl:0 16px 48px #6b21d829;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.625;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:var(--leading-tight);color:var(--color-text)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:var(--font-body);cursor:pointer;font-size:inherit;color:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-pale)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmark{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-fade-in-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-scale-in{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.animate-float{animation:4s ease-in-out infinite float}#root{flex-direction:column;min-height:100vh;display:flex}.month-selector{align-items:center;gap:8px;display:flex}.month-selector__arrow{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-bg-elevated);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.month-selector__arrow:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-ghost)}.month-selector__arrow:active{transform:scale(.95)}.month-selector__dropdowns{background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);align-items:center;gap:6px;padding:2px 8px;display:flex}.month-selector__dropdowns:hover{border-color:var(--color-border-hover)}.month-selector__select{font-family:var(--font-heading);font-size:var(--text-md);color:var(--color-text);cursor:pointer;background:0 0;border:none;outline:none;padding:6px 4px;font-weight:700}.month-selector__select--month{min-width:110px}.month-selector__select--year{min-width:70px;color:var(--color-text-secondary)}.month-selector__create{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-primary);background:var(--color-primary-pale);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:5px;margin-left:4px;padding:6px 14px;font-weight:600;display:flex}.month-selector__create:hover{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.month-selector__create:active{transform:scale(.97)}@media (width<=640px){.month-selector__select{font-size:var(--text-sm)}.month-selector__select--month{min-width:90px}.month-selector__select--year{min-width:60px}.month-selector__create span{display:none}}.view-toggle{background:var(--color-bg);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);align-items:center;gap:2px;padding:3px;display:flex}.view-toggle__btn{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:6px 12px;font-weight:500;display:flex}.view-toggle__btn:hover:not(.view-toggle__btn--active){color:var(--color-text);background:var(--color-bg-hover)}.view-toggle__btn--active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.view-toggle__label{display:none}@media (width>=768px){.view-toggle__label{display:inline}}.search-bar{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast);align-items:center;gap:8px;width:200px;padding:6px 14px;display:flex}.search-bar:focus-within,.search-bar--active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-pale);background:var(--color-bg-elevated);width:280px}.search-bar__icon{color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0}.search-bar:focus-within .search-bar__icon{color:var(--color-primary)}.search-bar__input{font-size:var(--text-sm);color:var(--color-text);background:0 0;border:none;outline:none;flex:1;width:100%;padding:0}.search-bar__input::placeholder{color:var(--color-text-muted)}.search-bar__input:focus{box-shadow:none}.search-bar__clear{background:var(--color-border);width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.search-bar__clear:hover{background:var(--color-primary-pale);color:var(--color-primary)}.top-nav{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);background:#ffffffd9;position:sticky;top:0}.top-nav__inner{justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:0 auto;padding:12px 32px;display:flex}.top-nav__logo{flex-shrink:0;align-items:center;display:flex}.top-nav__logo-img{object-fit:contain;width:auto;height:32px}.top-nav__actions{align-items:center;gap:12px;display:flex}.top-nav__role-btn{border-radius:var(--radius-full);font-size:var(--text-xs);border:1.5px solid var(--color-border);background:var(--color-bg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:6px;padding:5px 11px;font-weight:600;display:inline-flex}.top-nav__role-dot{border-radius:var(--radius-full);width:7px;height:7px}.top-nav__role-btn--viewer{color:var(--color-text-secondary)}.top-nav__role-btn--viewer .top-nav__role-dot{background:var(--color-text-muted)}.top-nav__role-btn--designer{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.top-nav__role-btn--designer .top-nav__role-dot{background:#6366f1}.top-nav__role-btn--admin{color:#b45309;background:#fef3c7;border-color:#fde68a}.top-nav__role-btn--admin .top-nav__role-dot{background:#f59e0b}.top-nav__role-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}@media (width<=1024px){.top-nav__inner{gap:12px;padding:12px 20px}}@media (width<=768px){.top-nav__inner{flex-wrap:wrap;gap:10px;padding:12px 16px}.top-nav__logo{order:1}.top-nav__actions{order:2;margin-left:auto}.top-nav__inner>:nth-child(2){order:3;justify-content:center;width:100%}}.status-badge{border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.02em;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;outline:none;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex}.status-badge:hover{box-shadow:var(--shadow-sm);transform:scale(1.05)}.status-badge:active{transform:scale(.98)}.status-badge__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-badge--draft{background:var(--color-bg-hover);color:#6b7280;border:1px solid var(--color-border)}.status-badge--draft .status-badge__dot{background:#9ca3af}.status-badge--pending{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.status-badge--pending .status-badge__dot{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.status-badge--revision{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;animation:2s infinite pulse-revision}.status-badge--revision .status-badge__dot{background:#dc2626}@keyframes pulse-revision{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.status-badge--ready{background:var(--color-accent-green-pale);color:var(--color-accent-green-dark);border:1px solid #86efac}.status-badge--ready .status-badge__dot{background:var(--color-accent-green)}.status-badge--published{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe}.status-badge--published .status-badge__dot{background:#6366f1}.status-badge--disabled{cursor:default}.status-badge--disabled:hover{box-shadow:none;transform:none}.status-badge--small{padding:2px 8px;font-size:10px}.status-badge--small .status-badge__dot{width:5px;height:5px}.upload-zone{flex-direction:column;gap:8px;display:flex}.upload-zone__label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.upload-zone__error{border-radius:var(--radius-md);color:#dc2626;font-size:var(--text-xs);background:#fee2e2;border:1px solid #fca5a5;align-items:center;gap:8px;padding:8px 12px;font-weight:500;display:flex}.upload-zone__error-close{color:#dc2626;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:16px}.upload-zone__drop{border:2px dashed var(--color-border-hover);border-radius:var(--radius-lg);background:var(--color-bg);cursor:pointer;transition:all var(--transition-fast);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;padding:28px 20px;display:flex}.upload-zone__drop:hover{border-color:var(--color-primary-light);background:var(--color-primary-ghost)}.upload-zone__drop--active{border-color:var(--color-primary);background:var(--color-primary-pale);transform:scale(1.01)}.upload-zone__drop--uploading{pointer-events:none;opacity:.8}.upload-zone__input{display:none}.upload-zone__icon{color:var(--color-text-muted)}.upload-zone__drop:hover .upload-zone__icon{color:var(--color-primary)}.upload-zone__text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.upload-zone__or{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.upload-zone__browse{font-size:var(--text-sm);color:var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-pale);transition:all var(--transition-fast);padding:4px 14px;font-weight:600}.upload-zone__drop:hover .upload-zone__browse{background:var(--color-primary);color:var(--color-text-inverse)}.upload-zone__uploading{color:var(--color-primary);font-size:var(--text-sm);align-items:center;gap:8px;font-weight:500;display:flex}.upload-zone__spinner{border:2px solid var(--color-primary-pale);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.upload-zone__files{flex-direction:column;gap:6px;display:flex}.upload-zone__file{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);transition:all var(--transition-fast);align-items:center;gap:10px;padding:8px 12px;display:flex}.upload-zone__file:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-xs)}.upload-zone__file-preview{flex-shrink:0}.upload-zone__thumbnail{object-fit:cover;border-radius:var(--radius-sm);width:40px;height:40px}.upload-zone__file-icon{border-radius:var(--radius-sm);background:var(--color-primary-pale);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.upload-zone__file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-zone__file-name{font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.upload-zone__file-size{font-size:var(--text-xs);color:var(--color-text-muted)}.upload-zone__file-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.upload-zone__file-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.upload-zone__file-btn:hover{background:var(--color-primary-pale);color:var(--color-primary)}.upload-zone__file-btn--delete:hover{color:#ef4444;background:#fee2e2}.rte{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);overflow:hidden}.rte:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-pale)}.rte__toolbar{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 10px;display:flex}.rte__tool-group{align-items:center;gap:2px;display:flex}.rte__tool-btn{border-radius:var(--radius-sm);width:30px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-family:var(--font-body);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.rte__tool-btn:hover{background:var(--color-primary-pale);color:var(--color-primary)}.rte__tool-btn:active{transform:scale(.95)}.rte__divider{background:var(--color-border);width:1px;height:18px;margin:0 4px}.rte__spacer{flex:1}.rte__copy-btn{border-radius:var(--radius-sm);background:var(--color-primary-pale);color:var(--color-primary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:4px;padding:4px 10px;font-weight:600;display:flex}.rte__copy-btn:hover{background:var(--color-primary);color:var(--color-text-inverse)}.rte__copy-btn--success{background:var(--color-accent-green-pale);color:var(--color-accent-green-dark)}.rte__copy-btn--success:hover{background:var(--color-accent-green-dark);color:var(--color-text-inverse)}.rte__editor{min-height:150px;max-height:400px;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);outline:none;padding:14px 16px;overflow-y:auto}.rte__editor:empty:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none}.rte__editor p{margin:0 0 8px}.rte__editor p:last-child{margin-bottom:0}.rte__editor ul,.rte__editor ol{margin:0 0 8px;padding-left:24px}.rte__editor li{margin-bottom:4px}.rte__editor a{color:var(--color-primary);text-decoration:underline}.rte__editor strong{font-weight:600}.rte__footer{border-top:1px solid var(--color-border);background:var(--color-bg);justify-content:flex-end;align-items:center;padding:4px 12px;display:flex}.rte__char-count{font-size:var(--text-xs);color:var(--color-text-muted)}.save-btn{border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-primary);color:var(--color-text-inverse);transition:all var(--transition-fast);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;min-width:90px;padding:8px 20px;font-weight:600;display:inline-flex}.save-btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.save-btn:active:not(:disabled){transform:translateY(0)}.save-btn:disabled{opacity:.7;cursor:not-allowed}.save-btn--saving{background:var(--color-primary-light)}.save-btn--saved{background:var(--color-accent-green-dark)}.save-btn--error{background:#ef4444}.save-btn__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.save-btn__check{animation:.3s forwards checkmark}.save-btn--small{font-size:var(--text-xs);min-width:72px;padding:5px 14px}.save-btn--large{font-size:var(--text-md);border-radius:var(--radius-lg);min-width:120px;padding:12px 32px}.editor{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);box-shadow:var(--shadow-md);margin:4px 0 8px;overflow:hidden}.editor__header{background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.editor__header-left{align-items:center;gap:12px;display:flex}.editor__header-right{align-items:center;gap:10px;display:flex}.editor__title{font-family:var(--font-heading);font-size:var(--text-md);color:var(--color-text);margin:0;font-weight:600}.editor__drag-hint{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.editor__revision-banner{border-radius:var(--radius-lg);background:#fef3c7;border:1.5px solid #fcd34d;flex-direction:column;gap:10px;margin-bottom:4px;padding:14px 18px;display:flex}.editor__revision-banner-header{justify-content:space-between;align-items:center;display:flex}.editor__revision-banner-title{font-size:var(--text-xs);color:#b45309;align-items:center;gap:6px;font-weight:700;display:flex}.editor__revision-banner-btn{border-radius:var(--radius-md);color:#92400e;cursor:pointer;transition:all var(--transition-fast);background:#fde68a;border:1px solid #fcd34d;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.editor__revision-banner-btn:hover{color:#78350f;background:#fbbf24}.editor__revision-banner-btn--clear{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.editor__revision-banner-btn--clear:hover{color:#991b1b;background:#fca5a5}.editor__revision-banner-text{font-size:var(--text-xs);color:#78350f;line-height:var(--leading-relaxed);white-space:pre-wrap;margin:0}.editor__revision-banner-assets{align-items:center;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.editor__revision-banner-thumb{border-radius:var(--radius-sm);object-fit:cover;cursor:pointer;width:54px;height:54px;transition:all var(--transition-fast);border:1px solid #fcd34d}.editor__revision-banner-thumb:hover{box-shadow:var(--shadow-sm);transform:scale(1.08)}.editor__auto-save{font-size:var(--text-xs);white-space:nowrap;font-weight:500}.editor__auto-save--saving{color:var(--color-primary-light)}.editor__auto-save--saved{color:var(--color-accent-green-dark)}.editor__delete-btn{border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-muted);border:1.5px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.editor__delete-btn:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.editor__close-btn{border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-muted);border:1.5px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.editor__close-btn:hover{background:var(--color-bg-hover);color:var(--color-text);border-color:var(--color-border-hover)}.editor__body{flex-direction:column;gap:20px;padding:24px;display:flex}.editor__row{grid-template-columns:160px 1fr 140px;gap:16px;display:grid}.editor__field{flex-direction:column;gap:6px;display:flex}.editor__field--flex{flex:1}.editor__label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600}.editor__input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-bg-elevated);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:8px 12px}.editor__input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-pale)}.editor__select{border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-bg-elevated);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:8px 32px 8px 12px}.editor__select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-pale)}.editor__textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-relaxed);background:var(--color-bg-elevated);resize:vertical;min-height:80px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-family:var(--font-body);outline:none;padding:10px 14px}.editor__textarea:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-pale)}.editor__textarea--tall{min-height:160px}.editor__type-fields{border-top:1px solid var(--color-border);flex-direction:column;gap:20px;padding-top:4px;display:flex}.editor__send-btn{border-radius:var(--radius-md);font-size:var(--text-xs);color:#fff;cursor:pointer;transition:all var(--transition-fast);background:#4f46e5;border:1.5px solid #4338ca;align-items:center;gap:6px;padding:6px 14px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #4f46e540}.editor__send-btn:hover{background:#4338ca;transform:translateY(-1px)}.editor__quick-action-btn{border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:4px;padding:6px 12px;font-weight:600;display:inline-flex}.editor__quick-action-btn--approve{color:#15803d;background:#dcfce7;border-color:#86efac}.editor__quick-action-btn--approve:hover{color:#14532d;background:#86efac}.editor__quick-action-btn--changes{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.editor__quick-action-btn--changes:hover{color:#991b1b;background:#fca5a5}@media (width<=768px){.editor__row{grid-template-columns:1fr}.editor__header{flex-direction:column;align-items:flex-start;padding:14px 16px}.editor__body{padding:16px}}.content-row{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.content-row:hover{background-color:var(--color-bg-hover)}.content-row--expanded{background-color:var(--color-primary-ghost)!important}.content-row--dragging{opacity:.5;outline:1.5px dashed var(--color-primary);background-color:var(--color-primary-pale)!important}.content-row__cell{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:8px 12px}.content-row__cell--center{text-align:center}.content-row__cell--drag{text-align:center;width:32px;padding:8px 6px}.content-row__drag-handle{color:var(--color-text-muted);cursor:grab;border-radius:var(--radius-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:4px;display:flex}.content-row__drag-handle:hover{color:var(--color-text-secondary);background:var(--color-border)}.content-row__drag-handle:active{cursor:grabbing}.content-row__cell--date{width:140px}.content-row__cell--name{min-width:180px}.content-row__cell--type{width:120px}.content-row__cell--summary{width:30%;min-width:200px}.content-row__cell--status{width:110px}.content-row__cell--save{width:90px}.content-row__input{font-size:var(--text-sm);color:var(--color-text);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;width:100%;padding:6px 8px}.content-row__input:hover{border-color:var(--color-border-hover);background:var(--color-bg-elevated)}.content-row__input:focus{border-color:var(--color-primary);background:var(--color-bg-elevated);box-shadow:0 0 0 2px var(--color-primary-pale)}.content-row__input::placeholder{color:var(--color-text-muted)}.content-row__input--name{font-weight:500}.content-row__select{font-size:var(--text-sm);color:var(--color-text);border-radius:var(--radius-sm);transition:all var(--transition-fast);appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #0000;width:100%;padding:6px 24px 6px 8px}.content-row__select:hover{border-color:var(--color-border-hover);background:var(--color-bg-elevated)}.content-row__select:focus{border-color:var(--color-primary);background:var(--color-bg-elevated);box-shadow:0 0 0 2px var(--color-primary-pale)}.content-row__select option{color:#f8fafc;background:#1e2030;padding:10px 14px;font-size:13px}.content-row__btn-expand{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.content-row__btn-expand:hover{background:var(--color-border);color:var(--color-text)}.content-row__btn-expand--active{color:var(--color-primary);background:var(--color-primary-pale);transform:rotate(180deg)}.content-row__btn-upload{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative}.content-row__btn-upload:hover{background:var(--color-border);color:var(--color-text)}.content-row__btn-upload--has-files{color:var(--color-primary);background:var(--color-primary-pale)}.content-row__btn-upload--has-files:hover{background:var(--color-primary-light);color:var(--color-text-inverse)}.content-row__file-count{background:var(--color-accent-green-dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.625rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.content-row__btn-view{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.content-row__btn-view:hover:not(:disabled){background:var(--color-primary-pale);color:var(--color-primary)}.content-row__btn-view:disabled{color:var(--color-text-muted);opacity:.35;cursor:not-allowed}.content-row__editor-row{background-color:var(--color-primary-ghost)}.content-row__editor-cell{border-bottom:1.5px solid var(--color-border);padding:4px 16px 16px 48px}.content-row__editor-wrapper{animation:.35s cubic-bezier(.16,1,.3,1) forwards slideInDown}.content-row__approval-group{align-items:center;gap:6px;display:flex}.content-row__quick-btn{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.content-row__quick-btn--approve{background:var(--color-accent-green-pale);color:var(--color-accent-green-dark);border:1px solid #86efac}.content-row__quick-btn--approve:hover{color:#065f46;background:#86efac}.content-row__quick-btn--changes{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.content-row__quick-btn--changes:hover{color:#991b1b;background:#fca5a5}.content-row__quick-btn--resubmit{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.content-row__quick-btn--resubmit:hover{background:#fde68a}.content-row__quick-btn--send{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe}.content-row__delete-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.content-row__delete-btn:hover{color:#dc2626;background:#fee2e2;transform:scale(1.1)}.content-row__quick-btn--send:hover{color:#3730a3;background:#c7d2fe}.list-view-container{flex-direction:column;gap:16px;width:100%;display:flex}.list-view__scroll{border-radius:var(--radius-lg);border:1.5px solid var(--color-border);background:var(--color-bg-elevated);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.list-view__table{border-collapse:collapse;text-align:left;width:100%}.list-view__th{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg);border-bottom:1.5px solid var(--color-border);z-index:10;-webkit-user-select:none;user-select:none;padding:12px;font-weight:600;position:sticky;top:0}.list-view__th--drag{width:32px}.list-view__th--checkbox{text-align:center;width:32px}.list-view__th--center{text-align:center}.list-view__checkbox,.content-row__checkbox{width:15px;height:15px;accent-color:var(--color-primary);cursor:pointer}.list-view__footer-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.list-view__add-row{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-primary);background:var(--color-primary-pale);transition:all var(--transition-fast);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.list-view__add-row:hover{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.list-view__add-row:active{transform:scale(.97)}.list-view__delete-bulk{border-radius:var(--radius-md);font-size:var(--text-xs);color:#ef4444;transition:all var(--transition-fast);cursor:pointer;background:#fee2e2;border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.list-view__delete-bulk:hover{color:var(--color-text-inverse);box-shadow:var(--shadow-sm);background:#ef4444;transform:translateY(-1px)}.list-view__delete-bulk:active{transform:translateY(0)scale(.97)}.type-badge{border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex}.type-badge__icon{align-items:center;display:flex}.type-badge--static{background:var(--color-type-static-bg);color:var(--color-type-static)}.type-badge--carousel{background:var(--color-type-carousel-bg);color:var(--color-type-carousel)}.type-badge--reel{background:var(--color-type-reel-bg);color:var(--color-type-reel)}.type-badge--text{background:var(--color-type-text-bg);color:var(--color-type-text)}.type-badge--blog{background:var(--color-type-blog-bg);color:var(--color-type-blog)}.type-badge--newsletter{background:var(--color-type-newsletter-bg);color:var(--color-type-newsletter)}.type-badge--case-study{background:var(--color-type-casestudy-bg);color:var(--color-type-casestudy)}.type-badge--small{gap:3px;padding:2px 7px;font-size:.625rem}.type-badge--small .type-badge__icon svg{width:10px;height:10px}.content-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.content-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover);transform:translateY(-4px)}.content-card__media{background:var(--color-bg);cursor:pointer;height:160px;position:relative;overflow:hidden}.content-card__img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.content-card:hover .content-card__img{transform:scale(1.05)}.content-card__media-placeholder{height:100%;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.content-card__placeholder-text{font-size:var(--text-xs);font-weight:500}.content-card__platform-badge{-webkit-backdrop-filter:blur(4px);color:var(--color-text-inverse);text-transform:capitalize;border-radius:var(--radius-sm);background:#1e1e2eb3;padding:2px 8px;font-size:.6875rem;font-weight:600;position:absolute;top:10px;right:10px}.content-card__body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.content-card__meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.content-card__date{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.content-card__title{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:color var(--transition-fast);margin:0;font-weight:600}.content-card__title:hover{color:var(--color-primary)}.content-card__summary{font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0}.content-card__footer{border-top:1px solid var(--color-border);background:var(--color-bg);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.content-card__edit-btn{font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:3px;padding:4px 8px;font-weight:600;display:flex}.content-card__edit-btn:hover{background:var(--color-primary-pale)}.grid-view-container{flex-direction:column;gap:24px;width:100%;display:flex}.grid-view__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.grid-view__add-card{border:2px dashed var(--color-border-hover);border-radius:var(--radius-lg);color:var(--color-text-secondary);background:var(--color-bg-elevated);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;font-weight:600;display:flex}.grid-view__add-card:hover{border-color:var(--color-primary-light);background:var(--color-primary-ghost);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.grid-view__add-card:active{transform:translateY(0)}.calendar-view{width:100%}.calendar-grid{border:1.5px solid var(--color-border);background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.calendar-grid__week-header{text-align:center;font-family:var(--font-heading);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg);border-bottom:1.5px solid var(--color-border);padding:10px;font-weight:600}.calendar-grid__cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:100px;transition:background-color var(--transition-fast);flex-direction:column;gap:6px;padding:6px;display:flex;position:relative}.calendar-grid__cell:not(.calendar-grid__cell--empty){cursor:pointer}.calendar-grid__cell:not(.calendar-grid__cell--empty):hover{background-color:var(--color-bg-hover)}.calendar-grid__cell:nth-child(7n){border-right:none}.calendar-grid__cell--adjacent-month{background-color:var(--color-bg-hover);color:var(--color-text-secondary);opacity:.45;cursor:not-allowed}.calendar-grid__cell--adjacent-month .calendar-grid__day-number{color:var(--color-text-secondary)}.calendar-grid__day-header{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.calendar-grid__day-number{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.calendar-grid__add-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);opacity:0;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.calendar-grid__cell:hover .calendar-grid__add-btn{opacity:1}.calendar-grid__add-btn:hover{background:var(--color-primary-pale);color:var(--color-primary)}.calendar-grid__items{flex-direction:column;flex:1;gap:4px;max-height:80px;display:flex;overflow-y:auto}.calendar-grid__item{border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;width:100%;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:4px 6px;animation:.25s cubic-bezier(.16,1,.3,1) forwards scaleIn;display:flex}.calendar-grid__item:hover{box-shadow:var(--shadow-xs);filter:brightness(.97);transform:translateY(-2px)}.calendar-grid__item-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:.6875rem;font-weight:600;overflow:hidden}.calendar-grid__item-status{border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:4px}.calendar-grid__item-status--draft{background:var(--color-status-draft)}.calendar-grid__item-status--ready{background:var(--color-status-ready)}.calendar-grid__item-status--published{background:var(--color-status-published)}@media (width<=768px){.calendar-grid__cell{min-height:80px}}.empty-state{text-align:center;background:var(--color-bg-elevated);border:1.5px dashed var(--color-border-hover);border-radius:var(--radius-xl);max-width:600px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;margin:40px auto;padding:64px 32px;display:flex}.empty-state__mascot{margin-bottom:24px}.empty-state__mascot-img{object-fit:contain;width:140px;height:140px;animation:4s ease-in-out infinite float}.empty-state__heading{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}.empty-state__text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 24px}.empty-state__btn{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-inverse);background:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:6px;padding:10px 24px;font-weight:600;display:inline-flex}.empty-state__btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.empty-state__btn:active{transform:translateY(0)}.loading-skeleton{width:100%;padding:8px 0}.skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;animation:1.5s linear infinite shimmer}.skeleton-list{background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.skeleton-list__header{background:var(--color-bg);border-bottom:1.5px solid var(--color-border);grid-template-columns:80px 1.5fr 100px 2fr 100px 60px 60px 80px;gap:16px;padding:14px 20px;display:grid}.skeleton-block--header{height:16px}.skeleton-list__row{border-bottom:1px solid var(--color-border);grid-template-columns:80px 1.5fr 100px 2fr 100px 60px 60px 80px;gap:16px;padding:16px 20px;display:grid}.skeleton-block--cell{height:20px}.skeleton-block--double{width:70%}.skeleton-block--triple{width:85%}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.skeleton-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);overflow:hidden}.skeleton-card__thumb{border-radius:0;height:160px}.skeleton-card__body{flex-direction:column;gap:10px;padding:16px;display:flex}.skeleton-card__date{width:40%;height:12px}.skeleton-card__title{width:80%;height:18px}.skeleton-card__text{width:100%;height:36px}.skeleton-card__footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.skeleton-card__badge{border-radius:var(--radius-full);width:70px;height:18px}.skeleton-card__btn{width:60px;height:28px}.skeleton-calendar{background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.skeleton-calendar__header{border-bottom:1.5px solid var(--color-border);background:var(--color-bg);grid-template-columns:repeat(7,1fr);display:grid}.skeleton-calendar__day-name{width:50%;height:16px;margin:12px auto}.skeleton-calendar__grid{grid-template-rows:repeat(5,100px);grid-template-columns:repeat(7,1fr);display:grid}.skeleton-calendar__cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding:8px;display:flex}.skeleton-calendar__cell:nth-child(7n){border-right:none}.skeleton-calendar__number{width:20px;height:14px}.skeleton-calendar__item{border-radius:var(--radius-sm);width:100%;height:24px}.pin-modal__backdrop{z-index:var(--z-modal);-webkit-backdrop-filter:blur(8px);background:#0f111a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pin-modal{background:var(--color-bg-elevated);border-radius:var(--radius-xl);border:1.5px solid var(--color-border);box-shadow:var(--shadow-xl);width:100%;max-width:400px;position:relative;overflow:hidden}.pin-modal__header{text-align:center;border-bottom:1px solid var(--color-border);padding:24px 24px 16px;position:relative}.pin-modal__header-icon{border-radius:var(--radius-full);background:var(--color-primary-pale);width:44px;height:44px;color:var(--color-primary);justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.pin-modal__title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--color-text);margin:0 0 6px;font-weight:700}.pin-modal__subtitle{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.pin-modal__close{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.pin-modal__close:hover{background:var(--color-bg-hover);color:var(--color-text)}.pin-modal__body{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.pin-modal__current-role{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.pin-modal__role-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.pin-modal__role-tag{font-size:var(--text-xs);border-radius:var(--radius-full);padding:2px 8px;font-weight:600}.pin-modal__role-tag--viewer{background:var(--color-border);color:var(--color-text-secondary)}.pin-modal__role-tag--designer{color:#4338ca;background:#e0e7ff}.pin-modal__role-tag--admin{color:#b45309;background:#fef3c7}.pin-modal__inputs{justify-content:center;align-items:center;gap:12px;margin:4px 0;display:flex}.pin-modal__input{border-radius:var(--radius-lg);border:2px solid var(--color-border);background:var(--color-bg);width:52px;height:60px;color:var(--color-text);text-align:center;transition:all var(--transition-fast);outline:none;font-family:inherit;font-size:24px;font-weight:700}.pin-modal__input:focus{border-color:var(--color-primary);background:var(--color-bg-elevated);box-shadow:0 0 0 3px var(--color-primary-ghost)}.pin-modal__input--filled{border-color:var(--color-primary);background:var(--color-primary-ghost)}.pin-modal__input--error{background:#fef2f2;border-color:#dc2626;animation:.3s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pin-modal__alert{font-size:var(--text-xs);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:flex}.pin-modal__alert--error{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.pin-modal__alert--success{background:var(--color-accent-green-pale);color:var(--color-accent-green-dark);border:1px solid #86efac}.pin-modal__actions{flex-direction:column;gap:8px;display:flex}.pin-modal__submit-btn{border-radius:var(--radius-lg);background:var(--color-primary);width:100%;color:var(--color-text-inverse);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;padding:10px}.pin-modal__submit-btn:hover{background:var(--color-primary-hover)}.pin-modal__logout-btn{border-radius:var(--radius-md);width:100%;color:var(--color-text-secondary);font-size:var(--text-xs);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:8px;font-weight:500}.pin-modal__logout-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.footer{border-top:1px solid var(--color-border);background:var(--color-bg-elevated);margin-top:auto;padding:24px 32px}.footer__content{justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto;display:flex;position:relative}.footer__text{font-size:var(--text-xs);color:var(--color-text-muted)}.footer__mascot-container{align-items:flex-end;display:flex;position:relative}.footer__mascot{object-fit:contain;width:50px;height:50px;transition:transform var(--transition-spring);cursor:pointer;animation:4s ease-in-out infinite float}.footer__mascot-container:hover .footer__mascot{transform:scale(1.2)rotate(5deg)}.footer__bubble{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md) var(--radius-md) 0 var(--radius-md);font-size:var(--text-xs);box-shadow:var(--shadow-md);white-space:nowrap;opacity:0;transition:all var(--transition-spring);pointer-events:none;padding:6px 12px;font-weight:600;position:absolute;bottom:54px;right:0;transform:translateY(10px)scale(.95)}.footer__mascot-container:hover .footer__bubble{opacity:1;transform:translateY(0)scale(1)}@media (width<=640px){.footer{padding:16px}}.month-notes-card{background:var(--color-bg-elevated);border-radius:var(--radius-xl);border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;gap:20px;margin-top:28px;padding:20px 24px;display:flex}.month-notes-card__header{border-bottom:1.5px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.month-notes-card__title-group{align-items:center;gap:10px;display:flex}.month-notes-card__icon{color:var(--color-primary)}.month-notes-card__title{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-text);margin:0;font-weight:700}.month-notes-card__save-status{font-size:var(--text-xs);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:3px 8px;font-weight:600}.month-notes-card__save-status--saving{background:var(--color-primary-pale);color:var(--color-primary)}.month-notes-card__save-status--saved{background:var(--color-accent-green-pale);color:var(--color-accent-green-dark)}.month-notes-card__save-status--error{color:#dc2626;background:#fee2e2}.month-notes-card__body{flex-direction:column;gap:20px;display:flex}.month-notes__section{flex-direction:column;gap:10px;display:flex}.month-notes__section-header{justify-content:space-between;align-items:center;display:flex}.month-notes__section-title-wrap{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.month-notes__section-title{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;margin:0;font-weight:700}.month-notes__count-badge{background:var(--color-bg-hover);min-width:18px;height:18px;color:var(--color-text-muted);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.month-notes__add-btn{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-primary);background:var(--color-primary-ghost);border:1px solid var(--color-primary-light);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:5px;padding:4px 10px;font-weight:600;display:inline-flex}.month-notes__add-btn:hover{background:var(--color-primary-pale);border-color:var(--color-primary)}.month-notes__links-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.month-notes__link-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.month-notes__link-card:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.month-notes__link-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.month-notes__link-title{font-size:var(--text-xs);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.month-notes__link-url{color:var(--color-primary);align-items:center;gap:3px;max-width:100%;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.month-notes__link-url span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.month-notes__link-url:hover{text-decoration:underline}.month-notes__link-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.month-notes__link-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.month-notes__link-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.month-notes__link-btn--delete:hover{color:#dc2626;background:#fee2e2}.month-notes__add-link-form{background:var(--color-bg);border:1.5px solid var(--color-primary-light);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:12px;display:flex}.month-notes__form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=640px){.month-notes__form-row{grid-template-columns:1fr}}.month-notes__form-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:100%;color:var(--color-text);font-size:var(--text-xs);transition:all var(--transition-fast);outline:none;padding:7px 10px;font-family:inherit}.month-notes__form-input:focus{border-color:var(--color-primary)}.month-notes__form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.month-notes__form-btn{border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border:none;padding:5px 12px;font-weight:600}.month-notes__form-btn--cancel{background:var(--color-bg-hover);color:var(--color-text-secondary)}.month-notes__form-btn--cancel:hover{color:var(--color-text)}.month-notes__form-btn--submit{background:var(--color-primary);color:var(--color-text-inverse)}.month-notes__form-btn--submit:hover:not(:disabled){background:var(--color-primary-hover)}.month-notes__form-btn--submit:disabled{opacity:.5;cursor:not-allowed}.month-notes-card__textarea{border-radius:var(--radius-lg);border:1.5px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);font-family:inherit;font-size:var(--text-xs);line-height:var(--leading-relaxed);resize:vertical;transition:all var(--transition-fast);min-height:120px;padding:14px}.month-notes-card__textarea:focus{border-color:var(--color-primary);background:var(--color-bg-elevated);box-shadow:0 0 0 3px var(--color-primary-ghost);outline:none}.month-notes-card__loading{background:var(--color-bg);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);height:120px;position:relative;overflow:hidden}.month-notes-card__shimmer{background:linear-gradient(90deg,#0000,#ffffff14,#0000) 0 0/200% 100%;width:100%;height:100%;animation:1.5s infinite notes-shimmer}@keyframes notes-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.month-notes-card__error{border-radius:var(--radius-lg);color:#dc2626;height:100px;font-size:var(--text-xs);background:#fee2e2;border:1.5px solid #fca5a5;justify-content:center;align-items:center;font-weight:600;display:flex}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:32px}.app-error{text-align:center;color:#ef4444;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 32px;display:flex}.app-error h2{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text);margin:0}.app-error p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.app-modal-backdrop{z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:blur(6px);background:#1e1e2e80;justify-content:center;align-items:center;padding:32px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.app-modal{background:var(--color-bg-elevated);border-radius:var(--radius-xl);width:100%;max-width:800px;max-height:85vh;box-shadow:var(--shadow-xl);position:relative;overflow-y:auto}.app-modal__close-wrapper{z-index:10;position:absolute;top:14px;right:14px}.app-modal__close-btn{border-radius:var(--radius-md);background:var(--color-bg-elevated);width:32px;height:32px;color:var(--color-text-muted);border:1.5px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.app-modal__close-btn:hover{background:var(--color-bg-hover);color:var(--color-text);border-color:var(--color-border-hover)}@media (width<=768px){.app-main,.app-modal-backdrop{padding:16px}}.app-main__subheader{border-bottom:1.5px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.app-main__subheader-left{align-items:center;gap:16px;display:flex}.app-main__month-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text);white-space:nowrap;margin:0;font-weight:700}.app-category-tabs{background:var(--color-bg);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);align-items:center;gap:3px;padding:3px;display:inline-flex}.app-category-tab{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:6px 14px;font-weight:500;display:inline-flex}.app-category-tab:hover:not(.app-category-tab--active){color:var(--color-text);background:var(--color-bg-hover)}.app-category-tab--active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm);font-weight:600}.app-category-tab__badge{border-radius:var(--radius-full);background:var(--color-border);min-width:18px;height:18px;color:var(--color-text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.app-category-tab--active .app-category-tab__badge{color:var(--color-text-inverse);background:#ffffff40}.app-main__subheader-right{align-items:center;gap:12px;display:flex}.app-main__ai-btn{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-inverse);background:linear-gradient(135deg, var(--color-primary), #8e2de2);transition:all var(--transition-fast);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex;box-shadow:0 4px 12px #6c5ce740}.app-main__ai-btn:hover{background:linear-gradient(135deg,#5b4ec2,#4a00e0);transform:translateY(-1px);box-shadow:0 6px 16px #6c5ce759}.app-main__ai-btn:active{transform:translateY(0)scale(.97)}
