*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-brand: #4f46e5;--color-brand-hover: #4338ca;--color-brand-light: #eef2ff;--color-brand-gradient: linear-gradient(135deg, #6366f1 0%, #4f46e5 60%, #4338ca 100%);--color-bg: #f5f6fa;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-subtle: #f0f1f3;--color-text: #0f172a;--color-muted: #64748b;--color-subtle: #f1f5f9;--color-success: #22c55e;--color-success-light: #f0fdf4;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-danger: #ef4444;--color-danger-light: #fef2f2;--color-info: #3b82f6;--color-info-light: #eff6ff;--color-indigo: #4f46e5;--color-purple: #9333ea;--color-blue: #2563eb;--color-green: #16a34a;--color-orange: #ea580c;--color-red: #dc2626;--color-teal: #0d9488;--color-pink: #db2777;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .04);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .04);--shadow-md: 0 4px 8px -2px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .1), 0 4px 8px -2px rgb(0 0 0 / .06);--shadow-xl: 0 24px 48px -8px rgb(0 0 0 / .14), 0 8px 16px -4px rgb(0 0 0 / .06);--shadow-brand: 0 2px 8px rgb(79 70 229 / .3);--transition: .18s ease;--transition-fast: .12s ease;--neutral-0: #ffffff;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-150: #e9eaec;--neutral-200: #e2e8f0;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--brand-50: #eef2ff;--brand-100: #e0e7ff;--brand-200: #c7d2fe;--brand-300: #a5b4fc;--brand-400: #818cf8;--brand-500: #6366f1;--brand-600: #4f46e5;--brand-700: #4338ca}[data-theme=dark]{--color-bg: #0f1117;--color-surface: #1a1f2e;--color-border: #2d3548;--color-border-subtle: #242938;--color-text: #f1f5f9;--color-muted: #8892a4;--color-subtle: #1e2436;--color-brand-light: #1e1b4b;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .2);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .3), 0 1px 2px -1px rgb(0 0 0 / .2);--shadow-md: 0 4px 8px -2px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .25);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .5), 0 4px 8px -2px rgb(0 0 0 / .3);--shadow-xl: 0 24px 48px -8px rgb(0 0 0 / .6), 0 8px 16px -4px rgb(0 0 0 / .35);--neutral-0: #1a1f2e;--neutral-50: #141824;--neutral-100: #1e2436;--neutral-150: #2d3548;--neutral-200: #374151;--neutral-400: #64748b;--neutral-500: #8892a4;--neutral-600: #94a3b8;--neutral-700: #c8d0dc;--neutral-800: #e8edf5;--brand-50: #1e1b4b;--brand-100: #2d2a5e;--brand-200: #3730a3;--brand-300: #4338ca;--brand-400: #4f46e5;--brand-500: #6366f1;--brand-600: #818cf8;--brand-700: #a5b4fc}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;line-height:1.5;letter-spacing:-.011em;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,textarea,select{font:inherit;color:inherit;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem .75rem;width:100%;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #4f46e51f}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme=dark]{--badge-success-bg: #052e16;--badge-success-text: #4ade80;--badge-warning-bg: #451a03;--badge-warning-text: #fbbf24;--badge-danger-bg: #450a0a;--badge-danger-text: #f87171;--badge-info-bg: #082f49;--badge-info-text: #60a5fa;--badge-purple-bg: #2e1065;--badge-purple-text: #c084fc}[data-theme=dark] .badge--success{background:var(--badge-success-bg);color:var(--badge-success-text)}[data-theme=dark] .badge--warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}[data-theme=dark] .badge--danger{background:var(--badge-danger-bg);color:var(--badge-danger-text)}[data-theme=dark] .badge--info{background:var(--badge-info-bg);color:var(--badge-info-text)}[data-theme=dark] .badge--purple{background:var(--badge-purple-bg);color:var(--badge-purple-text)}[data-theme=dark] .task-type-badge--seo_technical{background:#2e1065;color:#c084fc}[data-theme=dark] .task-type-badge--on_page{background:#082f49;color:#60a5fa}[data-theme=dark] .task-type-badge--netlinking{background:#451a03;color:#fbbf24}[data-theme=dark] .task-type-badge--content,[data-theme=dark] .status-badge--active{background:#052e16;color:#4ade80}[data-theme=dark] .status-badge--active:before{background:#4ade80}[data-theme=dark] .ca-pill--done{background:#052e16;color:#4ade80}[data-theme=dark] .ca-pill--progress{background:#451a03;color:#fbbf24}[data-theme=dark] .ct-group--done .ct-group__header{background:#052e16;color:#4ade80}[data-theme=dark] .ct-group--progress .ct-group__header{background:#451a03;color:#fbbf24}[data-theme=dark] .clink-badge--blue{background:#082f49;color:#60a5fa}[data-theme=dark] .clink-badge--green{background:#052e16;color:#4ade80}[data-theme=dark] .clink-badge--purple{background:#2e1065;color:#c084fc}[data-theme=dark] .task-item__delete-btn:hover{background:#450a0a}.header-theme-toggle{display:flex;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;border-radius:var(--radius-md);color:var(--color-muted);transition:color var(--transition),background var(--transition);flex-shrink:0}.header-theme-toggle:hover{color:var(--color-text);background:var(--color-subtle)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#f0f4ff 40%,#e8edfe);padding:1rem}[data-theme=dark] .login-page{background:linear-gradient(135deg,#0f1117,#131827,#0f1117)}.login-card{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);padding:2.75rem 2.5rem;width:100%;max-width:420px}.login-logo{text-align:center;margin-bottom:2.25rem}.login-logo__img{height:2.5rem;width:auto;max-width:200px;object-fit:contain}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4375rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--color-text);letter-spacing:-.005em}.login-error{font-size:.875rem;color:var(--color-danger);background:var(--color-danger-light, #fef2f2);padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid rgb(239 68 68 / .25);font-weight:500}.login-submit{margin-top:.5rem}.login-success{font-size:.875rem;color:#166534;background:#f0fdf4;padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid rgb(34 197 94 / .25);font-weight:500}[data-theme=dark] .login-success{color:#86efac;background:#22c55e1a;border-color:#22c55e33}.login-forgot{text-align:center;font-size:.8125rem;color:var(--color-text-muted);margin-top:-.25rem}.login-forgot a{color:var(--color-brand);text-decoration:none;font-weight:500}.login-forgot a:hover{text-decoration:underline}.forgot-intro{font-size:.875rem;color:var(--color-text-muted);margin:0}.forgot-back{display:block;text-align:center;font-size:.8125rem;color:var(--color-text-muted);text-decoration:none;margin-top:.25rem}.forgot-back:hover{color:var(--color-brand);text-decoration:underline}.forgot-success{display:flex;flex-direction:column;gap:1.25rem;text-align:center}.forgot-success__msg{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin:0}.project-modal-form{display:flex;flex-direction:column;gap:1.125rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.875rem;font-weight:500}.field-hint{font-size:.8rem;color:var(--color-muted)}.field-error{font-size:.8rem;color:var(--color-danger)}.color-picker{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}.color-swatch{width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid transparent;transition:transform .15s,box-shadow .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch--active{box-shadow:0 0 0 3px var(--color-surface),0 0 0 5px currentColor}.color-swatch--indigo{background:var(--color-indigo);color:var(--color-indigo)}.color-swatch--purple{background:var(--color-purple);color:var(--color-purple)}.color-swatch--blue{background:var(--color-blue);color:var(--color-blue)}.color-swatch--green{background:var(--color-green);color:var(--color-green)}.color-swatch--orange{background:var(--color-orange);color:var(--color-orange)}.color-swatch--red{background:var(--color-red);color:var(--color-red)}.color-swatch--teal{background:var(--color-teal);color:var(--color-teal)}.color-swatch--pink{background:var(--color-pink);color:var(--color-pink)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.stat-widget__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;background:var(--color-brand-light);border-radius:var(--radius-md);color:var(--color-brand);flex-shrink:0}.stat-widget--warn .stat-widget__icon{background:var(--color-warning-light, #fffbeb);color:var(--color-warning)}.stat-widget__value{font-size:1.625rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--color-text)}.stat-widget__label{font-size:.8125rem;color:var(--color-muted);font-weight:500}.stat-widget--card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.stat-widget--card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-widget--card .stat-widget__icon{margin-bottom:.125rem}.stat-widget--inline{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-template-areas:"icon value" "icon label";column-gap:.875rem;align-items:center;flex:1;padding:.375rem 1.5rem}.stat-widget--inline:first-child{padding-left:0}.stat-widget--inline:last-child{padding-right:0}.stat-widget--inline .stat-widget__icon{grid-area:icon;align-self:center}.stat-widget--inline .stat-widget__value{grid-area:value}.stat-widget--inline .stat-widget__label{grid-area:label}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-brand-gradient, var(--color-brand));color:#fff;font-weight:700;letter-spacing:.02em;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.user-avatar__initials{line-height:1}.dashboard{min-height:100vh;background:var(--color-bg)}.dashboard__header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:3.5rem;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs)}[data-theme=dark] .dashboard__header{background:#1a1f2ee6}.dashboard__logo{display:flex;align-items:center}.dashboard__logo-img{height:1.75rem;width:auto;max-width:140px;object-fit:contain}.dashboard__header-right{display:flex;align-items:center;gap:1.25rem}.header-nav-link{font-size:.875rem;color:var(--color-brand);text-decoration:none;font-weight:500;transition:opacity var(--transition-fast)}.header-nav-link:hover{opacity:.7}.settings-menu{position:relative}.settings-menu__trigger{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;border:none;background:none;color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.settings-menu__trigger:hover{color:var(--color-text);background:var(--neutral-100)}.settings-menu__dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--neutral-200);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden;z-index:100}.settings-menu__item{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text);text-decoration:none;transition:background var(--transition-fast)}.settings-menu__item:hover{background:var(--neutral-50)}.settings-menu__item-icon{font-size:1rem;color:var(--color-muted);flex-shrink:0}.header-logout{font-size:.875rem;color:var(--color-muted);transition:color var(--transition-fast)}.header-logout:hover{color:var(--color-text)}.user-menu__trigger{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .25rem;border:none;background:none;border-radius:999px;cursor:pointer;transition:background var(--transition-fast)}.user-menu__trigger:hover{background:var(--neutral-100)}.user-menu__name{font-size:.875rem;font-weight:500;color:var(--color-text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__dropdown{min-width:220px}.user-menu__separator{height:1px;background:var(--color-border);margin:.25rem 0}.user-menu__logout{width:100%;background:none;border:none;text-align:left;cursor:pointer;color:var(--color-danger)!important}.user-menu__logout .settings-menu__item-icon{color:var(--color-danger)!important}.user-menu__logout:hover{background:var(--color-danger-light, #fef2f2)!important}.dashboard__main{padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.dashboard__kpi-bar{display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:.875rem 1.75rem}.kpi-divider{width:1px;height:2.75rem;background:var(--color-border);flex-shrink:0}.dashboard__table-section{display:flex;flex-direction:column;gap:0}.dashboard__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.toolbar__left{display:flex;align-items:center;gap:.75rem}.toolbar__title{font-size:1rem;font-weight:600;letter-spacing:-.015em}.archived-toggle{font-size:.8125rem;color:var(--color-muted);padding:.3125rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);transition:background var(--transition),color var(--transition);font-weight:500}.archived-toggle:hover,.archived-toggle--active{background:var(--color-subtle);color:var(--color-text)}.projects-table-wrap{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.projects-table{width:100%;border-collapse:collapse}.projects-table th{padding:.6875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.projects-table__row{cursor:pointer;transition:background var(--transition-fast)}.projects-table__row:hover{background:var(--color-subtle)}.projects-table td{padding:.9375rem 1rem;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.projects-table tbody tr:last-child td{border-bottom:none}.col-name{display:flex;align-items:center;gap:.625rem;font-weight:600;font-size:.9375rem}.col-progress{min-width:160px}.project-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px var(--color-surface),0 0 0 4px currentColor}.project-dot--indigo{background:var(--color-indigo);color:var(--color-indigo)}.project-dot--purple{background:var(--color-purple);color:var(--color-purple)}.project-dot--blue{background:var(--color-blue);color:var(--color-blue)}.project-dot--green{background:var(--color-green);color:var(--color-green)}.project-dot--orange{background:var(--color-orange);color:var(--color-orange)}.project-dot--red{background:var(--color-red);color:var(--color-red)}.project-dot--teal{background:var(--color-teal);color:var(--color-teal)}.project-dot--pink{background:var(--color-pink);color:var(--color-pink)}.progress-count{font-size:.8rem;color:var(--color-muted);margin-left:.5rem;font-weight:500}.no-messages{color:var(--color-muted)}.col-actions{width:120px;text-align:right}.action-btn{padding:.3125rem .375rem;border-radius:var(--radius-md);font-size:1rem;opacity:.5;transition:opacity var(--transition-fast),background var(--transition-fast)}.action-btn:hover{opacity:1;background:var(--color-subtle)}.action-btn--danger:hover{background:var(--color-danger-light, #fef2f2);color:var(--color-danger)}.table-placeholder{text-align:center;padding:3rem;color:var(--color-muted);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.table-placeholder--error{color:var(--color-danger)}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:background var(--transition),box-shadow var(--transition),opacity var(--transition),filter var(--transition);white-space:nowrap;letter-spacing:-.005em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-brand-gradient, var(--color-brand));color:#fff;box-shadow:var(--shadow-brand)}.btn--primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 4px 12px #4f46e566}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-subtle)}.btn--ghost{color:var(--color-brand)}.btn--ghost:hover:not(:disabled){background:var(--color-brand-light)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.06)}.btn--sm{padding:.3125rem .75rem;font-size:.8125rem}.btn__spinner{width:.875rem;height:.875rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.badge{display:inline-block;padding:.2rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;letter-spacing:.01em}.badge--default{background:var(--color-subtle);color:var(--color-muted)}.badge--success{background:var(--color-success-light, #f0fdf4);color:#15803d}.badge--warning{background:var(--color-warning-light, #fffbeb);color:#b45309}.badge--danger{background:var(--color-danger-light, #fef2f2);color:#b91c1c}.badge--info{background:var(--color-info-light, #eff6ff);color:#1d4ed8}.badge--purple{background:#f5f3ff;color:#6d28d9}.progress-bar{height:5px;background:var(--color-subtle);border-radius:9999px;overflow:hidden;display:inline-block;width:90px}.progress-bar__fill{height:100%;background:var(--color-brand-gradient, var(--color-brand));border-radius:9999px;transition:width .3s ease}.modal-backdrop{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);width:100%;max-height:90vh;overflow-y:auto}.modal--sm{max-width:400px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal__title{font-size:1rem;font-weight:600;letter-spacing:-.015em}.modal__close{font-size:1.375rem;line-height:1;color:var(--color-muted);padding:.125rem .375rem;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background:var(--color-subtle);color:var(--color-text)}.modal__body{padding:1.5rem}@media(max-width:768px){.dashboard__header{padding:0 1rem}.header-logout{display:none}.dashboard__main{padding:1rem 1rem 1.5rem;gap:1rem}.dashboard__kpi-bar{padding:.75rem 1.25rem}.kpi-item{padding:.25rem .75rem;gap:.625rem}.kpi-item__value{font-size:1.25rem}.dashboard__toolbar{flex-direction:column;align-items:flex-start;gap:.75rem}.toolbar__left{flex-wrap:wrap}.projects-table th:nth-child(3),.projects-table th:nth-child(4),.projects-table td:nth-child(3),.projects-table td:nth-child(4){display:none}.projects-table td,.projects-table th{padding:.75rem .625rem}.col-actions{width:80px}}@media(max-width:480px){.dashboard__kpi-bar{flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem}.kpi-item{padding:0;flex:none}.kpi-divider{width:100%;height:1px}.projects-table thead{display:none}.projects-table__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem}.projects-table td{display:contents;border:none;padding:0}.col-name{flex:1;min-width:0;display:flex!important}.col-actions{width:auto;text-align:right;display:flex!important;gap:.25rem}.projects-table__row:after{content:"";display:block;width:100%;border-bottom:1px solid var(--color-border-subtle)}}.apply-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.apply-modal{background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.apply-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--color-border);gap:1rem}.apply-modal__title{font-size:1rem;font-weight:700;color:var(--color-text);letter-spacing:-.015em;margin:0 0 .25rem}.apply-modal__subtitle{font-size:.8125rem;color:var(--color-muted);margin:0}.apply-modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-muted);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.apply-modal__close:hover{background:var(--color-subtle);color:var(--color-text)}.apply-modal__body{padding:1.25rem 1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.125rem}.apply-modal__field{display:flex;flex-direction:column;gap:.5rem}.apply-modal__label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--color-text)}.apply-modal__optional{font-weight:400;color:var(--color-muted)}.apply-modal__input,.apply-modal__select{height:2.375rem;padding:0 .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;transition:border-color var(--transition-fast);width:100%}.apply-modal__input:focus,.apply-modal__select:focus{outline:none;border-color:var(--color-brand)}.apply-modal__hint{font-size:.8125rem;color:var(--color-brand);margin:0}.apply-modal__hint--warn{color:var(--color-warning)}.apply-modal__projects{display:flex;flex-direction:column;gap:.375rem;max-height:200px;overflow-y:auto;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:.375rem}.apply-modal__project-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;transition:background var(--transition-fast)}.apply-modal__project-row:hover{background:var(--color-subtle)}.apply-modal__project-row--checked{background:var(--color-brand-light)}.apply-modal__project-row input[type=checkbox]{accent-color:var(--color-brand);width:1rem;height:1rem;flex-shrink:0}.apply-modal__project-name{font-weight:500}.apply-modal__no-projects{font-size:.875rem;color:var(--color-muted);text-align:center;padding:1rem}.apply-modal__error{font-size:.875rem;color:var(--color-danger);background:var(--color-danger-light, #fef2f2);border:1px solid rgb(239 68 68 / .25);border-radius:var(--radius-md);padding:.5rem .875rem;margin:0}.apply-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.apply-modal__btn-cancel{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--color-muted);background:var(--color-surface);border:1.5px solid var(--color-border);transition:background var(--transition-fast)}.apply-modal__btn-cancel:hover{background:var(--color-subtle)}.apply-modal__btn-apply{padding:.5rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:#fff;background:var(--color-brand-gradient, var(--color-brand));transition:filter var(--transition-fast);white-space:nowrap}.apply-modal__btn-apply:hover:not(:disabled){filter:brightness(1.08)}.apply-modal__btn-apply:disabled{opacity:.5;cursor:not-allowed}.tasks-tab{display:flex;flex-direction:column;gap:1rem}.tasks-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tasks-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tasks-filters__icon{color:var(--neutral-400);font-size:1.1rem}.tasks-filter-btn{padding:.25rem .75rem;border-radius:999px;border:1px solid var(--neutral-200);background:var(--neutral-50);color:var(--neutral-600);font-size:.8125rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tasks-filter-btn:hover{border-color:var(--brand-300);color:var(--brand-600)}.tasks-filter-btn--active{background:var(--brand-50);border-color:var(--brand-400);color:var(--brand-700);font-weight:600}.tasks-loading,.tasks-empty{text-align:center;padding:3rem 1rem;color:var(--neutral-400);font-size:.9375rem}.tasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.task-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;background:var(--neutral-0, var(--color-surface));border:1px solid var(--neutral-150, #eee);border-radius:8px;transition:border-color .15s,box-shadow .15s}.task-item:hover{border-color:var(--brand-200);box-shadow:0 1px 4px #0000000f}.task-item--done{opacity:.65}.task-item__status-btn{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center}.task-status-icon{font-size:1.3rem}.task-status-icon--todo{color:var(--neutral-300)}.task-status-icon--in-progress{color:var(--color-info, #3b82f6)}.task-status-icon--done{color:var(--color-success, #22c55e)}.task-item__body{flex:1;text-align:left;background:none;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;min-width:0}.task-item__title{font-size:.9375rem;font-weight:500;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-item__title--done{text-decoration:line-through;color:var(--neutral-400)}.task-item__meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.task-type-badge{font-size:.75rem;padding:.1rem .5rem;border-radius:4px;font-weight:600;background:var(--neutral-100);color:var(--neutral-600)}.task-type-badge--seo_technical{background:#ede9fe;color:#5b21b6}.task-type-badge--on_page{background:#dbeafe;color:#1d4ed8}.task-type-badge--netlinking{background:#fef3c7;color:#92400e}.task-type-badge--content{background:#d1fae5;color:#065f46}.task-type-badge--other{background:var(--neutral-100);color:var(--neutral-600)}.task-meta-item{display:flex;align-items:center;gap:.2rem;font-size:.8125rem;color:var(--neutral-500)}.task-meta-item svg{font-size:.875rem}.task-meta-item--overdue{color:var(--color-danger, #ef4444);font-weight:600}.task-meta-item--recurrence{color:var(--brand-500)}.task-item__delete-btn{flex-shrink:0;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--neutral-300);display:flex;align-items:center;font-size:1.1rem;border-radius:4px;transition:color .15s,background .15s}.task-item__delete-btn:hover{color:var(--color-danger, #ef4444);background:#fee2e2}.task-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:var(--neutral-700)}.form-input,.form-select{padding:.5rem .75rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.9375rem;background:var(--neutral-0, var(--color-surface));color:var(--neutral-800);transition:border-color .15s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem}.task-comments{border-top:1px solid var(--color-border);margin-top:.25rem;padding-top:1.25rem}.task-comments__header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.875rem}.task-comments__header-icon{color:var(--color-muted);font-size:1rem}.task-comments__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--color-subtle);color:var(--color-muted);font-size:.75rem;font-weight:600}.task-comments__loading,.task-comments__empty{font-size:.875rem;color:var(--color-muted);padding:.5rem 0;margin-bottom:.75rem}.task-comments__list{list-style:none;margin:0 0 .875rem;padding:0;display:flex;flex-direction:column;gap:.625rem}.task-comment{background:var(--color-subtle);border-radius:8px;padding:.625rem .75rem}.task-comment__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.375rem}.task-comment__author{font-size:.8125rem;font-weight:600;color:var(--color-text)}.task-comment__date{font-size:.75rem;color:var(--color-muted)}.task-comment__badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.6875rem;font-weight:600;padding:.1em .45em;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.task-comment__badge--visible{background:#dcfce7;color:#15803d}.task-comment__badge--internal{background:var(--color-subtle);color:var(--color-muted);border:1px solid var(--color-border)}.task-comment__delete{margin-left:auto;background:none;border:none;padding:.15rem;cursor:pointer;color:var(--color-muted);display:flex;align-items:center;font-size:.9rem;border-radius:4px;transition:color .15s,background .15s}.task-comment__delete:hover{color:var(--color-danger);background:var(--color-danger-light, #fef2f2)}.task-comment__content{margin:0;font-size:.875rem;color:var(--color-text);white-space:pre-wrap;word-break:break-word;line-height:1.5}.task-comments__form{display:flex;flex-direction:column;gap:.5rem}.task-comments__textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;background:var(--color-surface);color:var(--color-text);transition:border-color .15s;box-sizing:border-box}.task-comments__textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.task-comments__form-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.task-comments__visibility-toggle{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.task-comments__visibility-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--color-brand)}.task-comments__vis-icon{font-size:.9rem;vertical-align:middle}.task-comments__vis-icon--on{color:#15803d}.cl-tab{display:flex;flex-direction:column;gap:1rem;max-width:720px}.cl-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cl-header__left{display:flex;align-items:center;gap:.5rem}.cl-header__icon{font-size:1.25rem;color:var(--brand-500, #6366f1);flex-shrink:0}.cl-header__title{font-size:1rem;font-weight:600;color:var(--neutral-800);margin:0}.cl-header__count{font-size:.8125rem;font-weight:600;background:var(--brand-100, #e0e7ff);color:var(--brand-700, #4338ca);padding:.15rem .5rem;border-radius:999px;flex-shrink:0}.cl-header__collapse{background:none;border:none;cursor:pointer;color:var(--neutral-400);font-size:1.25rem;display:flex;align-items:center;padding:.125rem;border-radius:4px;transition:color .15s}.cl-header__collapse:hover{color:var(--neutral-600)}.cl-header__add{display:flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border:1px solid var(--neutral-200);border-radius:7px;background:var(--color-surface);font-size:.875rem;font-weight:500;color:var(--neutral-700);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.cl-header__add svg{font-size:1rem}.cl-header__add:hover{background:var(--neutral-50, #f9fafb);border-color:var(--neutral-300)}.cl-cards{display:flex;flex-direction:column;gap:.625rem}.cl-card{background:var(--color-surface);border:1px solid var(--neutral-200);border-radius:10px;padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.625rem;transition:border-color .15s}.cl-card:hover{border-color:var(--neutral-300)}.cl-card__top{display:flex;align-items:flex-start;gap:.75rem}.cl-card__info{flex:1;display:flex;flex-direction:column;gap:.375rem}.cl-card__title-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.cl-card__title{font-size:.9375rem;font-weight:600;color:var(--neutral-800);line-height:1.3}.cl-card__description{margin:0;font-size:.875rem;color:var(--neutral-500);line-height:1.5}.cl-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.cl-badge--done{background:#dcfce7;color:#16a34a}.cl-badge--pending{background:#fef9c3;color:#a16207}.cl-card__actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.cl-card__btn{background:none;border:none;cursor:pointer;padding:.3rem;border-radius:6px;font-size:1rem;display:flex;align-items:center;transition:background .15s,color .15s}.cl-card__btn--edit{color:var(--neutral-400)}.cl-card__btn--edit:hover{color:var(--brand-600, #4f46e5);background:var(--brand-50, #eef2ff)}.cl-card__btn--delete{color:var(--neutral-400)}.cl-card__btn--delete:hover:not(:disabled){color:var(--color-danger, #ef4444);background:#fee2e2}.cl-card__btn--delete:disabled{opacity:.4;cursor:not-allowed}.cl-card__response{background:#f5f3ff;border:1px solid #e0d9fe;border-radius:8px;padding:.5rem .875rem .625rem;display:flex;flex-direction:column}[data-theme=dark] .cl-card__response{background:#6366f114;border-color:#6366f133}.cl-card__response-label{font-size:.75rem;font-weight:600;color:var(--brand-500, #6366f1);text-transform:uppercase;letter-spacing:.03em}.cl-card__response-text{margin:0;font-size:.875rem;color:var(--neutral-700);line-height:1.5;white-space:pre-wrap;word-break:break-word}.cl-card__response-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.cl-card__response-actions{display:flex;gap:.125rem}.cl-card__btn--resp-edit,.cl-card__btn--resp-delete{font-size:.875rem;padding:.2rem;opacity:0;transition:opacity .15s,background .15s,color .15s}.cl-card__response:hover .cl-card__btn--resp-edit,.cl-card__response:hover .cl-card__btn--resp-delete{opacity:1}.cl-card__btn--resp-edit:hover{color:var(--brand-600, #4f46e5);background:var(--brand-50, #eef2ff)}.cl-card__btn--resp-delete:hover:not(:disabled){color:var(--color-danger, #ef4444);background:#fee2e2}.cl-resp-edit{display:flex;flex-direction:column;gap:.5rem;background:#f5f3ff;border:1px solid #e0d9fe;border-radius:8px;padding:.625rem .875rem}[data-theme=dark] .cl-resp-edit{background:#6366f114;border-color:#6366f133}.cl-resp-edit__textarea{padding:.5rem .625rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;background:var(--color-surface);color:var(--neutral-700);transition:border-color .15s}.cl-resp-edit__textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.cl-resp-edit__actions{display:flex;justify-content:flex-end;gap:.375rem}.cl-resp-edit__cancel{padding:.3rem .75rem;border:1px solid var(--neutral-200);border-radius:5px;background:var(--color-surface);font-size:.8125rem;color:var(--neutral-600);cursor:pointer;transition:background .15s}.cl-resp-edit__cancel:hover{background:var(--neutral-50)}.cl-resp-edit__submit{padding:.3rem .75rem;border:none;border-radius:5px;background:var(--brand-600, #4f46e5);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.cl-resp-edit__submit:hover:not(:disabled){background:var(--brand-700, #4338ca)}.cl-resp-edit__submit:disabled{opacity:.5;cursor:not-allowed}.cl-card__meta{font-size:.75rem;color:var(--neutral-400)}.cl-form__presets{display:flex;flex-direction:column;gap:.375rem}.cl-form__presets-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--neutral-400);text-transform:uppercase;letter-spacing:.04em}.cl-form__presets-label svg{font-size:.9rem}.cl-form__presets-list{display:flex;flex-wrap:wrap;gap:.375rem}.cl-form__preset-pill{padding:.25rem .625rem;border:1px solid var(--brand-200, #c7d2fe);border-radius:999px;background:var(--brand-50, #eef2ff);color:var(--brand-700, #4338ca);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.cl-form__preset-pill:hover{background:var(--brand-100, #e0e7ff);border-color:var(--brand-400, #818cf8)}.cl-form{background:var(--color-surface);border:1.5px dashed var(--brand-300, #a5b4fc);border-radius:10px;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem}.cl-form__input{padding:.5rem .75rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.9375rem;font-weight:500;background:var(--color-surface);color:var(--neutral-800);transition:border-color .15s}.cl-form__input:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.cl-form__textarea{padding:.5rem .75rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.875rem;background:var(--color-surface);color:var(--neutral-700);resize:vertical;font-family:inherit;transition:border-color .15s}.cl-form__textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.cl-form__actions{display:flex;justify-content:flex-end;gap:.5rem}.cl-form__cancel{padding:.375rem .875rem;border:1px solid var(--neutral-200);border-radius:6px;background:var(--color-surface);font-size:.875rem;color:var(--neutral-600);cursor:pointer;transition:background .15s}.cl-form__cancel:hover{background:var(--neutral-50)}.cl-form__submit{padding:.375rem .875rem;border:none;border-radius:6px;background:var(--brand-600, #4f46e5);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.cl-form__submit:hover:not(:disabled){background:var(--brand-700, #4338ca)}.cl-form__submit:disabled{opacity:.5;cursor:not-allowed}.cl-history{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--neutral-100);padding-top:.625rem;margin-top:.25rem}.cl-history__toggle{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--neutral-500);padding:0;transition:color .15s}.cl-history__toggle:hover{color:var(--brand-600, #4f46e5)}.cl-history__toggle svg{font-size:1rem}.cl-history__list{display:flex;flex-direction:column;gap:.5rem}.cl-history__entry{background:var(--neutral-50, #f8fafc);border:1px solid var(--neutral-150, #e8ecf0);border-radius:7px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.cl-history__entry-meta{font-size:.75rem;color:var(--neutral-400)}.cl-history__entry-text{margin:0;font-size:.875rem;color:var(--neutral-600);line-height:1.5;white-space:pre-wrap;word-break:break-word}.cl-empty{text-align:center;padding:2.5rem;color:var(--neutral-400);font-size:.9375rem}.messages-tab{display:flex;flex-direction:column;height:calc(100vh - 280px);min-height:400px}.messages-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:var(--neutral-50, #fafafa);border:1px solid var(--neutral-150, #eee);border-radius:10px 10px 0 0}.messages-loading,.messages-empty{text-align:center;color:var(--neutral-400);padding:2rem;font-size:.9375rem}.msg-bubble{display:flex;gap:.625rem;align-items:flex-start;max-width:75%}.msg-bubble--admin{align-self:flex-end;flex-direction:row-reverse}.msg-bubble--client{align-self:flex-start}.msg-bubble__avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem}.msg-bubble--admin .msg-bubble__avatar{background:var(--brand-100);color:var(--brand-700)}.msg-bubble--client .msg-bubble__avatar{background:var(--neutral-200);color:var(--neutral-600)}.msg-bubble__body{display:flex;flex-direction:column;gap:.25rem}.msg-bubble__header{display:flex;gap:.5rem;align-items:baseline}.msg-bubble--admin .msg-bubble__header{flex-direction:row-reverse}.msg-bubble__author{font-size:.8125rem;font-weight:600;color:var(--neutral-700)}.msg-bubble__time{font-size:.75rem;color:var(--neutral-400)}.msg-bubble__content{margin:0;padding:.625rem .875rem;border-radius:12px;font-size:.9375rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.msg-bubble--admin .msg-bubble__content{background:var(--brand-600);color:#fff;border-bottom-right-radius:4px}.msg-bubble--client .msg-bubble__content{background:var(--color-surface);color:var(--neutral-800);border:1px solid var(--neutral-200);border-bottom-left-radius:4px}.msg-bubble__delete{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--neutral-300);font-size:1rem;border-radius:4px;display:flex;align-items:center;opacity:0;transition:color .15s,background .15s,opacity .15s;flex-shrink:0;align-self:center}.msg-bubble:hover .msg-bubble__delete{opacity:1}.msg-bubble__delete:hover{color:var(--color-danger, #ef4444);background:#fee2e2}.messages-composer{display:flex;gap:.5rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-top:none;border-radius:0 0 10px 10px}.messages-composer__input{flex:1;padding:.5rem .75rem;border:1px solid var(--neutral-200);border-radius:8px;font-size:.9375rem;resize:none;font-family:inherit;background:var(--neutral-50, #fafafa);transition:border-color .15s}.messages-composer__input:focus{outline:none;border-color:var(--brand-400);background:var(--color-surface)}.messages-composer__send{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:8px;background:var(--brand-600);color:#fff;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;align-self:flex-end;transition:background .15s}.messages-composer__send:hover:not(:disabled){background:var(--brand-700)}.messages-composer__send:disabled{opacity:.5;cursor:not-allowed}.fpt{flex-shrink:0;width:3.5rem;height:3.5rem;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.fpt--placeholder{background:var(--neutral-100, #f3f4f6);border:1px solid var(--neutral-200, #e5e7eb)}[data-theme=dark] .fpt--placeholder{background:var(--neutral-800, #1e293b);border-color:var(--neutral-700, #334155)}.fpt--image{background:var(--neutral-100, #f3f4f6);border:1px solid var(--neutral-200, #e5e7eb)}.fpt__img{width:100%;height:100%;object-fit:cover;display:block}.fpt--text{background:var(--neutral-50, #f9fafb);border:1px solid var(--neutral-200, #e5e7eb);align-items:flex-start;justify-content:flex-start;padding:4px}[data-theme=dark] .fpt--text{background:var(--neutral-800, #1e293b);border-color:var(--neutral-700, #334155)}.fpt__text{margin:0;font-family:Courier New,monospace;font-size:5.5px;line-height:1.5;color:var(--neutral-600, #4b5563);white-space:pre-wrap;word-break:break-all;overflow:hidden;max-height:100%;-webkit-user-select:none;user-select:none}[data-theme=dark] .fpt__text{color:var(--neutral-400, #9ca3af)}.fpt-icon{font-size:1.75rem;color:var(--neutral-400, #9ca3af)}.fpt-icon--image{color:#22c55e}.fpt-icon--pdf{color:#ef4444}.fpt-icon--text{color:#6366f1}.fpt-icon--code{color:#f59e0b}.fpt-icon--sheet{color:#10b981}.files-tab{display:flex;flex-direction:column;gap:1rem}.files-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem;border:2px dashed var(--neutral-200);border-radius:12px;background:var(--neutral-50, #fafafa);cursor:pointer;transition:border-color .15s,background .15s}.files-dropzone:hover,.files-dropzone--active{border-color:var(--brand-400);background:var(--brand-50, rgba(99,102,241,.04))}.files-dropzone--uploading{border-color:var(--brand-400);opacity:.7;pointer-events:none}.files-dropzone__icon{font-size:2.5rem;color:var(--neutral-300)}.files-dropzone--active .files-dropzone__icon{color:var(--brand-500)}.files-dropzone__text{margin:0;font-size:.9375rem;color:var(--neutral-600);font-weight:500}.files-dropzone__hint{margin:0;font-size:.8125rem;color:var(--neutral-400)}.files-loading,.files-empty{text-align:center;padding:2rem;color:var(--neutral-400);font-size:.9375rem}.files-section{display:flex;flex-direction:column;gap:.5rem}.files-section__title{display:flex;align-items:center;gap:.375rem;margin:0;font-size:.8125rem;font-weight:700;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em}.files-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.file-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .875rem;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:8px;transition:border-color .15s}.file-row:hover{border-color:var(--brand-200)}.file-row__body{flex:1;min-width:0}.file-row__name{display:block;font-size:.9375rem;font-weight:500;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row__meta{font-size:.8125rem;color:var(--neutral-500)}.file-row__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;border:none;background:none;color:var(--neutral-400);font-size:1.125rem;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.file-row__action:hover{background:var(--brand-50);color:var(--brand-600)}.file-row__delete{flex-shrink:0;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--neutral-300);font-size:1.1rem;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.file-row__delete:hover{color:var(--color-danger, #ef4444);background:#fee2e2}.files-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.files-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;width:min(420px,90vw);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:1rem}.files-modal__text{margin:0;font-size:.9375rem;font-weight:500;color:var(--neutral-800)}.files-modal__actions{display:flex;gap:.5rem;justify-content:flex-end}.files-delete-confirm{padding:.875rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;flex-direction:column;gap:.625rem}[data-theme=dark] .files-delete-confirm{background:#ef444414;border-color:#ef444440}.files-delete-confirm p{margin:0;font-size:.9375rem;color:var(--neutral-700)}.files-delete-confirm__error{color:var(--color-danger, #ef4444)!important;font-size:.8125rem!important}.files-delete-confirm__actions{display:flex;gap:.5rem;justify-content:flex-end}.files-confirm-btn{padding:.3125rem .875rem;border-radius:6px;border:none;font-size:.8125rem;font-weight:500;cursor:pointer;transition:filter .15s,background .15s}.files-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.files-confirm-btn--secondary{background:var(--color-subtle, #f3f4f6);color:var(--neutral-700, #374151);border:1px solid var(--color-border, #e5e7eb)}.files-confirm-btn--secondary:hover:not(:disabled){background:var(--neutral-200, #e5e7eb)}.files-confirm-btn--danger{background:var(--color-danger, #ef4444);color:#fff}.files-confirm-btn--danger:hover:not(:disabled){filter:brightness(1.08)}.links-tab{display:flex;flex-direction:column;gap:1rem}.links-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.links-filters{display:flex;gap:.375rem;flex-wrap:wrap}.links-filter-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--neutral-200);border-radius:20px;background:var(--color-surface);font-size:.8125rem;font-weight:500;color:var(--neutral-600);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.links-filter-btn:hover{border-color:var(--brand-300);color:var(--brand-600)}.links-filter-btn--active{border-color:var(--brand-500);background:var(--brand-50, rgba(99,102,241,.06));color:var(--brand-700)}.links-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:10px;background:var(--neutral-100);font-size:.75rem;font-weight:600;color:var(--neutral-600)}.links-filter-btn--active .links-filter-badge{background:var(--brand-100);color:var(--brand-700)}.links-loading,.links-empty{text-align:center;padding:2rem;color:var(--neutral-400);font-size:.9375rem}.links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.link-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .875rem;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:8px;transition:border-color .15s}.link-row:hover{border-color:var(--brand-200)}.link-row__icon{flex-shrink:0;font-size:1.375rem;color:var(--neutral-350, #bbb);margin-top:.125rem}.link-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.link-row__top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.link-type-badge{display:inline-block;padding:.1rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.badge--green{background:#dcfce7;color:#166534}.badge--blue{background:#dbeafe;color:#1e40af}.badge--purple{background:#ede9fe;color:#5b21b6}.link-da{font-size:.75rem;font-weight:700;color:var(--neutral-500);background:var(--neutral-100);padding:.1rem .4rem;border-radius:4px}.link-anchor{font-size:.8125rem;color:var(--neutral-500);font-style:italic}.link-row__url{font-size:.875rem;color:var(--brand-600);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.25rem;max-width:100%}.link-row__url:hover{text-decoration:underline}.link-row__url--target{color:var(--neutral-500);font-size:.8125rem}.link-row__url-icon{flex-shrink:0;font-size:.875rem}.link-row__notes{margin:0;font-size:.8125rem;color:var(--neutral-500)}.link-row__actions{flex-shrink:0;display:flex;align-items:center;gap:.25rem}.link-row__date{font-size:.75rem;color:var(--neutral-400);margin-right:.25rem}.link-row__btn{display:flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border:none;background:none;border-radius:6px;font-size:1.1rem;color:var(--neutral-400);cursor:pointer;transition:background .15s,color .15s}.link-row__btn:hover{background:var(--neutral-100);color:var(--neutral-700)}.link-row__btn--danger:hover{background:#fee2e2;color:#ef4444}.link-form{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--neutral-50, #fafafa);border:1px solid var(--neutral-200);border-radius:10px}.link-form__row{display:flex;gap:.75rem}.link-form__field{display:flex;flex-direction:column;gap:.25rem;flex:1}.link-form__field--da{flex:0 0 120px}.link-form__field label{font-size:.8125rem;font-weight:600;color:var(--neutral-600)}.link-form__field input,.link-form__field select,.link-form__field textarea{padding:.5rem .625rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.9375rem;color:var(--neutral-800);background:var(--color-surface);outline:none;transition:border-color .15s;resize:vertical}.link-form__field input:focus,.link-form__field select:focus,.link-form__field textarea:focus{border-color:var(--brand-400)}.link-form__actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.links-delete-confirm{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.links-delete-confirm p{margin:0;font-size:.9375rem;color:var(--neutral-700)}.links-delete-confirm__actions{display:flex;gap:.5rem}.keywords-tab{display:flex;flex-direction:column;gap:1rem}.keywords-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.keywords-count{margin:0;font-size:.875rem;color:var(--neutral-500)}.keywords-loading,.keywords-empty{text-align:center;padding:2rem;color:var(--neutral-400);font-size:.9375rem}.keywords-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.keyword-row{background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:8px;transition:border-color .15s;overflow:hidden}.keyword-row:hover{border-color:var(--brand-200)}.keyword-row__main{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem}.keyword-row__icon{flex-shrink:0;font-size:1.375rem;color:var(--neutral-300)}.keyword-row__body{flex:1;min-width:0}.keyword-row__phrase{font-size:.9375rem;font-weight:600;color:var(--neutral-800)}.keyword-row__url{font-size:.8125rem;color:var(--brand-500);text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyword-row__url:hover{text-decoration:underline}.keyword-row__stats{display:flex;gap:1rem;align-items:center}.kw-stat{display:flex;flex-direction:column;align-items:center;min-width:3.5rem}.kw-stat__label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--neutral-400);font-weight:600}.kw-stat__value{font-size:.9375rem;font-weight:700;color:var(--neutral-700);display:flex;align-items:center;gap:.2rem}.kw-stat--up .kw-stat__value{color:#16a34a}.kw-stat--down .kw-stat__value{color:#dc2626}.kw-stat--flat .kw-stat__value{color:var(--neutral-500)}.keyword-row__actions{flex-shrink:0;display:flex;align-items:center;gap:.125rem}.keyword-row__btn{display:flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border:none;background:none;border-radius:6px;font-size:1.125rem;color:var(--neutral-400);cursor:pointer;transition:background .15s,color .15s}.keyword-row__btn:hover{background:var(--neutral-100);color:var(--neutral-700)}.keyword-row__btn--danger:hover{background:#fee2e2;color:#ef4444}.keyword-traffic{padding:0 .875rem .875rem;border-top:1px solid var(--neutral-100);background:var(--neutral-50, #fafafa)}.traffic-table{width:100%;border-collapse:collapse;font-size:.8125rem;margin-top:.75rem}.traffic-table th{text-align:right;padding:.25rem .625rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--neutral-500);border-bottom:1px solid var(--neutral-200)}.traffic-table th:first-child{text-align:left}.traffic-table td{text-align:right;padding:.4rem .625rem;color:var(--neutral-700);border-bottom:1px solid var(--neutral-100)}.traffic-table td:first-child{text-align:left;text-transform:capitalize}.traffic-table tr:last-child td{border-bottom:none}.keyword-form{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--neutral-50, #fafafa);border:1px solid var(--neutral-200);border-radius:10px}.keyword-form__row{display:flex;gap:.75rem}.keyword-form__field{display:flex;flex-direction:column;gap:.25rem}.keyword-form__field--grow{flex:1}.keyword-form__field--sm{flex:0 0 130px}.keyword-form__field label{font-size:.8125rem;font-weight:600;color:var(--neutral-600)}.keyword-form__field input{padding:.5rem .625rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.9375rem;color:var(--neutral-800);background:var(--color-surface);outline:none;transition:border-color .15s}.keyword-form__field input:focus{border-color:var(--brand-400)}.keyword-form__actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.keywords-delete-confirm{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.keywords-delete-confirm p{margin:0;font-size:.9375rem;color:var(--neutral-700)}.keywords-delete-confirm__actions{display:flex;gap:.5rem}.project-page{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.page-loading,.page-error{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--color-muted)}.page-error{color:var(--color-danger)}.project-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:3.5rem;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);gap:1rem}[data-theme=dark] .project-header{background:#1a1f2ee6}.project-header__back{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;color:var(--color-text);font-weight:500;transition:opacity var(--transition-fast)}.project-header__back:hover{opacity:.65}.project-avatar{width:2rem;height:2rem;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;color:#fff;flex-shrink:0}.project-avatar--indigo{background:var(--color-indigo)}.project-avatar--purple{background:var(--color-purple)}.project-avatar--blue{background:var(--color-blue)}.project-avatar--green{background:var(--color-green)}.project-avatar--orange{background:var(--color-orange)}.project-avatar--red{background:var(--color-red)}.project-avatar--teal{background:var(--color-teal)}.project-avatar--pink{background:var(--color-pink)}.project-header__name{font-weight:600;letter-spacing:-.015em}.project-header__right{display:flex;align-items:center;gap:.75rem}.project-deadline{font-size:.8125rem;color:var(--color-muted);padding:.3125rem .75rem;border-radius:var(--radius-md);background:var(--color-subtle);border:1px solid var(--color-border);font-weight:500}.project-tabs{display:flex;gap:0;padding:0 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none;position:sticky;top:3.5rem;z-index:10;box-shadow:var(--shadow-xs)}.project-tabs::-webkit-scrollbar{display:none}.project-tab{display:flex;align-items:center;gap:.375rem;padding:.875rem 1rem;font-size:.875rem;color:var(--color-muted);border-bottom:2px solid transparent;white-space:nowrap;font-weight:500;transition:color var(--transition-fast),border-color var(--transition-fast)}.project-tab:hover{color:var(--color-text)}.project-tab--active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.project-tab--preview{margin-left:auto;color:var(--color-muted);border-bottom-color:transparent}.project-tab--preview:hover{color:var(--color-brand)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;background:var(--color-danger);color:#fff;border-radius:9999px;font-size:.6875rem;font-weight:700;padding:0 .25rem}.project-body{padding:1.5rem 2rem;flex:1}.tab-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-muted);background:var(--color-surface);border-radius:var(--radius-xl);border:1px dashed var(--color-border)}.apercu{display:flex;flex-direction:column;gap:1.25rem}.apercu-grid{display:grid;grid-template-columns:1fr 1.65fr;gap:1.25rem;align-items:start}.apercu-left,.apercu-right{display:flex;flex-direction:column;gap:1.25rem}.apercu-card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:1.5rem;box-shadow:var(--shadow-sm)}.apercu-card__title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:1.25rem}.apercu-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.apercu-info-grid>div{display:flex;flex-direction:column;gap:.375rem}.info-label{font-size:.75rem;color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;width:fit-content}.status-badge--active{background:var(--color-success-light, #f0fdf4);color:#15803d}.status-badge--active:before{content:"";width:.4375rem;height:.4375rem;border-radius:50%;background:#22c55e;flex-shrink:0}.status-badge--archived{background:var(--color-subtle);color:var(--color-muted)}.apercu-progress-label{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-muted);margin-bottom:.625rem}.apercu-progress-pct{font-weight:700;color:var(--color-text)}.apercu-progress-bar{height:8px;background:var(--color-subtle);border-radius:9999px;overflow:hidden;margin-bottom:1.25rem}.apercu-progress-bar__fill{height:100%;background:var(--color-brand-gradient, var(--color-brand));border-radius:9999px;transition:width .4s ease}.apercu-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.apercu-counter{text-align:center;padding:1rem;background:var(--color-subtle);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);transition:transform var(--transition),box-shadow var(--transition)}.apercu-counter:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.apercu-counter strong{display:block;font-size:1.875rem;font-weight:700;letter-spacing:-.03em;line-height:1;margin-bottom:.25rem}.apercu-counter span{font-size:.8rem;color:var(--color-muted);font-weight:500}.apercu-counter--info strong{color:var(--color-brand)}.apercu-counter--success strong{color:var(--color-success)}.apercu-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:768px){.project-header{padding:0 1rem;height:auto;min-height:3.25rem;flex-wrap:wrap;gap:.5rem}.project-deadline{display:none}.project-tabs{padding:0 .5rem;top:auto}.project-tab{padding:.75rem;font-size:.8125rem}.project-body{padding:1rem}.apercu-grid{grid-template-columns:1fr}.apercu-info-grid,.apercu-mini-stats{grid-template-columns:repeat(2,1fr)}.apercu-counters{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.project-header__right .btn span{display:none}.apercu-info-grid,.apercu-mini-stats{grid-template-columns:1fr 1fr}}.my-tasks-page{max-width:760px;margin:0 auto;padding:2rem 1.5rem}.my-tasks-back{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--neutral-500);text-decoration:none;margin-bottom:1.5rem;transition:color .15s}.my-tasks-back:hover{color:var(--brand-600)}.my-tasks-title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0 0 .25rem}.my-tasks-subtitle{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--neutral-500);margin:0 0 2rem}.my-tasks-overdue-badge{padding:.1rem .5rem;background:#fee2e2;color:#b91c1c;border-radius:4px;font-size:.8125rem;font-weight:600}.my-tasks-loading{text-align:center;padding:4rem;color:var(--neutral-400)}.my-tasks-empty{text-align:center;padding:4rem 1rem;color:var(--neutral-400)}.my-tasks-empty__icon{font-size:3rem;color:var(--color-success, #22c55e);margin-bottom:.75rem}.my-tasks-section{margin-bottom:2rem}.my-tasks-section--done{opacity:.7}.my-tasks-section__title{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--neutral-400);margin:0 0 .75rem}.my-tasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.my-task-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:10px;transition:border-color .15s,box-shadow .15s}.my-task-card:hover{border-color:var(--brand-200);box-shadow:0 2px 8px #0000000f}.my-task-card--done{opacity:.6}.my-task-card--overdue{border-left:3px solid var(--color-danger, #ef4444)}.my-task-card__icon{flex-shrink:0;display:flex;align-items:center}.my-task-icon{font-size:1.4rem}.my-task-icon--todo{color:var(--neutral-300)}.my-task-icon--in-progress{color:var(--color-info, #3b82f6)}.my-task-icon--done{color:var(--color-success, #22c55e)}.my-task-card__body{flex:1;min-width:0}.my-task-card__title{font-size:.9375rem;font-weight:500;color:var(--neutral-800);margin:0 0 .375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-task-card__title--done{text-decoration:line-through;color:var(--neutral-400)}.my-task-card__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.my-task-meta-badge{font-size:.75rem;padding:.1rem .5rem;border-radius:4px;font-weight:600;text-decoration:none}.my-task-meta-badge--type{background:var(--neutral-100);color:var(--neutral-600)}.my-task-meta-badge--project{background:var(--brand-50);color:var(--brand-700);display:inline-flex;align-items:center;gap:.2rem;transition:background .15s}.my-task-meta-badge--project:hover{background:var(--brand-100)}.my-task-meta-item{display:inline-flex;align-items:center;gap:.2rem;font-size:.8125rem;color:var(--neutral-500)}.my-task-meta-item--overdue{color:var(--color-danger, #ef4444);font-weight:600}.my-task-meta-item--recurrence{color:var(--brand-500)}.my-task-status-pill{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;font-weight:600}.my-task-status-pill--todo{background:var(--neutral-100);color:var(--neutral-600)}.my-task-status-pill--in_progress{background:#dbeafe;color:#1d4ed8}.my-task-status-pill--done{background:#d1fae5;color:#065f46}.my-task-card__complete-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.375rem .75rem;background:var(--brand-600);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s}.my-task-card__complete-btn:hover:not(:disabled){background:var(--brand-700)}.my-task-card__complete-btn:disabled{opacity:.7;cursor:not-allowed}.my-task-card__complete-btn svg{font-size:1rem}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .7s linear infinite}.presets-page{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.presets-page__header{padding:1rem 2rem;border-bottom:1px solid var(--neutral-150, #e8ecf0);background:var(--color-surface)}.presets-page__back{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--neutral-500);text-decoration:none;transition:color .15s}.presets-page__back:hover{color:var(--brand-600, #4f46e5)}.presets-page__content{max-width:680px;margin:2.5rem auto;padding:0 1.5rem;width:100%;display:flex;flex-direction:column;gap:1.25rem}.presets-page__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.presets-page__title{display:flex;align-items:flex-start;gap:.75rem}.presets-page__title-icon{font-size:1.75rem;color:var(--brand-500, #6366f1);margin-top:.1rem;flex-shrink:0}.presets-page__title h1{margin:0 0 .2rem;font-size:1.25rem;font-weight:700;color:var(--neutral-800)}.presets-page__title p{margin:0;font-size:.875rem;color:var(--neutral-500)}.presets-add-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.45rem 1rem;border:none;border-radius:7px;background:var(--brand-600, #4f46e5);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.presets-add-btn:hover{background:var(--brand-700, #4338ca)}.presets-list{display:flex;flex-direction:column;gap:.5rem}.preset-row{display:flex;align-items:center;gap:.5rem;background:var(--color-surface);border:1px solid var(--neutral-150, #e8ecf0);border-radius:8px;padding:.625rem .75rem;transition:border-color .15s}.preset-row:hover{border-color:var(--neutral-250, #d1d5db)}.preset-row__drag{color:var(--neutral-300);font-size:1.1rem;flex-shrink:0;display:flex;align-items:center}.preset-row__body{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.preset-row__title{font-size:.9375rem;font-weight:500;color:var(--neutral-800)}.preset-row__desc{font-size:.8125rem;color:var(--neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-row__actions{display:flex;gap:.25rem;flex-shrink:0}.preset-row__btn{background:none;border:none;cursor:pointer;padding:.3rem;border-radius:5px;font-size:1rem;display:flex;align-items:center;transition:background .15s,color .15s}.preset-row__btn--edit{color:var(--neutral-400)}.preset-row__btn--edit:hover{color:var(--brand-600, #4f46e5);background:var(--brand-50, #eef2ff)}.preset-row__btn--delete{color:var(--neutral-400)}.preset-row__btn--delete:hover:not(:disabled){color:var(--color-danger, #ef4444);background:#fee2e2}.preset-row__btn--delete:disabled{opacity:.4;cursor:not-allowed}.preset-form{background:var(--color-surface);border:1.5px dashed var(--brand-300, #a5b4fc);border-radius:8px;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem}.preset-form__input{padding:.5rem .75rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.9375rem;background:var(--color-surface);color:var(--neutral-800);transition:border-color .15s}.preset-form__input:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.preset-form__textarea{padding:.5rem .75rem;border:1px solid var(--neutral-200);border-radius:6px;font-size:.875rem;background:var(--color-surface);color:var(--neutral-700);resize:vertical;font-family:inherit;transition:border-color .15s}.preset-form__textarea:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100, rgba(99,102,241,.12))}.preset-form__actions{display:flex;justify-content:flex-end;gap:.5rem}.preset-form__cancel{padding:.375rem .875rem;border:1px solid var(--neutral-200);border-radius:6px;background:var(--color-surface);font-size:.875rem;color:var(--neutral-600);cursor:pointer;transition:background .15s}.preset-form__cancel:hover{background:var(--neutral-50)}.preset-form__submit{padding:.375rem .875rem;border:none;border-radius:6px;background:var(--brand-600, #4f46e5);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.preset-form__submit:hover:not(:disabled){background:var(--brand-700, #4338ca)}.preset-form__submit:disabled{opacity:.5;cursor:not-allowed}.presets-empty{text-align:center;padding:3rem 1rem;color:var(--neutral-400);font-size:.9375rem}.tt-list{display:flex;flex-direction:column;gap:.625rem}.tt-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition)}.tt-card:hover{box-shadow:var(--shadow-md)}.tt-card__row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem .875rem .75rem}.tt-card__chevron{color:var(--color-muted);padding:.25rem;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.tt-card__chevron:hover{color:var(--color-text);background:var(--color-subtle)}.tt-card__info{flex:1;display:flex;align-items:center;gap:.625rem;min-width:0}.tt-card__name{font-size:.9375rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.tt-card__count{font-size:.8125rem;color:var(--color-muted)}.tt-type-badge{display:inline-block;padding:.2rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:var(--color-subtle);color:var(--color-muted)}.tt-card__actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.tt-btn-apply{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;background:var(--color-brand-gradient, var(--color-brand));color:#fff;transition:filter var(--transition-fast)}.tt-btn-apply:hover{filter:brightness(1.08)}.tt-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-muted);transition:color var(--transition-fast),background var(--transition-fast)}.tt-icon-btn:hover{color:var(--color-text);background:var(--color-subtle)}.tt-icon-btn--danger:hover{color:var(--color-danger);background:var(--color-danger-light, #fef2f2)}.tt-btn-primary{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;background:var(--color-brand-gradient, var(--color-brand));color:#fff;transition:filter var(--transition-fast)}.tt-btn-primary:hover{filter:brightness(1.08)}.tt-items{border-top:1px solid var(--color-border);padding:.75rem 1rem .875rem 2.75rem;background:var(--color-bg)}.tt-items__empty{font-size:.875rem;color:var(--color-muted);margin:0}.tt-items__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.tt-item{display:flex;align-items:flex-start;gap:.625rem}.tt-item__body{flex:1;display:flex;flex-direction:column;gap:.125rem}.tt-item__title{font-size:.9rem;font-weight:500;color:var(--color-text)}.tt-item__desc{font-size:.8rem;color:var(--color-muted)}.tt-item__type{flex-shrink:0}.tt-item__recurrence{font-size:.75rem;color:var(--color-muted);background:var(--color-subtle);padding:.1875rem .5rem;border-radius:9999px;white-space:nowrap;flex-shrink:0}.tt-modal{max-width:680px}.tt-form{display:flex;flex-direction:column;gap:1.25rem}.tt-form__section{display:flex;flex-direction:column;gap:.75rem}.tt-form__section-header{display:flex;align-items:center;justify-content:space-between}.tt-form__section-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.tt-btn-add-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;color:var(--color-brand);padding:.25rem .625rem;border-radius:var(--radius-md);transition:background var(--transition-fast)}.tt-btn-add-item:hover{background:var(--color-brand-light)}.tt-form__row{display:flex;flex-direction:column;gap:.375rem}.tt-form__label{font-size:.8125rem;font-weight:600;color:var(--color-text)}.tt-form__required{color:var(--color-danger)}.tt-form__input,.tt-form__select,.tt-form__textarea{padding:.5rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;transition:border-color var(--transition-fast);width:100%;font-family:inherit}.tt-form__input:focus,.tt-form__select:focus,.tt-form__textarea:focus{outline:none;border-color:var(--color-brand)}.tt-form__textarea{resize:vertical}.tt-form__items-empty{font-size:.875rem;color:var(--color-muted);margin:0;text-align:center;padding:1rem;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.tt-form__items{display:flex;flex-direction:column;gap:.625rem}.tt-form__item{display:flex;align-items:flex-start;gap:.625rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.625rem}.tt-form__item-order{display:flex;flex-direction:column;align-items:center;gap:.125rem;flex-shrink:0}.tt-form__order-btn{font-size:.625rem;color:var(--color-muted);line-height:1;padding:.0625rem .25rem;border-radius:2px;transition:color var(--transition-fast),background var(--transition-fast)}.tt-form__order-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-border)}.tt-form__order-btn:disabled{opacity:.25}.tt-form__item-num{font-size:.6875rem;font-weight:600;color:var(--color-muted);min-width:1rem;text-align:center}.tt-form__item-fields{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0}.tt-form__item-row{display:flex;gap:.375rem}.tt-form__input--title{flex:1;min-width:0}.tt-form__input--desc{font-size:.875rem}.tt-form__select--sm{width:auto;min-width:120px;font-size:.8125rem;padding:.5rem}.tt-form__item-delete{color:var(--color-muted);padding:.375rem;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast);margin-top:.125rem}.tt-form__item-delete:hover{color:var(--color-danger);background:var(--color-danger-light, #fef2f2)}.tt-form__error{font-size:.875rem;color:var(--color-danger);background:var(--color-danger-light, #fef2f2);border:1px solid rgb(239 68 68 / .25);border-radius:var(--radius-md);padding:.5rem .875rem;margin:0}.preset-form__submit--danger{background:var(--color-danger)!important}@media(max-width:640px){.tt-form__item-row{flex-wrap:wrap}.tt-form__select--sm{min-width:0;flex:1}.tt-card__actions{gap:.25rem}}.smtp-form{display:flex;flex-direction:column;gap:2rem}.smtp-form__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.smtp-form__section-title{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin:0 0 .25rem}.smtp-form__grid{display:flex;flex-wrap:wrap;gap:1rem}.smtp-form__field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.smtp-form__field--grow{flex:1 1 200px}.smtp-form__field--port{flex:0 0 90px}.smtp-form__field--enc{flex:0 0 130px}.smtp-form__field label{font-size:.8125rem;font-weight:600;color:var(--color-text)}.smtp-form__field input,.smtp-form__field select{padding:.5625rem .75rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.smtp-form__field input:focus,.smtp-form__field select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #4f46e51a}.smtp-form__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.smtp-form__test-btn{display:flex;align-items:center;gap:.4rem;padding:.5625rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.smtp-form__test-btn:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.smtp-form__test-btn:disabled{opacity:.55;cursor:not-allowed}.smtp-form__test-feedback{font-size:.875rem;font-weight:500}.smtp-form__test-feedback--ok{color:var(--color-success)}.smtp-form__test-feedback--err{color:var(--color-danger)}.smtp-form__save-btn{display:flex;align-items:center;gap:.4rem;margin-left:auto;padding:.5625rem 1.25rem;background:var(--color-brand-gradient, var(--color-brand));color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-brand);transition:filter var(--transition)}.smtp-form__save-btn:hover:not(:disabled){filter:brightness(1.06)}.smtp-form__save-btn:disabled{opacity:.55;cursor:not-allowed}.users-row{display:flex;align-items:center;gap:.875rem}.users-row__avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0}.users-row__you{display:inline-block;margin-left:.5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-brand);background:var(--color-brand-light, #eef2ff);padding:.1em .5em;border-radius:999px;vertical-align:middle}[data-theme=dark] .users-row__you{background:#4f46e52e}.users-form{display:flex;flex-direction:column;gap:.75rem}.users-form__row{display:flex;flex-direction:column;gap:.375rem}.users-form__row label{font-size:.8125rem;font-weight:600;color:var(--color-text)}.users-error{margin:0;font-size:.875rem;color:var(--color-danger);background:var(--color-danger-light, #fef2f2);border:1px solid rgb(239 68 68 / .25);border-radius:var(--radius-md);padding:.5rem .875rem}.notif-prefs__table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.notif-prefs__header,.notif-prefs__row{display:grid;grid-template-columns:1fr 140px 140px;align-items:center}.notif-prefs__header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:.625rem 1.25rem}.notif-prefs__row{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);transition:background var(--transition)}.notif-prefs__row:last-child{border-bottom:none}.notif-prefs__row:hover{background:var(--color-bg)}.notif-prefs__col-type{display:flex;flex-direction:column;gap:.2rem;padding-right:1rem}.notif-prefs__col-channel{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--color-muted)}.notif-prefs__header .notif-prefs__col-channel{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.notif-prefs__type-label{font-size:.9375rem;font-weight:600;color:var(--color-text)}.notif-prefs__type-desc{font-size:.8125rem;color:var(--color-muted)}.notif-prefs__na{color:var(--color-border);font-size:1rem}.notif-prefs__actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.notif-toggle{position:relative;width:2.5rem;height:1.375rem;border-radius:999px;border:none;cursor:pointer;background:var(--color-border);transition:background var(--transition);flex-shrink:0}.notif-toggle:after{content:"";position:absolute;top:3px;left:3px;width:1rem;height:1rem;border-radius:50%;background:#fff;transition:transform var(--transition);box-shadow:0 1px 3px #0003}.notif-toggle--on{background:var(--color-brand)}.notif-toggle--on:after{transform:translate(1.125rem)}@media(max-width:600px){.notif-prefs__header,.notif-prefs__row{grid-template-columns:1fr 100px 100px}}.client-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#f0f4ff 40%,#e8edfe);padding:1.5rem}[data-theme=dark] .client-login{background:linear-gradient(135deg,#0f1117,#131827,#0f1117)}.client-login__card{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);padding:2.75rem 2.5rem;width:100%;max-width:400px;display:flex;flex-direction:column;gap:2rem}.client-login__logo{display:flex;flex-direction:column;align-items:center;gap:.375rem}.client-login__logo-img{height:2.5rem;width:auto;max-width:200px;object-fit:contain}.client-login__tagline{font-size:.75rem;color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.client-login__form{display:flex;flex-direction:column;gap:1.125rem}.client-login__field{display:flex;flex-direction:column;gap:.4375rem}.client-login__field label{font-size:.8125rem;font-weight:600;color:var(--color-text);letter-spacing:-.005em}.client-login__field input{padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.client-login__field input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #4f46e51f}.client-login__error{margin:0;font-size:.875rem;color:var(--color-danger);background:var(--color-danger-light, #fef2f2);border:1px solid rgb(239 68 68 / .25);border-radius:var(--radius-md);padding:.5625rem .875rem;font-weight:500}.client-login__btn{padding:.6875rem;background:var(--color-brand-gradient, var(--color-brand));color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:filter var(--transition),box-shadow var(--transition);margin-top:.375rem;box-shadow:var(--shadow-brand);letter-spacing:-.005em}.client-login__btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 4px 12px #4f46e566}.client-login__btn:disabled{opacity:.55;cursor:not-allowed}.client-login__help{margin:0;text-align:center;font-size:.8125rem;color:var(--color-muted)}.client-login__admin-link{display:block;text-align:center;font-size:.6875rem;color:var(--color-muted);text-decoration:none;opacity:.45;letter-spacing:.02em;transition:opacity .2s}.client-login__admin-link:hover{opacity:.8;text-decoration:underline}.ca-tab{display:flex;flex-direction:column;gap:1.25rem}.ca-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:600px){.ca-stats{grid-template-columns:repeat(2,1fr)}}.ca-stat-card{background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:10px;padding:1.125rem 1rem;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-xs);transition:transform var(--transition),box-shadow var(--transition)}.ca-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.ca-stat-card__icon{font-size:1.375rem;color:var(--neutral-400);margin-bottom:.25rem;display:flex;justify-content:center}.ca-stat-card__value{font-size:1.75rem;font-weight:800;color:var(--neutral-800);display:flex;align-items:baseline;justify-content:center;gap:.25rem;line-height:1.1}.ca-stat-card__sub{font-size:.875rem;font-weight:500;color:var(--neutral-400)}.ca-stat-card__label{font-size:.75rem;color:var(--neutral-500);margin-top:.25rem;font-weight:500}.ca-card{background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:10px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.ca-card__title{margin:0;font-size:1rem;font-weight:700;color:var(--neutral-800);display:flex;align-items:center;gap:.4rem}.ca-card__title-icon{font-size:1.125rem;color:var(--brand-500, #6366f1);flex-shrink:0}.ca-card__title-icon--orange{color:#f97316}.ca-progress-label{margin:0;font-size:.9375rem;color:var(--neutral-600);display:flex;align-items:center;gap:.5rem}.ca-progress-pct{font-weight:700;font-size:1.0625rem;margin-left:auto}.ca-progress-track{height:8px;background:var(--neutral-100);border-radius:4px;overflow:hidden}.ca-progress-fill{height:100%;border-radius:4px;transition:width .6s ease}.ca-task-pills{display:flex;gap:.5rem;flex-wrap:wrap}.ca-pill{display:inline-block;padding:.2rem .625rem;border-radius:12px;font-size:.8125rem;font-weight:600}.ca-pill--todo{background:var(--neutral-100);color:var(--neutral-600)}.ca-pill--progress{background:#fef3c7;color:#92400e}.ca-pill--done{background:#dcfce7;color:#166534}.ca-card--checklist{border-color:#fed7aa;background:#fff3e8}.ca-card--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.ca-card--clickable:hover{border-color:#f97316;box-shadow:0 4px 12px #f9731626;transform:translateY(-1px)}.ca-card--clickable:focus-visible{outline:2px solid #f97316;outline-offset:2px}[data-theme=dark] .ca-card--checklist{background:#fb923c0f;border-color:#fb923c40}.ca-cl-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ca-cl-badge{font-size:.75rem;font-weight:700;padding:.2rem .625rem;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;white-space:nowrap;flex-shrink:0}.ca-cl-badge--done{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.ca-cl-all-done{margin:0;font-size:.9375rem;color:#16a34a;font-weight:500}.ca-cl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem}.ca-cl-item{display:flex;align-items:flex-start;gap:.75rem;background:var(--color-surface);border:1px solid #fed7aa;border-left:3px solid #f97316;border-radius:8px;padding:.75rem 1rem}.ca-cl-item__dot{width:8px;height:8px;border-radius:50%;background:#f97316;flex-shrink:0;margin-top:.45rem}.ca-cl-item__body{display:flex;flex-direction:column;gap:.3rem;min-width:0}.ca-cl-item__title{font-size:.9375rem;font-weight:600;color:var(--neutral-800);line-height:1.3}.ca-cl-item__desc{font-size:.875rem;color:var(--neutral-600);line-height:1.5}.ca-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:768px){.ca-info-grid{grid-template-columns:repeat(2,1fr)}}.ca-info-item{background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-left:3px solid var(--color-border);border-radius:8px;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-xs)}.ca-info-label{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--neutral-400);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ca-info-icon{font-size:.875rem;flex-shrink:0}.ca-info-item strong{font-size:1rem;font-weight:700;color:var(--neutral-800)}.cc-tab{display:flex;flex-direction:column;gap:1rem}.cc-loading,.cc-empty{text-align:center;padding:2rem;color:var(--neutral-400)}.cc-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.cc-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--neutral-800)}.cc-count{font-size:.875rem;color:var(--neutral-500);font-weight:600}.cc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cc-item{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.125rem;background:var(--color-surface);border:1.5px solid var(--neutral-150, #eee);border-radius:10px;transition:border-color .15s,background .15s}.cc-item--done{background:#f0fdf4;border-color:#bbf7d0}.cc-item--done:hover{border-color:#86efac}.cc-check-icon{font-size:1.5rem;color:var(--neutral-300);flex-shrink:0}.cc-check-icon--done{color:#16a34a}.cc-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.cc-item__title{font-size:.9375rem;font-weight:500;color:var(--neutral-700)}.cc-item--done .cc-item__title{color:var(--neutral-500)}.cc-item__description{margin:0;font-size:.875rem;color:var(--neutral-500);line-height:1.5}.cc-item__meta{font-size:.8125rem;color:#16a34a}.cc-item__input-area{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.cc-item__textarea{width:100%;padding:.625rem .75rem;border:1.5px solid var(--neutral-200, #e5e7eb);border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;background:var(--color-bg);color:var(--color-text);transition:border-color .15s;box-sizing:border-box}.cc-item__textarea:focus{outline:none;border-color:var(--color-brand)}.cc-item__textarea:disabled{opacity:.6}.cc-item__validate-btn{align-self:flex-end;padding:.45rem 1.25rem;background:var(--color-brand-gradient, #4f46e5);color:#fff;border:none;border-radius:7px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.cc-item__validate-btn:disabled{opacity:.4;cursor:not-allowed}.cc-item__response-done{display:flex;flex-direction:column;gap:.25rem;margin-top:.4rem}.cc-item__response-label{font-size:.75rem;font-weight:600;color:#16a34a;text-transform:uppercase;letter-spacing:.04em}.cc-item__response-text{margin:0;font-size:.875rem;color:var(--neutral-600, #4b5563);white-space:pre-wrap;line-height:1.5}.cc-item__undo-btn{flex-shrink:0;margin-top:.125rem;background:none;border:1px solid var(--neutral-200, #e5e7eb);border-radius:6px;padding:.3rem .4rem;color:var(--neutral-400);cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center}.cc-item__undo-btn:hover{color:var(--color-brand);border-color:var(--color-brand)}.cc-item__undo-btn:disabled{opacity:.4;cursor:not-allowed}.ct-tab{display:flex;flex-direction:column;gap:1.25rem}.ct-loading{text-align:center;padding:2rem;color:var(--neutral-400)}.ct-intro{margin:0;font-size:.875rem;color:var(--neutral-500)}.ct-group{border-radius:10px;overflow:hidden;border:1.5px solid var(--neutral-150, #eee)}.ct-group__header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;font-size:.8125rem;font-weight:700}.ct-group--todo .ct-group__header{background:var(--neutral-100);color:var(--neutral-600)}.ct-group--progress .ct-group__header{background:#fef3c7;color:#92400e}.ct-group--done .ct-group__header{background:#dcfce7;color:#166534}.ct-group__count{font-weight:800}.ct-list{list-style:none;margin:0;padding:0;background:var(--color-surface)}.ct-task{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--neutral-100)}.ct-task__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.ct-task__title{font-size:.9375rem;font-weight:500;color:var(--neutral-700)}.ct-task__type{font-size:.75rem;color:var(--neutral-400)}.ct-task__right{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.ct-task__deadline{font-size:.8125rem;color:var(--neutral-400);white-space:nowrap}.ct-task__comments-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--neutral-500);background:var(--neutral-100);border:none;border-radius:999px;padding:.2rem .6rem;cursor:pointer;transition:background .15s,color .15s}.ct-task__comments-toggle:hover{background:var(--neutral-200);color:var(--neutral-700)}.ct-comments{width:100%;list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ct-comment{background:var(--neutral-50, #f9fafb);border-radius:8px;padding:.5rem .75rem;border:1px solid var(--neutral-150, #eee)}.ct-comment__author{font-size:.8125rem;font-weight:600;color:var(--neutral-700);margin-right:.375rem}.ct-comment__date{font-size:.75rem;color:var(--neutral-400)}.ct-comment__content{margin:.25rem 0 0;font-size:.875rem;color:var(--neutral-600);white-space:pre-wrap;word-break:break-word;line-height:1.5}.cm-tab{display:flex;flex-direction:column;gap:1rem;height:65vh}.cm-messages{flex:1;overflow-y:auto;padding:.5rem 0;display:flex;flex-direction:column;gap:.75rem}.cm-loading,.cm-empty{text-align:center;padding:2rem;color:var(--neutral-400);font-size:.9375rem}.cm-bubble{max-width:75%;padding:.625rem .875rem;border-radius:12px;display:flex;flex-direction:column;gap:.2rem}.cm-bubble--team{align-self:flex-start;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:12px 12px 12px 4px}.cm-bubble--client{align-self:flex-end;background:var(--brand-600, #4f46e5);color:#fff;border-radius:12px 12px 4px}.cm-bubble__author{font-size:.75rem;font-weight:700;opacity:.7}.cm-bubble--client .cm-bubble__author{color:#fffc}.cm-bubble--team .cm-bubble__author{color:var(--neutral-500)}.cm-bubble__content{font-size:.9375rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.cm-bubble__time{font-size:.6875rem;opacity:.6;align-self:flex-end;margin-top:.1rem}.cm-compose{display:flex;gap:.5rem;align-items:flex-end}.cm-compose__input{flex:1;padding:.625rem .875rem;border:1.5px solid var(--neutral-200);border-radius:10px;font-size:.9375rem;resize:none;outline:none;transition:border-color .15s;font-family:inherit;line-height:1.5}.cm-compose__input:focus{border-color:var(--brand-400, #818cf8)}.cm-compose__send{width:2.75rem;height:2.75rem;border-radius:10px;background:var(--brand-600, #4f46e5);border:none;color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,opacity .15s}.cm-compose__send:hover:not(:disabled){background:var(--brand-700, #4338ca)}.cm-compose__send:disabled{opacity:.5;cursor:not-allowed}.cfi-tab{display:flex;flex-direction:column;gap:1.25rem}.cfi-dropzone{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;border:2px dashed var(--brand-300, #a5b4fc);border-radius:10px;background:var(--brand-50, #eef2ff);cursor:pointer;transition:border-color .15s,background .15s}.cfi-dropzone:hover{border-color:var(--brand-500, #6366f1);background:var(--brand-100, #e0e7ff)}.cfi-dropzone--uploading{border-color:var(--brand-400);opacity:.7;cursor:wait;pointer-events:none}.cfi-dropzone__icon{font-size:2rem;color:var(--brand-500, #6366f1)}.cfi-dropzone__text{font-size:.9375rem;font-weight:500;color:var(--brand-700, #4338ca);text-align:center}.cfi-upload-error{margin:0;font-size:.875rem;color:var(--color-danger, #ef4444);text-align:center}.cfi-section{display:flex;flex-direction:column;gap:.5rem}.cfi-section__title{display:flex;align-items:center;gap:.375rem;margin:0;font-size:.8125rem;font-weight:700;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em}.cfi-loading,.cfi-empty{text-align:center;padding:2rem;color:var(--neutral-400);font-size:.9375rem}.cfi-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.cfi-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .875rem;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:8px;transition:border-color .15s}.cfi-row:hover{border-color:var(--brand-200)}.cfi-row__body{flex:1;min-width:0}.cfi-row__name{display:block;font-size:.9375rem;font-weight:500;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfi-row__meta{font-size:.8125rem;color:var(--neutral-500)}.cfi-row__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;border:none;background:none;color:var(--neutral-400);font-size:1.125rem;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.cfi-row__action:hover{background:var(--brand-50);color:var(--brand-600)}.clink-tab{display:flex;flex-direction:column;gap:1rem}.clink-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--neutral-800)}.clink-loading,.clink-empty{text-align:center;padding:2rem;color:var(--neutral-400);font-size:.9375rem}.clink-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.clink-row{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:8px;transition:border-color .15s}.clink-row:hover{border-color:var(--brand-200)}.clink-row__icon{flex-shrink:0;font-size:1.25rem;color:var(--neutral-300);margin-top:.125rem}.clink-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.clink-row__top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.clink-badge{padding:.1rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.clink-badge--green{background:#dcfce7;color:#166534}.clink-badge--blue{background:#dbeafe;color:#1e40af}.clink-badge--purple{background:#ede9fe;color:#5b21b6}.clink-da{font-size:.75rem;font-weight:700;color:var(--neutral-500);background:var(--neutral-100);padding:.1rem .4rem;border-radius:4px}.clink-anchor{font-size:.8125rem;color:var(--neutral-500);font-style:italic}.clink-url{font-size:.875rem;color:var(--brand-600);text-decoration:none;display:flex;align-items:center;gap:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clink-url:hover{text-decoration:underline}.clink-url--target{font-size:.8125rem;color:var(--neutral-500)}.clink-url__icon{flex-shrink:0;font-size:.875rem}.clink-date{flex-shrink:0;font-size:.75rem;color:var(--neutral-400)}.cp-tab{display:flex;flex-direction:column;gap:1.25rem}.cp-loading,.cp-empty{text-align:center;padding:2.5rem;color:var(--neutral-400);font-size:.9375rem}.cp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:600px){.cp-summary{grid-template-columns:repeat(2,1fr)}}.cp-summary-card{background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:10px;padding:1rem;text-align:center}.cp-summary-card__value{font-size:1.5rem;font-weight:800;color:var(--neutral-800);line-height:1.2}.cp-summary-card__label{font-size:.75rem;color:var(--neutral-500);margin-top:.25rem;font-weight:500}.cp-card{background:var(--color-surface);border:1px solid var(--neutral-150, #eee);border-radius:10px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;overflow-x:auto}.cp-card__title{margin:0;font-size:1rem;font-weight:700;color:var(--neutral-800)}.cp-card__hint{margin:0;font-size:.8125rem;color:var(--neutral-400)}.cp-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:.75rem}.cp-table th{text-align:right;padding:.375rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--neutral-500);border-bottom:1px solid var(--neutral-200);white-space:nowrap}.cp-table th:first-child{text-align:left}.cp-table td{text-align:right;padding:.625rem .75rem;color:var(--neutral-700);border-bottom:1px solid var(--neutral-100);vertical-align:middle}.cp-table tr:last-child td{border-bottom:none}.cp-kw{text-align:left!important;font-weight:600;color:var(--neutral-800)!important}.cp-trend{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;font-size:.8125rem;font-weight:600;white-space:nowrap}.cp-trend--up{color:#16a34a}.cp-trend--down{color:#dc2626}.cp-trend--flat{color:var(--neutral-400)}.client-page{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.client-loading,.client-error{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-muted)}.client-progress-bar{height:3px;background:var(--color-border-subtle, var(--neutral-100))}.client-progress-bar__fill{height:100%;width:var(--pct, 0%);background:var(--color, #4f46e5);transition:width .6s ease}.client-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.5rem;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs)}[data-theme=dark] .client-header{background:#1a1f2ee6}.client-header__left{display:flex;align-items:center;gap:.875rem}.client-header__logo{height:1.5rem;width:auto;max-width:120px;object-fit:contain;margin-right:.25rem}.client-header__avatar{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--color, #4f46e5);color:#fff;font-weight:700;font-size:1rem;flex-shrink:0}.client-header__name{font-size:.9375rem;font-weight:700;color:var(--color-text);letter-spacing:-.015em}.client-header__sub{font-size:.75rem;color:var(--color-muted);font-weight:500}.client-header__right{display:flex;align-items:center;gap:1rem}.client-header__deadline{font-size:.8125rem;color:var(--color-muted);font-weight:500}.client-header__deadline em{font-style:normal;color:var(--color-muted);opacity:.7}.client-header__logout{padding:.3125rem .75rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:.8125rem;color:var(--color-muted);font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.client-header__logout:hover{background:var(--color-subtle);color:var(--color-text);border-color:var(--color-text)}.client-tabs{display:flex;gap:0;padding:0 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none;position:sticky;top:3.375rem;z-index:10;box-shadow:var(--shadow-xs)}.client-tabs::-webkit-scrollbar{display:none}.client-tab{display:flex;align-items:center;gap:.375rem;padding:.875rem 1rem;border:none;border-bottom:2px solid transparent;background:none;font-size:.875rem;font-weight:500;color:var(--color-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast);margin-bottom:-1px}.client-tab:hover{color:var(--color-text)}.client-tab--active{color:var(--color, #4f46e5);border-bottom-color:var(--color, #4f46e5)}.client-tab__icon{font-size:1rem;flex-shrink:0}.client-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;border-radius:9999px;background:var(--color-danger);color:#fff;font-size:.6875rem;font-weight:700}.client-tab-badge--warn{background:var(--color-warning)}.client-progress-banner{background:var(--color, #4f46e5);padding:.875rem 1.5rem 1rem}.client-progress-banner__inner{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:.375rem}.client-progress-banner__top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.client-progress-banner__title{display:flex;align-items:center;gap:.4rem;font-size:.9375rem;font-weight:700;color:#fff}.client-progress-banner__icon{font-size:1.125rem;opacity:.9;flex-shrink:0}.client-progress-banner__right{display:flex;align-items:center;gap:.625rem}.client-progress-banner__pct{font-size:1.125rem;font-weight:800;color:#fff}.client-progress-banner__badge{font-size:.75rem;font-weight:700;color:#fff;background:#fff3;border-radius:999px;padding:.2rem .625rem;white-space:nowrap}.client-progress-banner__sub{display:flex;align-items:center;gap:1.5rem;font-size:.8125rem;color:#ffffffbf;font-weight:500}.client-progress-banner__bar{margin-top:.25rem;height:5px;background:#ffffff40;border-radius:4px;overflow:hidden}.client-progress-banner__bar-fill{height:100%;background:#ffffffd9;border-radius:4px;transition:width .6s ease}.client-body{flex:1;padding:1.5rem;max-width:900px;width:100%;margin:0 auto}@media(max-width:600px){.client-body{padding:1rem}.client-header{padding:.75rem 1rem}.client-tabs{padding:0 .5rem;top:auto}.client-progress-banner{padding:.75rem 1rem .875rem}.client-progress-banner__sub{gap:.875rem}}
