@charset "UTF-8";.bjp-root{position:fixed;bottom:24px;right:24px;z-index:8000;display:flex;flex-direction:column;align-items:flex-end;gap:0;pointer-events:none}.bjp-root>*{pointer-events:all}.bjp-pill{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--color-surface-2, #161b2a);border:1px solid rgba(124,110,245,.35);border-radius:999px;color:var(--color-text, #e2e8f0);font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 4px 24px #00000080,0 0 20px #7c6ef526;transition:box-shadow .2s,background .2s,border-color .2s;justify-content:space-between;min-width:220px;-webkit-user-select:none;user-select:none}.bjp-pill:hover{background:var(--color-surface-hover, #1c2236);border-color:#7c6ef599;box-shadow:0 6px 32px #0009,0 0 30px #7c6ef540}.bjp-root--open .bjp-pill{border-radius:0 0 14px 14px;border-top-color:#ffffff0f}.bjp-pill-left{display:flex;align-items:center;gap:10px}.bjp-pill-right{display:flex;align-items:center;gap:8px;color:var(--color-text-muted, #6b7280)}.bjp-pill-sparkle{color:#22c55e}.bjp-pill-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bjp-mini-bar{width:60px;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.bjp-mini-fill{height:100%;background:linear-gradient(90deg,#7c6ef5,#a78df8);transition:width .5s ease}.bjp-ai-pulse{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bjp-ai-pulse-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(124,110,245,.7);animation:bjp-pulse-ring 2s ease-out infinite}.bjp-ai-pulse-ring--1{width:100%;height:100%;animation-delay:0s}.bjp-ai-pulse-ring--2{width:140%;height:140%;top:-20%;left:-20%;animation-delay:.7s;opacity:.5}.bjp-ai-pulse-icon{color:#a78df8;position:relative;z-index:1}@keyframes bjp-pulse-ring{0%{transform:scale(.7);opacity:.9}70%{transform:scale(1.3);opacity:0}to{transform:scale(1.3);opacity:0}}.bjp-ai-orb{position:relative;width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.bjp-orb-ring{position:absolute;border-radius:50%;border:1px solid rgba(124,110,245,.45);animation:bjp-orb-spin 4s linear infinite}.bjp-orb-ring--1{width:100%;height:100%;animation-duration:4s}.bjp-orb-ring--2{width:80%;height:80%;animation-duration:2.5s;animation-direction:reverse;border-color:#a78df866}.bjp-orb-ring--3{width:60%;height:60%;animation-duration:6s;border-color:#22c55e59}@keyframes bjp-orb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bjp-orb-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#7c6ef5;box-shadow:0 0 6px #7c6ef5;animation:bjp-orb-orbit 3s linear infinite}.bjp-orb-dot--1{animation-delay:0s;background:#a78df8}.bjp-orb-dot--2{animation-delay:.75s;background:#22c55e}.bjp-orb-dot--3{animation-delay:1.5s;background:#38bdf8}.bjp-orb-dot--4{animation-delay:2.25s;background:#f59e0b}@keyframes bjp-orb-orbit{0%{transform:rotate(0) translate(20px) rotate(0)}to{transform:rotate(360deg) translate(20px) rotate(-360deg)}}.bjp-orb-icon{color:#a78df8;position:relative;z-index:2;filter:drop-shadow(0 0 4px rgba(124,110,245,.8))}.bjp-panel{width:50vw;max-width:900px;min-width:560px;height:calc(66.7vh - 60px);max-height:700px;background:var(--color-surface-2, #161b2a);border:1px solid rgba(124,110,245,.25);border-bottom:none;border-radius:16px 16px 0 0;box-shadow:0 -8px 48px #0000008c,0 0 0 1px #7c6ef51a;display:flex;flex-direction:column;overflow:hidden;animation:bjp-panel-up .3s cubic-bezier(.16,1,.3,1)}@keyframes bjp-panel-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.bjp-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid rgba(255,255,255,.06);background:#7c6ef50a;gap:12px;flex-shrink:0}.bjp-panel-head-left{display:flex;align-items:center;gap:14px}.bjp-panel-head-actions{display:flex;align-items:center;gap:6px}.bjp-panel-title{font-size:14px;font-weight:700;color:var(--color-text, #e2e8f0);letter-spacing:-.01em}.bjp-panel-sub{font-size:11px;color:var(--color-text-muted, #6b7280);display:block;margin-top:2px}.bjp-progress-track{height:3px;background:#ffffff0f;position:relative;flex-shrink:0}.bjp-progress-fill{height:100%;background:linear-gradient(90deg,#7c6ef5,#a78df8,#22c55e);transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.bjp-progress-glow{position:absolute;right:0;top:-2px;width:40px;height:7px;background:radial-gradient(ellipse at right,rgba(167,141,248,.9),transparent);animation:bjp-glow-slide 1.5s ease-in-out infinite}@keyframes bjp-glow-slide{0%,to{opacity:.5}50%{opacity:1}}.bjp-progress-label{position:absolute;right:6px;top:4px;font-size:10px;font-weight:700;color:#a78df8;letter-spacing:.03em}.bjp-body{display:grid;grid-template-columns:220px 1fr;flex:1;overflow:hidden}.bjp-list-col{border-right:1px solid rgba(255,255,255,.06);overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:2px}.bjp-list-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted, #6b7280);padding:4px 12px 6px}.bjp-list-item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;background:none;border:none;width:100%;text-align:left;color:var(--color-text-muted, #9ca3af);font-size:12px;transition:background .15s,color .15s;border-left:2px solid transparent}.bjp-list-item:hover{background:#ffffff0a;color:var(--color-text, #e2e8f0)}.bjp-list-item--active{background:#7c6ef51a;border-left-color:#7c6ef5;color:var(--color-text, #e2e8f0)}.bjp-list-item--ok .bjp-list-icon{color:#4ade80}.bjp-list-item--warn .bjp-list-icon{color:#f59e0b}.bjp-list-icon{flex-shrink:0;display:flex;align-items:center}.bjp-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.bjp-list-amount{font-size:10px;font-weight:700;color:#c4b5fd;white-space:nowrap}.bjp-detail-col{overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.bjp-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-text-muted, #6b7280);font-size:13px;padding:40px;text-align:center}.bjp-detail-empty-icon{color:#7c6ef54d}.bjp-detail-content{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.bjp-detail-filename{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--color-text, #e2e8f0);padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.bjp-detail-filename>span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bjp-section-label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted, #6b7280);margin-bottom:8px}.bjp-extract-section{display:flex;flex-direction:column}.bjp-extract-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.bjp-extract-card{padding:10px 12px;border-radius:10px;display:flex;flex-direction:column;gap:3px;border:1px solid transparent}.bjp-extract-card--amount{background:#7c6ef51a;border-color:#7c6ef533}.bjp-extract-card--date{background:#3b82f61a;border-color:#3b82f633}.bjp-extract-card--seller{background:#10b9811a;border-color:#10b98133}.bjp-extract-card--ref{background:#f59e0b1a;border-color:#f59e0b33}.bjp-extract-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #9ca3af)}.bjp-extract-value{font-size:14px;font-weight:700;color:var(--color-text, #e2e8f0)}.bjp-extract-card--amount .bjp-extract-value{color:#c4b5fd}.bjp-extract-card--date .bjp-extract-value{color:#93c5fd}.bjp-extract-card--seller .bjp-extract-value{color:#6ee7b7}.bjp-extract-card--ref .bjp-extract-value{color:#fcd34d}.bjp-processing-state{display:flex;align-items:center;gap:12px;padding:14px;background:#7c6ef50f;border-radius:10px;border:1px solid rgba(124,110,245,.15);font-size:13px;color:#a78df8}.bjp-ai-dots{display:flex;gap:5px}.bjp-ai-dots span{width:7px;height:7px;border-radius:50%;background:#7c6ef5;animation:bjp-dot-bounce 1.2s ease-in-out infinite}.bjp-ai-dots span:nth-child(2){animation-delay:.2s;background:#a78df8}.bjp-ai-dots span:nth-child(3){animation-delay:.4s;background:#c4b5fd}@keyframes bjp-dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.2);opacity:1}}.bjp-match-section{display:flex;flex-direction:column}.bjp-match-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid rgba(34,197,94,.25);background:#22c55e12;margin-bottom:12px}.bjp-match-card--ok .bjp-match-icon{color:#4ade80;flex-shrink:0}.bjp-match-card-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.bjp-match-desc{font-size:13px;font-weight:600;color:var(--color-text, #e2e8f0)}.bjp-match-meta{font-size:12px;color:var(--color-text-muted, #9ca3af);margin-top:2px}.bjp-confidence{font-size:18px;font-weight:800;color:#4ade80;flex-shrink:0}.bjp-candidates-section{display:flex;flex-direction:column;gap:6px}.bjp-candidate{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);gap:10px;transition:background .15s,border-color .15s}.bjp-candidate:hover{background:#7c6ef512;border-color:#7c6ef533}.bjp-candidate--linked{background:#22c55e12;border-color:#22c55e40}.bjp-candidate-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bjp-candidate-desc{font-size:12px;font-weight:600;color:var(--color-text, #e2e8f0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bjp-candidate-meta{font-size:11px;color:var(--color-text-muted, #9ca3af)}.bjp-link-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:var(--color-accent, #7c6ef5);border:none;border-radius:6px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;transition:opacity .15s,transform .15s;white-space:nowrap}.bjp-link-btn:hover{opacity:.88;transform:scale(1.03)}.bjp-link-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.bjp-linked-badge{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#4ade80;flex-shrink:0}.bjp-validate-all-bar{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);position:sticky;bottom:0;background:inherit}.bjp-validate-all-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #22c55e59;transition:background .2s,transform .15s,box-shadow .2s}.bjp-validate-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e73}.bjp-validate-all-btn:active:not(:disabled){transform:translateY(0)}.bjp-validate-all-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bjp-unlink-bar{margin-top:8px}.bjp-unlink-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ef444426;border:1px solid rgba(239,68,68,.35);border-radius:6px;color:#f87171;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .2s}.bjp-unlink-btn:hover:not(:disabled){opacity:.9}.bjp-unlink-btn:disabled{opacity:.5;cursor:not-allowed}.bjp-no-match{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#6b728012;border-radius:10px;border:1px solid rgba(107,114,128,.15);color:var(--color-text-muted, #9ca3af)}.bjp-no-match-title{font-size:13px;font-weight:600;color:var(--color-text, #e2e8f0);margin-bottom:3px}.bjp-no-match-sub{font-size:11px;line-height:1.5}.bjp-error-state{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#ef444414;border-radius:10px;border:1px solid rgba(239,68,68,.2);color:#f87171;font-size:12px}.bjp-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px}.bjp-badge--queued{background:#6b728026;color:#9ca3af}.bjp-badge--processing{background:#7c6ef533;color:#a78df8}.bjp-badge--done{background:#22c55e26;color:#4ade80}.bjp-badge--error{background:#ef444426;color:#f87171}.bjp-score{font-weight:700}.bjp-score--hi{color:#4ade80}.bjp-score--mid{color:#f59e0b}.bjp-score--lo{color:#f87171}.bjp-btn-ghost{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-muted, #6b7280);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.bjp-btn-ghost:hover{background:#ffffff12;color:var(--color-text, #e2e8f0)}.bjp-btn-icon{background:none;border:none;cursor:pointer;color:var(--color-text-muted, #6b7280);padding:4px;border-radius:5px;display:flex;align-items:center;transition:color .15s,background .15s}.bjp-btn-icon:hover{color:var(--color-text, #e2e8f0);background:#ffffff12}.bjp-spin{animation:bjp-rotate .7s linear infinite}@keyframes bjp-rotate{to{transform:rotate(360deg)}}[data-theme=light] .bjp-pill,[data-theme=light] .bjp-panel{background:#fff;border-color:#6366f133;box-shadow:0 4px 24px #0000001a,0 0 0 1px #6366f114}[data-theme=light] .bjp-pill:hover{background:#f8f7ff}[data-theme=light] .bjp-panel-head{background:#6366f10a}[data-theme=light] .bjp-list-item:hover{background:#0000000a}[data-theme=light] .bjp-list-item--active{background:#6366f114}[data-theme=light] .bjp-candidate{background:#00000008;border-color:#00000012}[data-theme=light] .bjp-candidate:hover{background:#6366f10f}[data-theme=light] .bjp-extract-card--amount{background:#6366f112}[data-theme=light] .bjp-extract-card--date{background:#3b82f612}[data-theme=light] .bjp-extract-card--seller{background:#10b98112}[data-theme=light] .bjp-extract-card--ref{background:#f59e0b12}[data-theme=light] .bjp-extract-value{color:#1e2231}[data-theme=light] .bjp-extract-card--amount .bjp-extract-value{color:#6d28d9}[data-theme=light] .bjp-extract-card--date .bjp-extract-value{color:#1d4ed8}[data-theme=light] .bjp-extract-card--seller .bjp-extract-value{color:#065f46}[data-theme=light] .bjp-extract-card--ref .bjp-extract-value{color:#92400e}[data-theme=light] .bjp-pill-text,[data-theme=light] .bjp-list-name,[data-theme=light] .bjp-candidate-desc{color:#1e2231}[data-theme=light] .bjp-processing-state{background:#6366f10f}[data-theme=light] .bjp-ai-dots span{background:#6d28d9}[data-theme=light] .bjp-ai-dots span:nth-child(2){background:#7c3aed}[data-theme=light] .bjp-ai-dots span:nth-child(3){background:#8b5cf6}.login-page{min-height:100vh;display:flex;background:var(--gray-50);font-family:var(--font-sans)}.login-container{display:flex;width:100%;min-height:100vh}.login-branding{flex:1;background:linear-gradient(135deg,#4f46e5,#7c3aed,#9333ea);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.branding-content{position:relative;z-index:2;max-width:480px;color:#fff}.logo{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.logo-icon{width:40px;height:40px;stroke-width:2}.logo-text{font-size:2rem;font-weight:700;letter-spacing:-.5px}.branding-title{font-size:3rem;font-weight:700;line-height:1.1;margin-bottom:1rem;background:linear-gradient(to right,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.branding-subtitle{font-size:1.25rem;color:#fffc;line-height:1.6;margin-bottom:3rem}.branding-features{display:flex;flex-direction:column;gap:1rem}.feature{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:#ffffffe6}.feature-dot{width:8px;height:8px;background:#a5b4fc;border-radius:50%;flex-shrink:0}.branding-decoration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.decoration-circle{position:absolute;border-radius:50%;background:#ffffff08}.circle-1{width:600px;height:600px;top:-200px;right:-200px}.circle-2{width:400px;height:400px;bottom:-100px;left:-100px}.circle-3{width:200px;height:200px;top:50%;right:10%;background:#ffffff0d}.login-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.form-container{width:100%;max-width:420px;background:#fff;border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md)}.form-header{margin-bottom:2rem}.form-title{font-size:1.75rem;font-weight:700;color:var(--gray-800);margin-bottom:.5rem}.form-subtitle{font-size:.95rem;color:var(--gray-500)}.error-alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:var(--danger-light);border:1px solid var(--danger);border-radius:var(--radius);margin-bottom:1.5rem}.error-icon{color:var(--danger);font-size:1rem;flex-shrink:0}.error-message{font-size:var(--text-sm);color:var(--danger-dark)}.info-alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius);margin-bottom:1.5rem}.info-icon{color:#b45309;flex-shrink:0}.info-message{font-size:var(--text-sm);color:#92400e}.alert-content{display:flex;flex-direction:column;gap:.5rem;flex:1}.resend-confirmation-btn{align-self:flex-start;font-size:var(--text-sm);font-weight:var(--font-medium);color:#b45309;background:none;border:none;cursor:pointer;padding:.25rem 0;text-decoration:underline;transition:color .2s}.resend-confirmation-btn:hover:not(:disabled){color:#92400e}.resend-confirmation-btn:disabled{opacity:.7;cursor:not-allowed}.login-external{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.login-external-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:500;border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;color:var(--gray-700);cursor:pointer;transition:all .2s ease}.login-external-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.login-external-btn:disabled{opacity:.6;cursor:not-allowed}.login-external-icon{width:20px;height:20px}.login-google{border-color:#dadce0}.login-google:hover:not(:disabled){background:#f8f9fa;border-color:#dadce0}.login-microsoft{border-color:#e6e6e6}.login-microsoft:hover:not(:disabled){background:#f5f5f5;border-color:#d4d4d4}.login-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0;color:var(--gray-400);font-size:var(--text-sm)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.login-divider span{flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;z-index:1;color:var(--gray-400);pointer-events:none;flex-shrink:0}.login-page .input-wrapper .form-input{box-sizing:border-box;width:100%;min-height:2.75rem;padding:.75rem 1rem .75rem 2.85rem;font-size:.95rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);color:var(--gray-800);transition:all .2s ease}.login-page .input-wrapper:has(.password-toggle) .form-input{padding-right:3rem}.login-page .input-wrapper .form-input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #4f46e51a}.login-page .input-wrapper .form-input::placeholder{color:var(--gray-400)}.login-page .input-wrapper .form-input:disabled{opacity:.6;cursor:not-allowed}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--gray-500)}.form-options{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem}.remember-me{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--gray-600);cursor:pointer}.checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.forgot-password{font-size:var(--text-sm);color:var(--accent);text-decoration:none;font-weight:var(--font-medium);transition:color .2s}.forgot-password:hover{color:var(--accent-dark);text-decoration:underline}.submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;margin-top:.5rem;font-size:1rem;font-weight:var(--font-semibold);color:#fff;background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #4f46e533}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 8px -1px #4f46e54d}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.button-icon{transition:transform .2s}.submit-button:hover .button-icon{transform:translate(3px)}.loading-spinner{display:flex;align-items:center;gap:.75rem}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite}.form-footer{margin-top:1.75rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.form-footer p{font-size:var(--text-sm);color:var(--gray-500)}.signup-link{color:var(--accent);font-weight:var(--font-medium);text-decoration:none;transition:color .2s}.signup-link:hover{color:var(--accent-dark);text-decoration:underline}@media(max-width:1024px){.login-branding{display:none}.login-form-section{flex:none;width:100%}.form-container{box-shadow:none;border-radius:0;padding:1.5rem}}@media(max-width:480px){.login-page{background:#fff}.form-container{padding:1rem}.form-title{font-size:1.5rem}.form-options{flex-direction:column;gap:1rem;align-items:flex-start}}.auth-page{min-height:100vh;display:flex;background:var(--gray-50);font-family:var(--font-sans)}.auth-container{display:flex;width:100%;min-height:100vh}.auth-container.auth-narrow{justify-content:center;align-items:center;padding:2rem}.auth-branding{flex:1;background:linear-gradient(135deg,#4f46e5,#7c3aed,#9333ea);display:flex;align-items:center;justify-content:center;padding:3rem}.auth-branding-content{max-width:420px;color:#fff}.auth-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.auth-logo-icon{width:40px;height:40px}.auth-logo-text{font-size:2rem;font-weight:700}.auth-branding-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.auth-branding-subtitle{font-size:1rem;color:#ffffffe6}.auth-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-form-container{width:100%;max-width:420px;background:#fff;border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md)}.auth-form-title{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form-label{font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:1rem;z-index:1;color:var(--gray-400);pointer-events:none}.auth-page .auth-input-wrapper .auth-form-input{box-sizing:border-box;width:100%;min-height:2.75rem;padding:.75rem 1rem .75rem 2.85rem;font-size:.95rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);color:var(--gray-800)}.auth-page .auth-input-wrapper:has(.auth-password-toggle) .auth-form-input{padding-right:3rem}.auth-page .auth-input-wrapper .auth-form-input:focus{outline:none;border-color:var(--accent);background:#fff}.auth-password-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem}.auth-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .2s}.auth-submit-button:hover:not(:disabled){opacity:.95}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:1.5rem;font-size:var(--text-sm);color:var(--gray-600);text-align:center}.auth-link{color:var(--accent);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-card{background:#fff;border-radius:var(--radius-lg);padding:2.5rem;max-width:440px;box-shadow:var(--shadow-md)}.auth-title{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin-bottom:1rem}.auth-message{font-size:.95rem;color:var(--gray-600);line-height:1.6;margin-bottom:1.5rem}.auth-link-button{display:inline-block;padding:.75rem 1.5rem;font-weight:500;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:var(--radius);text-decoration:none;transition:opacity .2s}.auth-link-button:hover{opacity:.95}.auth-confirm-icon{color:#10b981;margin-bottom:1rem}.auth-message-sm{font-size:.875rem;margin-bottom:.5rem}.auth-form-hint{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:.5rem}.auth-form-requirements{margin:0 0 1rem 1.25rem;padding:0;font-size:var(--text-sm);color:var(--gray-600);line-height:1.6}.auth-form-requirements li{margin-bottom:.25rem}.auth-form-field-errors{margin:.35rem 0 0;padding:0 0 0 1rem;font-size:var(--text-sm);color:#dc2626;line-height:1.4;list-style:disc}.auth-form-field-errors li{margin-bottom:.15rem}.auth-form-input-error{border-color:#dc2626!important}.confirm-email-change-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--gray-50)}.confirm-email-change-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:2.5rem;max-width:420px;width:100%;text-align:center}.confirm-email-change-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.confirm-email-change-loading .spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.confirm-email-change-icon{margin-bottom:1rem}.confirm-email-change-icon.success{color:var(--success)}.confirm-email-change-icon.error{color:var(--danger)}.confirm-email-change-card h1{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem}.confirm-email-change-card p{font-size:.9375rem;color:var(--gray-600);margin:0 0 1.5rem;line-height:1.5}.confirm-email-change-btn{display:inline-block;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s}.confirm-email-change-btn:hover{background:var(--primary-hover)}.onboarding-page{flex-direction:column}.onboarding-page .auth-container{flex:1}.onboarding-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 2px #0000000a}.onboarding-header-brand{display:flex;align-items:center;gap:.5rem}.onboarding-header-logo{color:var(--accent)}.onboarding-header-title{font-size:1.25rem;font-weight:700;color:var(--gray-800)}.onboarding-header-user{display:flex;align-items:center;gap:1rem}.onboarding-header-user-info{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);font-size:var(--text-sm)}.onboarding-header-user-info svg{color:var(--gray-400);flex-shrink:0}.onboarding-header-user-name{font-weight:var(--font-medium);color:var(--gray-800)}.onboarding-header-user-email{color:var(--gray-500);font-size:.8125rem}@media(max-width:640px){.onboarding-header-user-email{display:none}}.onboarding-header-logout{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-600);background:var(--gray-100);border:none;border-radius:var(--radius);cursor:pointer;transition:color .2s,background .2s}.onboarding-header-logout:hover{color:var(--gray-800);background:var(--gray-200)}.onboarding-header-logout svg{flex-shrink:0}.onboarding-page .onboarding-bullets{margin-top:1.5rem;font-size:.95rem;color:#ffffffe6;line-height:1.8}.onboarding-form .onboarding-required{font-size:var(--text-sm);color:var(--gray-500);margin-bottom:1.25rem}.onboarding-form-wide{max-width:520px}.onboarding-search-row{display:flex;gap:.5rem;margin-bottom:1rem}.onboarding-search-input-wrapper{position:relative;display:flex;align-items:center;flex:1}.onboarding-search-input-wrapper .auth-input-icon{position:absolute;left:1rem;color:var(--gray-400);pointer-events:none}.onboarding-search-input-wrapper .auth-form-input{padding-left:2.75rem}.onboarding-search-btn{white-space:nowrap;flex-shrink:0}.onboarding-results-wrapper{margin-bottom:1rem;display:flex;flex-direction:column;min-height:0}.onboarding-results-label{font-size:var(--text-sm);color:var(--gray-500);margin-bottom:.5rem;flex-shrink:0}.onboarding-page .onboarding-results{height:280px!important;min-height:0;overflow-y:auto!important;overflow-x:hidden;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);padding:.5rem}.onboarding-result-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;text-align:left;transition:border-color .15s,background .15s;margin-bottom:.5rem}.onboarding-result-item:hover{border-color:var(--accent);background:#fff}.onboarding-result-icon{flex-shrink:0;color:var(--accent);display:flex;align-items:center}.onboarding-result-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.onboarding-result-info strong{font-size:.95rem;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-result-siret{font-size:.8rem;color:var(--gray-500);font-family:var(--font-mono, monospace)}.onboarding-result-address{font-size:.8rem;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-result-arrow{flex-shrink:0;color:var(--gray-400)}.onboarding-result-item:hover .onboarding-result-arrow{color:var(--accent)}.onboarding-no-results{text-align:center;padding:1.5rem 1rem;background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--radius);margin-bottom:1rem}.onboarding-no-results p{font-size:.95rem;color:var(--gray-500);margin-bottom:1rem}.onboarding-manual-btn{margin:0 auto}.onboarding-manual-link{text-align:center;margin-top:.5rem}.onboarding-text-link{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:500;cursor:pointer;padding:.25rem 0}.onboarding-text-link:hover{text-decoration:underline}.onboarding-manual-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.onboarding-manual-header .auth-form-title{margin-bottom:0}.onboarding-company-form{display:flex;flex-direction:column;gap:1rem}.onboarding-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.onboarding-field{display:flex;flex-direction:column;gap:.35rem}.onboarding-field span{font-size:var(--text-sm);font-weight:500;color:var(--gray-700)}.onboarding-field em{color:#ef4444;font-style:normal}.onboarding-field input{width:100%;padding:.6rem .75rem;font-size:.9rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);color:var(--gray-800)}.onboarding-field input:focus{outline:none;border-color:var(--accent);background:#fff}.onboarding-field-full{grid-column:1 / -1}.onboarding-submit{margin-top:.5rem}.onboarding-conflict{text-align:center}.onboarding-conflict-icon{color:#f59e0b;margin-bottom:1rem}.onboarding-conflict-text{font-size:.95rem;color:var(--gray-600);line-height:1.6;margin-bottom:.75rem}.onboarding-conflict-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.onboarding-conflict-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .2s}.onboarding-conflict-btn-primary{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.onboarding-conflict-btn-primary:hover{opacity:.95}.onboarding-conflict-btn-secondary{color:var(--gray-700);background:var(--gray-100);border:1px solid var(--gray-300)}.onboarding-conflict-btn-secondary:hover{background:var(--gray-200)}.onboarding-conflict-form{text-align:left;margin-top:1rem}.onboarding-conflict-form-label{font-size:var(--text-sm);color:var(--gray-500);margin-bottom:.75rem}.onboarding-conflict-form textarea{width:100%;padding:.6rem .75rem;font-size:.9rem;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);color:var(--gray-800);resize:vertical;font-family:inherit}.onboarding-conflict-form textarea:focus{outline:none;border-color:var(--accent);background:#fff}.onboarding-conflict-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.onboarding-conflict-btn-cancel{padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;color:var(--gray-600);background:none;border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer}.onboarding-conflict-btn-cancel:hover{background:var(--gray-50)}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:transform .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--border-light);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:0}.logo-icon{color:var(--primary);flex-shrink:0}.logo-text{display:flex;align-items:baseline;gap:var(--space-1)}.logo-title{font-size:1.5rem;font-weight:700;color:var(--gray-800);letter-spacing:-.025em}.logo-subtitle{font-size:1rem;font-weight:500;color:var(--primary)}.tagline{font-size:.75rem;color:var(--gray-500);text-align:center}.collapse-btn{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--gray-500);cursor:pointer;transition:all .2s}.collapse-btn:hover{background:var(--gray-100);color:var(--gray-700)}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.nav-item-wrapper{position:relative;display:flex;align-items:center;margin-bottom:.25rem}.nav-item-wrapper .nav-item{flex:1;margin-bottom:0}.nav-create-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:6px;border:none;background:transparent;color:var(--gray-400);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .15s;z-index:2}.nav-item-wrapper:hover .nav-create-btn{opacity:1}.nav-create-btn:hover{background:var(--gray-200);color:var(--gray-700)}.nav-create-btn--locked{color:var(--gray-400, #9ca3af);opacity:.7}.nav-item-wrapper:hover .nav-create-btn--locked{opacity:1;color:#6d28d9}.nav-item-wrapper .nav-item.active~.nav-create-btn:hover{background:#00000014;color:var(--primary-dark)}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border-radius:var(--radius);color:var(--gray-600);font-size:.875rem;font-weight:500;transition:all .2s;margin-bottom:.25rem;text-decoration:none}.sidebar-nav .nav-item:hover{text-decoration:none}.nav-item:hover{background:var(--gray-100);color:var(--gray-800)}.nav-item.active{background:var(--primary-light);color:var(--primary-dark)}.nav-icon{width:36px;height:36px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-group{margin-bottom:.25rem}.nav-group-trigger{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border-radius:var(--radius);color:var(--gray-600);font-size:.875rem;font-weight:500}.nav-group-trigger .nav-label{flex:1}.nav-children{padding-left:1.5rem;margin-top:.25rem;margin-bottom:.25rem}.nav-child{padding:.5rem .875rem;font-size:.8125rem;text-decoration:none}.sidebar-nav .nav-child:hover{text-decoration:none}.nav-child-icon{flex-shrink:0;opacity:.7}.sidebar.collapsed .nav-label,.sidebar.collapsed .tagline,.sidebar.collapsed .logo-text{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:.625rem}.sidebar.collapsed .nav-create-btn{display:none}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--gray-100)}.version{font-size:.75rem;color:var(--gray-400)}.mobile-menu-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:40px;height:40px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--gray-200);align-items:center;justify-content:center;box-shadow:var(--shadow)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}@media(max-width:1024px){.desktop-only{display:none!important}}@media(max-width:768px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.open{transform:translate(0)}.sidebar.collapsed .nav-label,.sidebar.collapsed .tagline,.sidebar.collapsed .logo-text{display:block}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:.625rem .875rem}.mobile-menu-btn{display:flex}.sidebar-overlay{display:block}}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:9999;animation:command-palette-fade-in .15s ease}@keyframes command-palette-fade-in{0%{opacity:0}to{opacity:1}}.command-palette{width:100%;max-width:560px;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;animation:command-palette-slide-in .2s ease}@keyframes command-palette-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.command-palette-input-wrap{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light)}.command-palette-icon{color:var(--text-disabled);flex-shrink:0}.command-palette-input{flex:1;border:none;outline:none;font-size:var(--text-base);background:transparent}.command-palette-input::placeholder{color:var(--text-disabled)}.command-palette-kbd{font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-xs);background:var(--gray-100);color:var(--text-muted)}.command-palette-results{max-height:320px;overflow-y:auto;padding:var(--space-2) 0}.command-palette-loading,.command-palette-hint,.command-palette-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.command-palette-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-4);border:none;background:none;text-align:left;cursor:pointer;font-family:inherit;transition:background var(--transition)}.command-palette-item:hover,.command-palette-item.selected{background:var(--gray-50)}.command-palette-item-icon{color:var(--text-muted);flex-shrink:0}.command-palette-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.command-palette-item-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-item-subtitle{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-item-type{font-size:var(--text-xs);color:var(--text-disabled);flex-shrink:0}.command-palette-footer{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-light);font-size:var(--text-xs);color:var(--text-muted)}.command-palette-footer kbd{padding:2px 4px;border-radius:4px;background:var(--gray-100);font-size:10px}.header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-gutter);position:sticky;top:0;z-index:50;overflow:visible}.header-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;overflow:visible}.context-selector{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.context-selector-label{font-size:.65rem;font-weight:700;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.06em;padding-left:.25rem}.context-selector-btn{width:auto!important;min-width:120px;max-width:220px;padding:.375rem .75rem;gap:.5rem;display:flex;align-items:center}.context-selector-btn-text{font-size:.875rem;font-weight:600;color:var(--gray-800);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.context-selector-btn.active{color:var(--secondary);border-bottom:2px solid var(--secondary);border-radius:0;margin-bottom:-1px}.context-selector-btn .chevron{transition:transform .2s}.context-selector-btn .chevron.open{transform:rotate(180deg)}.context-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-1);min-width:240px;max-width:360px;background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:100;overflow:hidden;padding:.5rem 0;display:flex;flex-direction:column}.company-dropdown{min-width:340px}.company-dropdown-v2 .context-dropdown-item{align-items:flex-start;gap:.5rem}.context-dropdown-title{padding:.5rem .75rem .25rem;font-size:.7rem;font-weight:700;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.company-dropdown-section{padding:.25rem 0}.company-dropdown-section-label{padding:.25rem .75rem .125rem;font-size:.65rem;font-weight:600;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.04em}.context-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:none;text-align:left;font-size:.875rem;color:var(--gray-700);cursor:pointer;font-family:inherit;transition:background .15s;border-radius:var(--radius-sm, 4px)}.context-dropdown-item-content{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.context-dropdown-item-main{font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-dropdown-item-hint{font-size:.75rem;color:var(--text-muted, #6b7280);font-weight:400;line-height:1.3}.context-dropdown-item-consolidated .context-dropdown-item-hint{color:var(--primary-muted, #6366f1)}.company-dropdown-item-icon{flex-shrink:0;color:var(--text-muted, #9ca3af)}.company-dropdown-item-role-icon{margin-top:.125rem}.company-dropdown-role-badge{display:inline-block;font-size:.55rem;font-weight:600;padding:.0625rem .3rem;border-radius:var(--radius-xs, 2px);width:fit-content;text-transform:uppercase;letter-spacing:.03em;line-height:1.4}.company-dropdown-role-badge.role-0{background:#22c55e1f;color:#16a34a}.company-dropdown-role-badge.role-1{background:#3b82f61f;color:#2563eb}.company-dropdown-role-badge.role-2{background:#8b5cf61f;color:#7c3aed}.company-dropdown-consolidated-check{flex-shrink:0;color:#16a34a;margin-left:auto;align-self:center}.company-dropdown-section-label-guest{display:flex;align-items:center;gap:.25rem;color:var(--text-disabled, #9ca3af);border-top:1px solid var(--gray-100, #f3f4f6);padding-top:.5rem;margin-top:.125rem}.company-dropdown-scroll{max-height:320px;overflow-y:auto;overscroll-behavior:contain}.company-dropdown-filter{display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem .375rem}.company-dropdown-filter-icon{flex-shrink:0;color:var(--text-muted, #9ca3af)}.company-dropdown-filter-input{flex:1;border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius-sm, 4px);padding:.3rem .5rem;font-size:.8rem;font-family:inherit;background:var(--surface, #fff);color:var(--gray-700);outline:none;transition:border-color .15s}.company-dropdown-filter-input:focus{border-color:var(--primary, #2016de)}.company-dropdown-empty{padding:1rem .75rem;text-align:center;font-size:.8rem;color:var(--text-muted, #9ca3af)}.context-dropdown-item:hover{background:var(--gray-50)}.context-dropdown-item.selected{background:#2016de14;color:var(--primary, #2016de);font-weight:500}.context-dropdown-item.selected .context-dropdown-item-hint{color:var(--primary, #2016de)}.context-dropdown-item-consolidated.selected{background:#8b5cf61a;color:var(--secondary, #7c3aed)}.context-dropdown-item-consolidated.selected .context-dropdown-item-hint{color:var(--secondary, #7c3aed)}.context-dropdown-divider{height:1px;background:var(--gray-200);margin:.5rem .75rem}.context-dropdown-action{font-weight:500}.context-dropdown-action.create{color:var(--primary, #2016de)}.context-dropdown-action.manage{color:var(--secondary)}.header-search{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;max-width:400px;min-height:var(--input-height);padding:0 var(--space-3) 0 2.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);background:var(--gray-50);transition:border-color var(--transition),background var(--transition);cursor:pointer;position:relative;text-align:left}.header-search:hover{background:var(--surface);border-color:var(--gray-300)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-disabled)}.header-search .search-input{flex:1;color:var(--text-muted);background:none;border:none;padding:0;min-height:0}.search-kbd{font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-xs);background:var(--gray-200);color:var(--text-muted);font-family:inherit}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-context-selectors{display:flex;align-items:center;gap:.75rem}.header-btn{position:relative;width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:all .2s}.header-btn:hover{background:var(--gray-100);color:var(--gray-700)}.messages-btn{position:relative}.header-messages-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--primary);color:#fff;font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center}.notifications-btn{position:relative}.header-notif-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--danger, #ef4444);color:#fff;font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center}.user-btn{width:auto;padding:0 .75rem;gap:.5rem}.user-name{font-size:.875rem;font-weight:500;color:var(--gray-700)}.theme-toggle-btn{color:var(--gray-500)}.theme-toggle-btn:hover{background:var(--gray-100);color:var(--gray-700)}.logout-btn{color:var(--danger)}.logout-btn:hover{background:var(--danger-light);color:var(--danger-dark)}.consolidated-readonly-hint{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:.65rem;font-weight:600;color:var(--text-tertiary, #9ca3af);vertical-align:middle}@media(max-width:768px){.user-name,.search-kbd{display:none}.header-context-selectors{gap:.5rem}.context-selector-btn-text{max-width:100px}}.message-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:900;animation:message-panel-fade .2s ease-out}.message-panel{position:fixed;top:0;right:0;width:100%;max-width:380px;height:100vh;background:var(--surface, #fff);box-shadow:-4px 0 24px #0000001f;z-index:901;display:flex;flex-direction:column;animation:message-panel-slide .25s ease-out}@keyframes message-panel-fade{0%{opacity:0}to{opacity:1}}@keyframes message-panel-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.message-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4, 1rem) var(--space-4);border-bottom:1px solid var(--border-light, #e5e7eb);flex-shrink:0}.message-panel-title{margin:0;font-size:var(--text-base, 1rem);font-weight:600;color:var(--text-primary, #111827)}.message-panel-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);background:none;border:none;border-radius:6px;color:var(--text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.message-panel-close:hover{background:var(--gray-100, #f3f4f6);color:var(--text-secondary, #374151)}.message-panel-list{flex:1;overflow-y:auto;min-height:0}.message-panel-loading,.message-panel-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-8);color:var(--text-muted, #6b7280);font-size:var(--text-sm, .875rem)}.message-panel-loading .spin{animation:spin .8s linear infinite}.message-panel-messages{list-style:none;margin:0;padding:var(--space-2)}.message-panel-item{padding:var(--space-3);border-radius:8px;margin-bottom:var(--space-2);border:1px solid transparent;cursor:default;transition:background .15s}.message-panel-item:hover{background:var(--gray-50, #f9fafb)}.message-panel-item.unread{background:var(--primary-light, rgba(16, 185, 129, .08));border-color:var(--primary-light, rgba(16, 185, 129, .2))}.message-panel-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin-bottom:.25rem;font-size:.8125rem;color:var(--text-muted, #6b7280)}.message-panel-item-sender{font-weight:600;color:var(--text-secondary, #374151)}.message-panel-item-to{color:var(--text-muted, #6b7280)}.message-panel-item-date{margin-left:auto;font-variant-numeric:tabular-nums}.message-panel-item-content{margin:0 0 .25rem;font-size:var(--text-sm, .875rem);color:var(--text-primary, #111827);white-space:pre-wrap;word-break:break-word}.message-panel-item-entity{font-size:.75rem;color:var(--primary, #10b981);text-decoration:none}.message-panel-item-entity:hover{text-decoration:underline}.message-panel-composer{padding:var(--space-3);border-top:1px solid var(--border-light, #e5e7eb);background:var(--surface, #fff);flex-shrink:0}.message-panel-context{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;background:var(--gray-100, #f3f4f6);border-radius:6px;font-size:.8125rem}.message-panel-context-label{color:var(--text-muted, #6b7280)}.message-panel-context-value{flex:1;color:var(--text-primary, #111827);font-weight:500}.message-panel-context-remove{display:inline-flex;padding:.25rem;background:none;border:none;border-radius:4px;color:var(--text-muted, #6b7280);cursor:pointer}.message-panel-context-remove:hover{background:var(--gray-200, #e5e7eb);color:var(--text-secondary, #374151)}.message-panel-composer-row{margin-bottom:.5rem}.message-panel-composer-to{display:flex;align-items:center;gap:.5rem}.message-panel-composer-to svg{flex-shrink:0;color:var(--text-muted, #6b7280)}.message-panel-select{flex:1;min-height:32px;padding:0 .5rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.875rem;background:var(--surface, #fff);color:var(--text-primary, #111827)}.message-panel-composer-input-row{display:flex;gap:.5rem;align-items:flex-end}.message-panel-textarea{flex:1;min-height:72px;padding:.5rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.875rem;font-family:inherit;resize:none;transition:border-color .15s,box-shadow .15s}.message-panel-textarea:focus{outline:none;border-color:var(--primary, #10b981);box-shadow:0 0 0 2px #10b98133}.message-panel-send{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary, #10b981);color:#fff;border:none;border-radius:8px;cursor:pointer;flex-shrink:0;transition:background .15s}.message-panel-send:hover:not(:disabled){background:var(--primary-hover, #0d9668)}.message-panel-send:disabled{opacity:.5;cursor:not-allowed}.notif-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000026;z-index:200}.notif-panel{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;background:var(--surface, #fff);border-left:1px solid var(--border, #e5e7eb);box-shadow:-4px 0 24px #00000014;z-index:201;display:flex;flex-direction:column;animation:notifSlideIn .2s ease-out}@keyframes notifSlideIn{0%{transform:translate(100%);opacity:.5}to{transform:translate(0);opacity:1}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200, #e5e7eb);flex-shrink:0}.notif-panel-header-left{display:flex;align-items:center;gap:.5rem}.notif-panel-header-left h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary, #111827)}.notif-panel-badge{background:var(--danger, #ef4444);color:#fff;font-size:.65rem;font-weight:700;min-width:20px;height:20px;padding:0 5px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.notif-panel-header-actions{display:flex;align-items:center;gap:.5rem}.notif-panel-mark-all{display:flex;align-items:center;gap:.25rem;padding:.3rem .625rem;font-size:.75rem;font-weight:500;color:var(--primary, #2016de);background:#2016de0f;border:1px solid rgba(32,22,222,.15);border-radius:.375rem;cursor:pointer;transition:all .15s;font-family:inherit}.notif-panel-mark-all:hover{background:#2016de1f}.notif-panel-close{padding:.375rem;background:none;border:none;color:var(--gray-500, #6b7280);cursor:pointer;border-radius:.375rem;transition:all .15s}.notif-panel-close:hover{background:var(--gray-100, #f3f4f6);color:var(--text-primary, #111827)}.notif-panel-stats{display:flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-bottom:1px solid var(--gray-100, #f3f4f6);flex-shrink:0}.notif-stat{font-size:.7rem;font-weight:500;color:var(--text-muted, #6b7280)}.notif-stat.unread{color:var(--danger, #ef4444);font-weight:600}.notif-stat.read{color:var(--success, #10b981)}.notif-stat-sep{font-size:.7rem;color:var(--gray-300, #d1d5db)}.notif-panel-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.notif-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:var(--text-muted, #6b7280);font-size:.875rem}.notif-empty-icon{color:var(--gray-300, #d1d5db)}.notif-item{display:flex;gap:.75rem;width:100%;padding:.875rem 1.25rem;border:none;border-bottom:1px solid var(--gray-50, #f9fafb);background:transparent;text-align:left;cursor:pointer;transition:background .15s;font-family:inherit}.notif-item:hover{background:var(--gray-50, #f9fafb)}.notif-item.unread{background:#2016de05}.notif-item.unread:hover{background:#2016de0d}.notif-item-icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-top:.125rem}.notif-item-icon.info{background:#3b82f61a;color:#3b82f6}.notif-item-icon.success{background:#10b9811a;color:#10b981}.notif-item-icon.warning{background:#f59e0b1a;color:#f59e0b}.notif-item-icon.error{background:#ef44441a;color:#ef4444}.notif-item-content{flex:1;min-width:0}.notif-item-title{font-size:.8125rem;font-weight:600;color:var(--text-primary, #111827);line-height:1.4;display:flex;align-items:center;gap:.375rem}.notif-item-message{font-size:.75rem;color:var(--text-secondary, #4b5563);margin-top:.125rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-footer{display:flex;align-items:center;gap:.5rem;margin-top:.375rem}.notif-item-category{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;font-weight:500;color:var(--text-muted, #9ca3af);background:var(--gray-50, #f9fafb);padding:.125rem .375rem;border-radius:3px}.notif-item-date{font-size:.65rem;color:var(--text-muted, #9ca3af)}.notif-item-link{color:var(--primary, #2016de);opacity:.5}.notif-panel-footer{padding:.75rem 1.25rem;border-top:1px solid var(--gray-200, #e5e7eb);flex-shrink:0}.notif-panel-see-all{width:100%;padding:.5rem;font-size:.8125rem;font-weight:500;color:var(--primary, #2016de);background:#2016de0a;border:1px solid rgba(32,22,222,.12);border-radius:.375rem;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}.notif-panel-see-all:hover{background:#2016de14}@media(max-width:480px){.notif-panel{width:100vw}}.app{display:flex;height:100%;min-height:0;overflow:hidden}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;margin-left:var(--sidebar-width);transition:margin-left .35s cubic-bezier(.4,0,.2,1);background:var(--surface)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.page-content{flex:1;padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.page-content-inner{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}@media(max-width:1024px){.main-content{margin-left:var(--sidebar-collapsed)}}@media(max-width:768px){.main-content{margin-left:0}}.page-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--surface)}.page-layout .page-header{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:var(--space-4) var(--page-gutter);background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.page-layout .page-header-actions{display:flex;align-items:center;gap:1rem;position:relative}.page-layout .page-header-search-wrap{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);position:relative}.page-layout .page-header-search-wrap:focus-within{border-color:var(--gray-200);box-shadow:none}.page-layout .page-header-search-wrap svg:first-of-type{color:var(--gray-400)}.page-layout .page-header-search-input{border:none;outline:none;font-size:13px;min-width:180px;background:transparent;color:var(--text-primary)}.page-layout .page-header-search-input:focus,.page-layout .page-header-search-input:focus-visible{outline:none;box-shadow:none}.page-layout .page-header-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:13px;font-weight:600;line-height:1.2;border:none;background:var(--primary);color:#fff;cursor:pointer;transition:background .2s}.page-layout .page-header-btn:hover{background:var(--primary-hover)}.page-layout .breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.page-layout .breadcrumb-current{font-weight:var(--font-semibold);font-size:var(--text-lg);color:var(--text-primary)}.page-layout .breadcrumb-separator{color:var(--text-disabled);font-size:var(--text-sm)}.page-layout .breadcrumb-company{color:var(--text-muted);font-size:var(--text-sm)}.page-layout .btn-new{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:13px;font-weight:600;line-height:1.2;background:var(--primary);color:#fff;border:none;cursor:pointer;transition:background .2s}.page-layout .btn-new:hover:not(:disabled){background:var(--primary-hover)}.page-layout .btn-new:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.page-layout .page-body{flex:1;min-height:0;overflow:auto;padding:var(--page-gutter);display:flex;flex-direction:column}.dash{display:flex;flex-direction:column;gap:1.5rem;width:100%}.dash-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:4rem 0;color:var(--gray-500);font-size:.95rem}.dash-toolbar{display:flex;align-items:center;gap:1rem}.dash-checkbox{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--gray-500);cursor:pointer;white-space:nowrap}.dash-checkbox input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.dash-period-pills{display:flex;background:var(--gray-100);border-radius:8px;padding:3px}.dash-period-pill{padding:.375rem .75rem;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--gray-500);background:transparent;cursor:pointer;transition:all .15s;white-space:nowrap}.dash-period-pill.active{background:var(--surface);color:var(--gray-800);box-shadow:0 1px 3px #00000014}.dash-period-pill:hover:not(.active){color:var(--gray-700)}.dash-refresh{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--gray-200);border-radius:8px;background:var(--surface);color:var(--gray-500);cursor:pointer;transition:all .15s}.dash-refresh:hover{border-color:var(--gray-300);color:var(--gray-700)}.dash-ai-banner{position:relative;border-radius:14px;padding:1.5rem 1.75rem;color:#fff;background:#0f0f1a;overflow:hidden}.dash-ai-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 80% at 10% 0%,rgba(99,102,241,.45) 0%,transparent 70%),radial-gradient(ellipse 50% 70% at 90% 100%,rgba(168,85,247,.35) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 50% 50%,rgba(56,189,248,.12) 0%,transparent 80%);pointer-events:none}.dash-ai-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;padding:1px;background:linear-gradient(135deg,#818cf866,#a855f733,#38bdf826);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.dash-ai-banner>*{position:relative;z-index:1}.dash-ai-banner-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.dash-ai-banner-header h2{font-size:1.125rem;font-weight:700;margin:0;flex:1;background:linear-gradient(90deg,#e0e7ff,#c4b5fd,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dash-ai-sparkle{color:#a78bfa;animation:sparkle-pulse 2.5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(167,139,250,.5))}@keyframes sparkle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.92)}}.dash-ai-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:700;background:linear-gradient(135deg,#818cf840,#a855f740);color:#c4b5fd;letter-spacing:.06em;border:1px solid rgba(167,139,250,.2)}.dash-ai-banner-insights{display:flex;gap:.75rem;flex-wrap:wrap}.dash-ai-insight{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem;background:#ffffff0d;border-radius:10px;border:1px solid rgba(255,255,255,.07);flex:1;min-width:220px;transition:background .2s}.dash-ai-insight:hover{background:#ffffff14}.dash-ai-insight-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;flex-shrink:0}.dash-ai-insight-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.dash-ai-insight-title{font-size:.8125rem;font-weight:600;color:#e2e8f0}.dash-ai-insight-desc{font-size:.75rem;color:#ffffff80;line-height:1.4}.dash-ai-banner-footer{display:flex;gap:1.25rem;padding-top:.875rem;margin-top:.875rem;border-top:1px solid rgba(255,255,255,.06)}.dash-ai-feature{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:#ffffff59;font-weight:500}.dash-ai-feature svg{width:14px;height:14px;color:#a78bfa99}[data-theme=light] .dash-ai-banner{background:#fff;color:var(--gray-800)}[data-theme=light] .dash-ai-banner:before{background:radial-gradient(ellipse 60% 80% at 10% 0%,rgba(99,102,241,.08) 0%,transparent 70%),radial-gradient(ellipse 50% 70% at 90% 100%,rgba(168,85,247,.06) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 50% 50%,rgba(56,189,248,.04) 0%,transparent 80%)}[data-theme=light] .dash-ai-banner:after{background:linear-gradient(135deg,#6366f133,#a855f71f,#38bdf814)}[data-theme=light] .dash-ai-banner-header h2{background:linear-gradient(90deg,#4f46e5,#7c3aed,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .dash-ai-sparkle{color:#7c3aed;filter:drop-shadow(0 0 4px rgba(124,58,237,.3))}[data-theme=light] .dash-ai-badge{background:linear-gradient(135deg,#4f46e51a,#7c3aed1a);color:#6d28d9;border-color:#7c3aed26}[data-theme=light] .dash-ai-insight{background:var(--gray-50);border-color:var(--gray-200)}[data-theme=light] .dash-ai-insight:hover{background:var(--gray-100)}[data-theme=light] .dash-ai-insight-title{color:var(--gray-800)}[data-theme=light] .dash-ai-insight-desc{color:var(--gray-500)}[data-theme=light] .dash-ai-banner-footer{border-top-color:var(--gray-200)}[data-theme=light] .dash-ai-feature{color:var(--gray-400)}[data-theme=light] .dash-ai-feature svg{color:#7c3aed}.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.dash-kpi{background:var(--surface);border-radius:12px;padding:1.25rem;border:1px solid var(--gray-100);box-shadow:0 1px 3px #0000000a;transition:box-shadow .2s}.dash-kpi:hover{box-shadow:0 4px 12px #0000000f}.dash-kpi-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem}.dash-kpi-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0}.dash-kpi-label{font-size:.8125rem;font-weight:500;color:var(--gray-500)}.dash-kpi-value{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin-bottom:.375rem;line-height:1.2}.dash-kpi-value--danger{color:#dc2626}.dash-kpi-value--success{color:#16a34a}.dash-kpi-sub{display:flex;align-items:center;gap:.5rem}.dash-kpi-count{font-size:.75rem;color:var(--gray-400)}.dash-kpi-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600}.dash-kpi-badge--positive{background:#dcfce7;color:#16a34a}.dash-kpi-badge--negative{background:#fee2e2;color:#dc2626}.dash-card{background:var(--surface);border-radius:12px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #0000000a;overflow:hidden;min-width:0}.dash-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-50)}.dash-card-header h3{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin:0}.dash-card-link{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--accent);background:none;border:none;cursor:pointer;transition:color .15s}.dash-card-link:hover{color:var(--accent-dark)}.dash-card-body{padding:1rem 1.25rem}.dash-row-2{display:grid;grid-template-columns:2fr 1fr;gap:1rem;min-width:0}.dash-row-2eq{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-width:0}.dash-card--2x{grid-column:1}.dash-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-width:0}.dash-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--gray-400);font-size:.875rem}.dash-annotation-body{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 1.25rem}.dash-annotation-ring-wrapper{position:relative;width:100px;height:100px;flex-shrink:0}.dash-annotation-svg{width:100%;height:100%}.dash-annotation-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.dash-annotation-pct{font-size:1.25rem;font-weight:700;color:var(--gray-800)}.dash-annotation-stats{display:flex;flex-direction:column;gap:.5rem}.dash-annotation-stat{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-600)}.dash-annotation-total{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--gray-100);font-size:.75rem;color:var(--gray-400)}.text-success{color:#22c55e}.text-danger{color:#ef4444}.text-muted{color:var(--gray-400)}.dash-invoices-body{padding:0}.dash-invoice-list{display:flex;flex-direction:column}.dash-invoice-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--gray-50);transition:background .1s}.dash-invoice-row:last-child{border-bottom:none}.dash-invoice-row:hover{background:var(--gray-50)}.dash-invoice-status-icon{flex-shrink:0;display:flex}.dash-invoice-info{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.dash-invoice-client{font-size:.8125rem;font-weight:500;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-invoice-badge{display:inline-flex;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;white-space:nowrap;flex-shrink:0}.dash-invoice-amount{font-size:.8125rem;font-weight:600;color:var(--gray-800);white-space:nowrap;flex-shrink:0}@media(max-width:1200px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-row-2,.dash-row-2eq,.dash-row-3{grid-template-columns:1fr}.dash-ai-banner-insights{flex-direction:column}}@media(max-width:768px){.dash-kpi-grid{grid-template-columns:1fr}.dash-toolbar{flex-wrap:wrap}.dash-ai-banner-footer{flex-wrap:wrap;gap:.75rem}}.premium-locked-wrapper{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.premium-locked-wrapper:hover .premium-locked-content{opacity:.5}.premium-locked-content{opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .15s}.page-body:has(>.factures-page-inner){padding-top:.5rem;width:100%;max-width:none}.factures-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%}.factures-header-select{padding:.5rem 1rem;border-radius:6px;font-size:13px;font-weight:600;line-height:1.2;border:1px solid var(--gray-200);background:var(--surface);color:var(--text-primary);min-width:140px}.factures-header-select:disabled{opacity:.7;cursor:not-allowed}.factures-widgets-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;flex-shrink:0;min-height:110px;width:100%}.factures-widgets-row>*{min-width:0}.factures-widgets-row .tooltip-wrap{width:100%;height:100%;min-width:0;min-height:0}.factures-widgets-row .factures-chart-wrap{min-width:0;min-height:0}.factures-widgets-row .factures-chart-wrap .factures-card-chart{flex:1;min-height:0;width:100%}.factures-summary-card{background:var(--surface);border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014;border:1px solid var(--gray-100);display:flex;align-items:center;gap:1rem;min-height:0;width:100%;height:100%;box-sizing:border-box}.factures-summary-card svg{flex-shrink:0;opacity:.8}.factures-summary-value{display:block;font-size:1.125rem;font-weight:700;color:var(--gray-800)}.factures-summary-label{font-size:.75rem;color:var(--gray-500)}.factures-card-revenue svg{color:var(--success)}.factures-card-count svg{color:var(--chart-purple)}.factures-summary-overdue{display:block;font-size:.7rem;color:var(--gray-500);margin-top:2px}.factures-card-chart{background:var(--surface);border-radius:8px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #00000014;overflow:hidden;display:flex;flex-direction:column;min-height:0}.factures-chart-title{font-size:.75rem;font-weight:600;color:var(--gray-500);padding:.5rem .75rem;margin:0;border-bottom:1px solid var(--gray-100);flex-shrink:0}.factures-chart-body{flex:1;min-height:65px}.factures-chart-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:.75rem;color:var(--gray-400)}.factures-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-shrink:0}.factures-toolbar-left{display:flex;gap:.5rem;align-items:center}.factures-toolbar-btn{width:36px;height:36px;border-radius:6px;border:1px solid var(--gray-200);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500)}.factures-toolbar-btn:hover:not(:disabled){background:var(--gray-50);color:var(--gray-600)}.factures-nouveau-btn{width:36px!important;padding:0!important;background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.factures-nouveau-btn:hover:not(:disabled){background:var(--primary-hover)!important}.factures-export-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:factures-spin .7s linear infinite}@keyframes factures-spin{to{transform:rotate(360deg)}}.factures-error-message{margin-bottom:.75rem;padding:.75rem 1rem;background:var(--danger-light);border:1px solid var(--danger);border-radius:8px;color:var(--danger-dark);font-size:.875rem;flex-shrink:0}.factures-table-wrap{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-radius:10px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000a;overflow:auto}.factures-table{width:100%;border-collapse:collapse;font-size:13px;min-width:1400px}.factures-table thead{position:sticky;top:0;z-index:2;background:var(--surface);box-shadow:0 2px 0 var(--gray-200)}.factures-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);font-weight:600;color:var(--gray-600);border-bottom:1px solid var(--gray-200);cursor:pointer}.factures-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.factures-row-clickable{cursor:pointer}.factures-table .col-client{width:200px}.factures-table .col-status{width:140px;overflow:visible!important}.factures-table .col-comments{width:52px;overflow:visible!important;text-align:center}.factures-table .col-title{width:220px;overflow:visible!important}.factures-table .col-ref{width:130px;font-family:monospace;font-size:11px}.factures-table .col-amount{width:100px;text-align:right;font-variant-numeric:tabular-nums}.factures-table .col-discount{width:70px;text-align:right}.factures-table .col-vat{width:115px;text-align:right;font-variant-numeric:tabular-nums}.factures-table .col-date,.factures-table .col-deadline{width:110px}.factures-table .col-author{width:100px}.factures-table .col-modified{width:110px}.factures-table .col-actions{width:80px;text-align:right}.client-cell{display:flex;align-items:center;gap:8px}.client-name{font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.factures-status-wrap{display:inline-block;overflow:visible;position:relative}.factures-status-badge{display:inline-block;padding:3px 10px;border-radius:9999px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--gray-100);color:var(--gray-500);box-sizing:border-box;min-width:fit-content;border:none;cursor:default;font-family:inherit;position:relative;z-index:1;pointer-events:auto}.factures-status-badge.factures-status-editable{cursor:pointer}.factures-status-badge.factures-status-editable:hover{filter:brightness(.95)}.factures-status-badge:disabled,.factures-status-badge.factures-status-disabled{cursor:not-allowed;opacity:.8;pointer-events:none}.factures-status-dropdown{position:absolute;top:100%;left:0;margin-top:var(--space-1);min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-dropdown);z-index:100;overflow:hidden}.factures-status-dropdown-loading{padding:10px 14px;font-size:12px;color:var(--gray-500)}.factures-status-dropdown-item{display:block;width:100%;padding:8px 14px;border:none;background:none;text-align:left;font-size:13px;color:var(--gray-700);cursor:pointer;font-family:inherit}.factures-status-badge.factures-status-draft,.factures-status-badge.factures-status-cancelled{background:var(--gray-100);color:var(--gray-500)}.factures-status-badge.factures-status-sent{background:var(--secondary-light);color:var(--secondary-dark)}.factures-status-badge.factures-status-paid{background:var(--primary-light);color:var(--primary-dark)}.factures-status-badge.factures-status-overdue{background:var(--danger-light);color:var(--danger-dark)}.factures-status-badge.factures-status-pending{background:var(--warning-light);color:var(--warning-dark)}.title-cell{display:flex;align-items:center;gap:6px;overflow:visible;position:relative}.title-cell>span{overflow:hidden;text-overflow:ellipsis}.recurrent-badge{display:inline-flex;align-items:center;gap:4px}.recurrent-icon{color:var(--secondary);flex-shrink:0}.recurrent-next{font-size:11px;color:var(--gray-500)}.invoice-from-proposal-link{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-size:.7rem;color:var(--primary);text-decoration:none;flex-shrink:0}.invoice-from-proposal-link:hover{text-decoration:underline}.col-comments-icon{color:var(--gray-500);vertical-align:middle;margin-right:2px}th.col-comments{cursor:pointer}th.col-comments:hover .col-comments-icon{color:var(--secondary)}.comments-cell{display:flex;justify-content:center;align-items:center;position:relative;overflow:visible}.comments-icon-btn{display:flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--gray-400);border-radius:6px;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.comments-icon-btn:hover{background:var(--secondary-light);color:var(--secondary)}.comments-count-badge{position:absolute;top:-2px;right:-2px;min-width:12px;height:12px;padding:0 3px;background:var(--primary);color:#fff;border-radius:6px;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center}.comments-popover{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:var(--space-2);min-width:280px;max-width:360px;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:200;padding:var(--space-4)}.comments-popover-loading,.comments-popover-empty{padding:16px;text-align:center;color:var(--gray-500);font-size:13px}.comments-popover-list{display:flex;flex-direction:column;gap:12px}.comments-popover-item{display:flex;flex-direction:row;align-items:flex-start;gap:10px}.comments-popover-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;object-fit:cover}.comments-popover-content{flex:1;min-width:0;text-align:left}.comments-popover-bubble{padding:8px 10px;background:var(--gray-100);border-radius:8px;font-size:12px;color:var(--gray-700);line-height:1.45}.comments-popover-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-top:4px}.comments-popover-email{font-size:12px;font-weight:500;color:var(--gray-700)}.comments-popover-date{font-size:10px;color:var(--gray-500)}.row-actions{display:flex;gap:3px;justify-content:flex-end;opacity:0;transition:opacity .2s}tr:hover .row-actions{opacity:1}.btn-row-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--gray-500);cursor:pointer}.btn-row-action:hover{background:var(--gray-100);color:var(--gray-700)}.btn-row-action.btn-delete:hover{background:var(--danger-light);color:var(--danger)}.btn-row-action:disabled{opacity:.5;cursor:not-allowed}.btn-row-action:disabled:hover{background:transparent;color:inherit}.sort-icon{margin-left:3px;opacity:.4;font-size:10px}.sort-icon.active{opacity:1;color:var(--primary)}.factures-loading,.factures-empty{padding:2rem;text-align:center;color:var(--gray-400)}.factures-loading-cell,.factures-empty-cell{text-align:center}.factures-load-more-sentinel td{padding:.5rem!important;border:none!important;vertical-align:top;height:40px}.factures-sentinel-placeholder{display:block;height:1px;width:1px;overflow:hidden;font-size:0}.factures-loading-more{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:var(--gray-500);font-size:.8125rem}.factures-loading-more .spinning{animation:factures-spin .7s linear infinite}.factures-footer{flex-shrink:0;padding:.5rem 0;border-top:1px solid var(--border-light);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:1rem}.factures-count{font-size:.8125rem;color:var(--text-muted)}.factures-pagination{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.factures-pagination-btn{padding:.35rem .6rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);cursor:pointer;color:var(--gray-600);font-size:.875rem;display:flex;align-items:center;justify-content:center}.factures-pagination-btn:hover:not(:disabled){background:var(--gray-50)}.factures-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.factures-pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}@media(max-width:1200px){.factures-widgets-row{grid-template-columns:repeat(2,1fr);min-height:auto}.factures-chart-body{min-height:120px}}@media(max-width:768px){.factures-widgets-row{grid-template-columns:1fr}.factures-table-wrap{overflow-x:scroll}}.factures-summary-card{border-color:var(--border-light)}.factures-summary-value{color:var(--text-primary)}.factures-summary-label{color:var(--text-muted)}.factures-table th{background:var(--gray-50);color:var(--text-muted);border-bottom-color:var(--border)}.factures-table td{border-bottom-color:var(--border-light)}.factures-table tbody tr:hover{background:var(--gray-50)}.factures-status-dropdown{background:var(--surface);border-color:var(--border)}.factures-status-dropdown-item{color:var(--text-secondary)}.factures-status-dropdown-item:hover{background:var(--gray-50)}.comments-popover{background:var(--surface);border-color:var(--border)}.comments-popover-bubble{background:var(--gray-100);color:var(--text-secondary)}.btn-row-action:hover{background:var(--gray-100);color:var(--text-primary)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.tl-panel{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:.75rem;background:#fff;overflow:hidden}.tl-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;font-weight:600;font-size:.875rem;color:#374151}.tl-header-title{flex:1}.tl-header-count{font-size:.75rem;font-weight:500;color:#6b7280;background:#e5e7eb;border-radius:9999px;padding:.125rem .5rem;min-width:1.5rem;text-align:center}.tl-refresh-btn{display:flex;align-items:center;justify-content:center;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:.375rem;padding:.25rem;transition:color .15s,background .15s}.tl-refresh-btn:hover{color:#4338ca;background:#eef2ff}.tl-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.tl-body{flex:1;overflow-y:auto;max-height:500px;padding:.5rem 0}.tl-empty,.tl-error{padding:2rem 1rem;text-align:center;font-size:.8125rem;color:#9ca3af}.tl-error{color:#ef4444}.tl-list{display:flex;flex-direction:column}.tl-item{display:flex;gap:.75rem;padding:.625rem 1rem;transition:background .1s;position:relative}.tl-item:hover{background:#f9fafb}.tl-item:before{content:"";position:absolute;left:1.625rem;top:2rem;bottom:-.625rem;width:1px;background:#e5e7eb}.tl-item:last-child:before{display:none}.tl-item-dot{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;background:#eef2ff;color:#4338ca;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.tl-item-content{flex:1;min-width:0}.tl-item-row{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.tl-item-desc{font-size:.8125rem;color:#1f2937;line-height:1.4;word-break:break-word}.tl-origin-badge{flex-shrink:0;font-size:.6875rem;font-weight:500;padding:.0625rem .375rem;border-radius:9999px;white-space:nowrap}.tl-origin-user{background:#dbeafe;color:#1e40af}.tl-origin-system{background:#e5e7eb;color:#374151}.tl-origin-ai{background:#fae8ff;color:#86198f}.tl-origin-sync{background:#d1fae5;color:#065f46}.tl-origin-import{background:#fef3c7;color:#92400e}.tl-changes-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.375rem}.tl-change-row{display:flex;flex-direction:column;gap:.125rem;padding:.375rem 0;border-bottom:1px solid #f3f4f6}.tl-change-row:last-child{border-bottom:none}.tl-change-label{font-size:.6875rem;font-weight:600;color:#6b7280;text-transform:none}.tl-change-row .tl-item-diff{margin-top:0}.tl-item-diff{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.75rem;font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.tl-diff-old{color:#dc2626;text-decoration:line-through;opacity:.7}.tl-diff-arrow{color:#9ca3af}.tl-diff-new{color:#16a34a;font-weight:500}.tl-item-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.6875rem;color:#9ca3af}.tl-actor{font-weight:500;color:#6b7280}.tl-load-more{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.5rem;margin-top:.25rem;border:none;background:none;color:#4338ca;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.tl-load-more:hover{background:#eef2ff}.tl-load-more:disabled{opacity:.5;cursor:not-allowed}.tl-loading{display:flex;justify-content:center;padding:2rem;color:#6b7280}@keyframes tl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tl-spin{animation:tl-spin 1s linear infinite}.tl-drawer .tl-panel{flex:1;min-height:0;border:none;border-radius:0;height:100%}.tl-drawer .tl-body{max-height:none;flex:1;min-height:0}.tl-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;pointer-events:none}.tl-drawer-root--open{pointer-events:auto}.tl-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;width:100%;height:100%;background:#0f172a66;cursor:pointer;opacity:0;transition:opacity .3s ease}.tl-drawer-root--open .tl-drawer-overlay{opacity:1}.tl-drawer{position:absolute;right:0;top:0;height:100vh;width:min(420px,90vw);max-width:100%;background:#fff;box-shadow:-8px 0 24px #0f172a1f;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.tl-drawer.tl-drawer--open{transform:translate(0)}.tl-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:#fff}.tl-drawer-title{margin:0;font-size:1rem;font-weight:600;color:#111827}.tl-drawer-close{display:flex;align-items:center;justify-content:center;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:.375rem;padding:.25rem;transition:color .15s,background .15s}.tl-drawer-close:hover{color:#111827;background:#f3f4f6}.tl-drawer-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.client-search-select{position:relative;width:100%}.client-search-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--gray-800);cursor:pointer;text-align:left}.client-search-trigger:hover:not(:disabled){border-color:var(--gray-300)}.client-search-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-search-select.disabled .client-search-value{color:var(--gray-400)}.client-search-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);z-index:100;overflow:hidden}.client-search-input{width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--gray-200);font-size:var(--text-sm);outline:none}.client-search-list{max-height:200px;overflow-y:auto}.client-search-option{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--gray-700)}.client-search-option:hover{background:var(--gray-50)}.client-search-option.selected{background:var(--primary-light);color:var(--primary-dark)}.client-search-loading,.client-search-empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--gray-400);text-align:center}.item-designation-editor{border:1px solid var(--gray-200);border-radius:var(--radius-xs);overflow:hidden;background:#fff}.item-designation-editor:focus-within{border-color:var(--primary)}.item-designation-toolbar{display:flex;gap:2px;padding:var(--space-1) var(--space-2);background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.item-designation-toolbar button{padding:var(--space-1) var(--space-2);border:none;background:transparent;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;color:var(--gray-500)}.item-designation-toolbar button:hover{background:var(--gray-200);color:var(--gray-700)}.item-designation-toolbar button.active{background:var(--primary);color:#fff}.item-designation-editor .ProseMirror{padding:var(--space-2) var(--space-2);min-height:34px;font-size:var(--text-sm);line-height:1.4;color:var(--gray-700);outline:none}.item-designation-editor .ProseMirror p{margin:0}.item-designation-editor .ProseMirror ul{padding-left:1.2em;margin:var(--space-1) 0 0}.invoice-form-page{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;overflow:auto}.invoice-form-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-500);cursor:pointer}.btn-back:hover{background:var(--gray-50);color:var(--gray-700)}.invoice-form-title{flex:1;font-size:20px;font-weight:600;color:var(--gray-800);display:flex;align-items:center;gap:10px}.invoice-form-proposal-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:400;color:var(--primary);text-decoration:none}.invoice-form-proposal-link:hover{text-decoration:underline}.invoice-form-readonly-banner{padding:12px 20px;background:var(--gray-100);border-bottom:1px solid var(--gray-200);font-size:14px;color:var(--gray-600)}.invoice-form-header-actions{display:flex;align-items:center;gap:12px}.btn-preview{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);border-radius:8px;font-weight:500;font-size:14px;cursor:pointer}.btn-preview:hover:not(:disabled){background:var(--gray-200);color:var(--gray-700)}.btn-preview:disabled{opacity:.7;cursor:not-allowed}.btn-save{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer}.invoice-form-body{flex:1;padding:24px 20px;overflow-y:auto}.invoice-form-loading,.invoice-form-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--gray-500)}.form-section{margin-bottom:32px}.form-section h2{font-size:16px;font-weight:600;color:var(--gray-700);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--gray-500)}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group input:disabled,.form-group select:disabled{background:var(--gray-50);cursor:not-allowed}.items-toolbar{margin-bottom:12px}.btn-add-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.items-table-wrap{overflow-x:auto;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:16px}.items-table th{background:var(--gray-50);padding:10px 12px;text-align:left;font-weight:600;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}.items-table td{padding:8px 12px;border-bottom:1px solid var(--gray-100)}.items-table input{width:100%;padding:6px 8px;border:1px solid var(--gray-200);border-radius:4px;font-size:13px}.col-total{width:110px;text-align:right;font-variant-numeric:tabular-nums}.empty-items{color:var(--gray-400);font-style:italic;padding:24px!important;text-align:center}.totals-row{display:flex;align-items:flex-end;justify-content:flex-end;gap:24px}.discount-group{max-width:120px}.total-display{font-size:16px;color:var(--gray-800)}.total-display strong{margin-right:8px}.mentions-section .form-group+.form-group{margin-top:20px}.invoice-date-picker{width:100%;padding:8px 12px;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background-color:var(--primary)!important}.react-datepicker__day--selected:hover,.react-datepicker__day--keyboard-selected:hover{background-color:var(--primary-hover)!important}.react-datepicker__day:hover{background-color:var(--primary-light)}.recurrence-section{border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.recurrence-section .form-section-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--gray-50);border:none;font-size:14px;font-weight:600;color:var(--gray-700);cursor:pointer;text-align:left}.recurrence-section .form-section-toggle:hover{background:var(--gray-100)}.recurrence-content{padding:16px;border-top:1px solid var(--gray-200);background:#fff}.recurrence-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.recurrence-toggle-label{font-weight:500;color:var(--gray-700)}.recurrence-toggle-btn{display:flex;align-items:center;padding:0;border:none;background:none;cursor:pointer;flex-shrink:0}.recurrence-toggle-track{display:block;width:40px;height:22px;border-radius:11px;background:var(--gray-200);position:relative;transition:background .2s}.recurrence-toggle-on .recurrence-toggle-track{background:var(--primary)}.recurrence-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.recurrence-toggle-on .recurrence-toggle-thumb{transform:translate(18px)}.recurrence-toggle-btn:hover .recurrence-toggle-track{background:var(--gray-300)}.recurrence-toggle-on:hover .recurrence-toggle-track{background:var(--primary-hover)}.recurrence-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:12px}.recurrence-repeat{display:flex;gap:8px;align-items:center}.recurrence-repeat input{width:60px}.recurrence-info p,.recurrence-make p{margin:0 0 8px;font-size:14px;color:var(--gray-600)}.recurrence-note{font-size:12px!important;color:var(--gray-500)!important;margin-top:12px!important}.recurrence-make .btn{margin-top:16px;display:inline-flex;align-items:center;gap:8px}.page-body:has(>.devis-page-inner){width:100%;max-width:none}.page-body:has(>.devis-form-page){width:100%;max-width:none}.devis-form-page{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;background:#fff;overflow:auto}.devis-form-header-actions{display:flex;align-items:center;gap:.5rem}.devis-form-btn-back,.devis-form-btn-preview{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.devis-form-btn-preview{color:var(--gray-600);font-weight:500}.devis-form-btn-back:hover,.devis-form-btn-preview:hover:not(:disabled){background:var(--gray-50);color:var(--gray-600)}.devis-form-btn-preview:disabled{opacity:.7;cursor:not-allowed}.devis-form-btn-preview .spin{animation:spin .8s linear infinite}.devis-preview-modal{max-width:700px;width:100%}.devis-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200)}.devis-preview-modal-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.devis-preview-modal-close{display:flex;align-items:center;justify-content:center;padding:.375rem;background:transparent;border:none;border-radius:6px;color:var(--gray-500);cursor:pointer}.devis-preview-modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.devis-preview-modal-body{padding:1.25rem;overflow:auto;max-height:calc(90vh - 60px)}.devis-form{padding:1.5rem;width:100%}.devis-form-section{margin-bottom:2rem}.devis-form-section h2{font-size:1rem;font-weight:600;color:var(--gray-700);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.devis-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.devis-form-grid .form-group{display:flex;flex-direction:column;gap:.375rem}.devis-form-grid .form-group label{font-size:13px;font-weight:500;color:var(--gray-500)}.devis-form-grid .form-group input,.devis-form-grid .form-group select{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.devis-form-grid .form-group input:focus,.devis-form-grid .form-group select:focus{outline:none;border-color:var(--primary)}.devis-date-picker{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.items-toolbar{margin-bottom:.75rem}.btn-add-item{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.btn-add-item:hover{background:var(--primary-hover)}.items-table-wrap{overflow-x:auto;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:1rem}.items-table{width:100%;border-collapse:collapse;font-size:13px}.items-table th{background:var(--gray-50);padding:.625rem .75rem;text-align:left;font-weight:600;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}.items-table td{padding:.5rem .75rem;border-bottom:1px solid var(--gray-100)}.items-table input{width:100%;padding:.375rem .5rem;border:1px solid var(--gray-200);border-radius:4px;font-size:13px}.col-qty{width:80px}.col-price{width:120px}.col-vat{width:70px}.col-total{width:120px;text-align:right;font-variant-numeric:tabular-nums}.col-actions{width:50px;text-align:center}.btn-remove-item{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto;border:none;background:transparent;color:var(--gray-400);cursor:pointer;border-radius:4px}.devis-form-total{font-size:1rem;color:var(--gray-800);margin-top:.5rem}.devis-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--gray-100)}.btn-cancel{padding:.5rem 1rem;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;cursor:pointer}.btn-cancel:hover{background:var(--gray-50);color:var(--gray-600)}.btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer}.btn-save:hover:not(:disabled){background:var(--primary-hover)}.btn-save .spin{animation:spin .8s linear infinite}@media(max-width:600px){.devis-form-grid{grid-template-columns:1fr}}.page-body:has(>.clients-page-inner){padding-top:.5rem;width:100%;max-width:none}.clients-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%}.clients-toolbar{display:flex;gap:var(--space-2);margin-bottom:1rem;flex-shrink:0}.clients-toolbar-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--gray-200);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s}.clients-toolbar-btn:hover:not(:disabled){background:var(--gray-50);color:var(--text-secondary)}.clients-toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.clients-toolbar-btn-nouveau{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.clients-toolbar-btn-nouveau:hover:not(:disabled){background:var(--primary-hover)!important;color:#fff!important}.clients-export-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:clients-spin .7s linear infinite}@keyframes clients-spin{to{transform:rotate(360deg)}}.clients-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;width:100%;flex-shrink:0}.clients-metric-card{background:var(--surface);border-radius:10px;padding:1rem 1.25rem;box-shadow:var(--shadow-xs);border:1px solid var(--gray-200);display:flex;align-items:center;gap:.875rem;box-sizing:border-box}.clients-metric-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.clients-metric-total .clients-metric-icon{background:var(--primary-light);color:var(--primary)}.clients-metric-siret .clients-metric-icon{background:#3b82f61a;color:#3b82f6}.clients-metric-vat .clients-metric-icon{background:#8b5cf61a;color:#8b5cf6}.clients-metric-contact .clients-metric-icon{background:#f59e0b1a;color:#f59e0b}.clients-metric-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.clients-metric-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:1px}.clients-metric-sub{display:inline;font-size:.7rem;color:var(--text-disabled);margin-left:.25rem}@media(max-width:900px){.clients-metrics-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.clients-metrics-row{grid-template-columns:1fr}}.clients-table-card{flex:1;min-height:0;overflow:auto;padding:0;display:flex;flex-direction:column}.clients-table-wrap{overflow-x:auto;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.clients-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.875rem}.clients-table th,.clients-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:middle}.clients-table th{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;background:var(--gray-50);position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--gray-200)}.clients-table tbody tr{cursor:pointer;transition:background var(--transition)}.clients-table tbody tr:hover{background:var(--gray-50)}.clients-cell-client{min-width:180px}.clients-cell-name{font-weight:600;color:var(--text-primary)}.clients-cell-company{font-size:.75rem;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:4px}.clients-cell-company svg{flex-shrink:0;opacity:.7}.client-progress-wrap{min-width:100px;max-width:140px}.client-progress-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden;margin-bottom:4px}.client-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .2s ease}.client-progress-text{font-size:.7rem;color:var(--text-muted)}.clients-cell-progress{display:flex;flex-direction:column;gap:2px}.clients-cell-amount{font-size:.7rem;color:var(--text-disabled)}.clients-cell-number{font-size:.875rem;font-weight:500}.clients-cell-date{font-size:.75rem;color:var(--text-muted)}.clients-cell-loading{color:var(--text-disabled)}@media(max-width:900px){.clients-table-wrap{overflow-x:scroll}.clients-table th,.clients-table td{padding:.5rem .75rem;font-size:.8rem}.client-progress-wrap{min-width:80px}}.clients-table-card .empty-state{padding:2rem;text-align:center;color:var(--text-muted)}[data-theme=dark] .clients-metric-total .clients-metric-icon{background:#10b98126}[data-theme=dark] .clients-metric-siret .clients-metric-icon{background:#3b82f626}[data-theme=dark] .clients-metric-vat .clients-metric-icon{background:#8b5cf626}[data-theme=dark] .clients-metric-contact .clients-metric-icon{background:#f59e0b26}.vault-widget{background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:.75rem;padding:1rem}.vault-widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.vault-widget-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #111827);display:flex;align-items:center;gap:.375rem}.vault-widget-count{font-size:.6875rem;color:var(--text-secondary, #6b7280);font-weight:400}.vault-widget-add{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;background:var(--surface, #fff);color:var(--primary, #3b82f6);cursor:pointer;transition:all .15s}.vault-widget-add:hover{background:var(--gray-50, #f9fafb)}.vault-widget-empty{font-size:.8125rem;color:var(--text-secondary, #6b7280);padding:.5rem 0}.vault-widget-list{display:flex;flex-direction:column;gap:.25rem}.vault-widget-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .25rem;border-radius:.375rem;cursor:pointer;transition:background .1s;text-decoration:none;color:inherit}.vault-widget-item:hover{background:var(--gray-50, #f9fafb)}.vault-widget-item-icon{width:1.75rem;height:1.75rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vault-widget-item-icon.pdf{background:#fef2f2;color:#ef4444}.vault-widget-item-icon.image{background:#f0fdf4;color:#22c55e}.vault-widget-item-icon.doc{background:#eff6ff;color:#3b82f6}.vault-widget-item-icon.default{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.vault-widget-item-info{flex:1;min-width:0}.vault-widget-item-name{font-size:.8125rem;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-widget-item-meta{font-size:.6875rem;color:var(--text-secondary, #6b7280)}.vault-widget-item-actions{display:flex;gap:.125rem;opacity:0;transition:opacity .15s}.vault-widget-item:hover .vault-widget-item-actions{opacity:1}.vault-widget-item-actions button{padding:.25rem;background:none;border:none;border-radius:.25rem;color:var(--gray-400, #9ca3af);cursor:pointer}.vault-widget-item-actions button:hover{color:var(--text-primary, #111827);background:var(--gray-100, #f3f4f6)}.vault-widget-link{display:block;text-align:center;font-size:.75rem;color:var(--primary, #3b82f6);padding:.5rem 0 0;cursor:pointer;text-decoration:none}.vault-widget-link:hover{text-decoration:underline}.client-detail-page{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.client-detail-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.client-detail-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.client-detail-loading,.client-detail-not-found{padding:2rem;color:var(--gray-500)}.client-detail-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding:1.5rem;background:#fff;border-radius:8px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #00000014}.client-detail-avatar{width:64px;height:64px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:600;flex-shrink:0}.client-detail-title-block{flex:1;min-width:0}.client-detail-title-block h1{font-size:1.5rem;font-weight:600;color:var(--gray-800);margin:0 0 .25rem}.client-detail-company{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-500);margin:0 0 1rem}.client-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem}.client-detail-btn-action{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.client-detail-btn-action:hover{background:var(--primary-hover)}.client-detail-metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:1200px){.client-detail-metrics{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.client-detail-metrics{grid-template-columns:repeat(2,1fr)}}.client-detail-metric{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #0000000f}.client-detail-metric-success .client-detail-metric-icon{color:var(--success)}.client-detail-metric-warning .client-detail-metric-icon{color:var(--warning)}.client-detail-metric-icon{color:var(--primary);flex-shrink:0}.client-detail-metric-value{font-size:1.1rem;font-weight:700;color:var(--gray-800);display:block;line-height:1.3}.client-detail-metric-label{font-size:.75rem;color:var(--gray-500)}.client-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.client-detail-grid-wide,.client-detail-grid-charts{grid-template-columns:1fr 1fr}@media(max-width:768px){.client-detail-grid,.client-detail-grid-wide,.client-detail-grid-charts{grid-template-columns:1fr}}.client-detail-card{padding:1.25rem;background:#fff;border-radius:8px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #00000014;min-width:0;max-width:100%}.client-detail-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.client-detail-card-title{font-size:1rem;font-weight:600;color:var(--gray-700);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.client-detail-card-header .client-detail-card-title{margin-bottom:0;padding-bottom:0;border-bottom:none}.client-detail-link{background:none;border:none;color:var(--primary);font-size:.8125rem;font-weight:500;cursor:pointer}.client-detail-link:hover{text-decoration:underline}.client-detail-list{margin:0}.client-detail-row{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.client-detail-row:last-child{border-bottom:none}.client-detail-row dt{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--gray-500)}.client-detail-row dd{margin:0;font-size:.9375rem;color:var(--gray-800);padding-left:1.5rem}.client-detail-empty{color:var(--gray-400);font-style:italic;margin:0;font-size:.875rem}.client-detail-docs{list-style:none;margin:0;padding:0}.client-detail-doc-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .15s}.client-detail-doc-item:last-child{border-bottom:none}.client-detail-doc-item:hover{background:var(--gray-50)}.client-detail-doc-item-static{cursor:default}.client-detail-doc-item-static:hover{background:transparent}.client-detail-doc-item>span:first-of-type{flex:1;font-size:.875rem;color:var(--gray-700);min-width:0}.client-detail-doc-amount{font-size:.875rem;font-weight:600;color:var(--gray-800);font-variant-numeric:tabular-nums}.client-detail-doc-date{font-size:.8125rem;color:var(--gray-500)}.client-detail-doc-status{font-size:.75rem;color:var(--gray-500);padding:.2rem .5rem;background:var(--gray-100);border-radius:4px}.client-detail-docs-scroll{max-height:320px;overflow-y:auto}.client-detail-map-card{min-height:200px}.client-detail-map-wrapper{position:relative;border-radius:6px;overflow:hidden;background:var(--gray-100)}.client-detail-map-iframe{width:100%;height:220px;border:none;display:block}.client-detail-map-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8125rem;color:var(--primary);text-decoration:none}.client-detail-map-link:hover{text-decoration:underline}.client-detail-map-fallback{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background:var(--gray-50);border-radius:6px;color:var(--primary);text-decoration:none;font-weight:500;transition:background .15s}.client-detail-map-fallback:hover{background:var(--gray-100)}.client-detail-chart-card{min-height:280px}.client-detail-chart-container{width:100%;margin-top:.5rem}.client-detail-chart-bar .recharts-cartesian-grid-horizontal line,.client-detail-chart-bar .recharts-cartesian-grid-vertical line{stroke:var(--gray-200)}.client-detail-timeline-card{margin-bottom:1.5rem;overflow:hidden;box-sizing:border-box}.client-detail-timeline-wrapper{display:flex;align-items:center;gap:.5rem;position:relative;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.client-detail-timeline-arrow{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--gray-200);background:#fff;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .2s}.client-detail-timeline-arrow:hover{background:var(--gray-50);color:var(--primary);transform:scale(1.05)}.client-detail-timeline-arrow:active{transform:scale(.98)}.client-detail-timeline{display:flex;flex-direction:column;gap:0;max-height:360px;overflow-y:auto}.client-detail-timeline-horizontal{flex:1 1 0;min-width:0;width:0;flex-direction:row;align-items:flex-start;gap:0;max-height:none;overflow-x:auto;overflow-y:hidden;padding:1.5rem .5rem 1.25rem;scrollbar-width:thin;scrollbar-color:var(--gray-300) var(--gray-100);-webkit-overflow-scrolling:touch;position:relative}.client-detail-timeline-horizontal::-webkit-scrollbar{height:8px}.client-detail-timeline-horizontal::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.client-detail-timeline-horizontal::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.client-detail-timeline-horizontal::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.client-detail-timeline-horizontal .client-detail-timeline-item:before{content:"";position:absolute;top:2.05rem;left:0;right:0;height:2px;background:var(--gray-200);z-index:0}.client-detail-timeline-horizontal .client-detail-timeline-year-tag+.client-detail-timeline-item:before{left:-1rem}.client-detail-timeline-year-tag{flex-shrink:0;padding:.35rem .75rem;background:var(--secondary);color:#fff;font-size:.8125rem;font-weight:600;border-radius:4px;position:relative;z-index:1;margin-right:1rem;align-self:flex-start;margin-top:-.25rem}.client-detail-timeline-year-tag:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--secondary)}.client-detail-timeline-horizontal .client-detail-timeline-item{flex-shrink:0;min-width:130px;padding:0 .5rem;border-bottom:none;border-right:none;position:relative}.client-detail-timeline-horizontal .client-detail-timeline-content{flex-direction:column;align-items:center;gap:.5rem;text-align:center}.client-detail-timeline-horizontal .client-detail-timeline-date{order:1;margin-bottom:.25rem}.client-detail-timeline-horizontal .client-detail-timeline-dot{order:2;width:14px;height:14px;margin:0;border:3px solid white;box-shadow:0 0 0 2px var(--primary);transition:box-shadow .2s,transform .2s;position:relative;z-index:1}.client-detail-timeline-horizontal .client-detail-timeline-ref{order:3;font-size:.8125rem}.client-detail-timeline-horizontal .client-detail-timeline-amount{order:4;font-size:.8125rem}.client-detail-timeline-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .15s}.client-detail-timeline-item:last-child{border-bottom:none}.client-detail-timeline-item:hover{background:var(--gray-50)}.client-detail-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:.35rem}.client-detail-timeline-content{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;flex:1;min-width:0}.client-detail-timeline-date{font-size:.8125rem;color:var(--gray-500);font-variant-numeric:tabular-nums}.client-detail-timeline-ref{font-weight:500;color:var(--gray-800)}.client-detail-timeline-amount{font-size:.875rem;font-weight:600;color:var(--gray-800);font-variant-numeric:tabular-nums}@media(max-width:768px){.client-detail-metric-value{font-size:1rem}}.page-body:has(>.projets-page-inner){padding-top:.5rem;width:100%;max-width:none}.projets-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%}.projets-toolbar{display:flex;gap:var(--space-2);margin-bottom:1rem;flex-shrink:0}.projets-toolbar-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--gray-200);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s}.projets-toolbar-btn:hover:not(:disabled){background:var(--gray-50);color:var(--text-secondary)}.projets-toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.projets-toolbar-btn-nouveau{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.projets-toolbar-btn-nouveau:hover:not(:disabled){background:var(--primary-hover)!important;color:#fff!important}.projets-export-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:projets-spin .7s linear infinite}@keyframes projets-spin{to{transform:rotate(360deg)}}.projets-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;width:100%;flex-shrink:0}.projets-metric-card{background:var(--surface);border-radius:10px;padding:1rem 1.25rem;box-shadow:var(--shadow-xs);border:1px solid var(--gray-200);display:flex;align-items:center;gap:.875rem;box-sizing:border-box}.projets-metric-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.projets-metric-total .projets-metric-icon{background:var(--primary-light);color:var(--primary)}.projets-metric-budget .projets-metric-icon{background:#3b82f61a;color:#3b82f6}.projets-metric-clients .projets-metric-icon{background:#8b5cf61a;color:#8b5cf6}.projets-metric-ending .projets-metric-icon{background:#f59e0b1a;color:#f59e0b}.projets-metric-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.projets-metric-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:1px}@media(max-width:900px){.projets-metrics-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.projets-metrics-row{grid-template-columns:1fr}}.projets-table-card{flex:1;min-height:0;overflow:auto;padding:0;display:flex;flex-direction:column}.projets-table-wrap{overflow-x:auto;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.projets-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.875rem}.projets-table th,.projets-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:middle}.projets-table th{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;background:var(--gray-50);position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--gray-200)}.projets-table tbody tr{cursor:pointer;transition:background var(--transition)}.projets-table tbody tr:hover{background:var(--gray-50)}.projets-cell-project{min-width:180px}.projets-cell-name{font-weight:600;color:var(--text-primary)}.projets-cell-ref{font-size:.75rem;color:var(--text-muted);margin-top:2px}.projets-cell-client{font-size:.875rem;color:var(--text-primary)}.projets-cell-budget{display:flex;flex-direction:column;gap:2px}.projets-cell-amount{font-size:.7rem;color:var(--text-disabled)}.projets-cell-duration{font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.projets-cell-contract{white-space:nowrap}.projets-contract-link{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;color:var(--primary);font-size:.8125rem;font-weight:500;cursor:pointer;padding:0}.projets-contract-link:hover{text-decoration:underline}.projets-cell-muted{color:var(--text-disabled)}.projets-progress-wrap{min-width:100px;max-width:160px}.projets-progress-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden;margin-bottom:4px}.projets-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .2s ease}.projets-progress-text{font-size:.7rem;color:var(--text-muted)}.projets-table-card .empty-state{padding:2rem;text-align:center;color:var(--text-muted)}@media(max-width:900px){.projets-table-wrap{overflow-x:scroll}.projets-table th,.projets-table td{padding:.5rem .75rem;font-size:.8rem}.projets-progress-wrap{min-width:80px}}[data-theme=dark] .projets-metric-total .projets-metric-icon{background:#10b98126}[data-theme=dark] .projets-metric-budget .projets-metric-icon{background:#3b82f626}[data-theme=dark] .projets-metric-clients .projets-metric-icon{background:#8b5cf626}[data-theme=dark] .projets-metric-ending .projets-metric-icon{background:#f59e0b26}.projet-form-page{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;overflow:auto}.projet-form-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.projet-form-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.projet-form{padding:1.5rem;max-width:900px}.projet-form-section{margin-bottom:2rem}.projet-form-section h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--gray-700);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.projet-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.projet-form-grid .form-group,.projet-form .form-group{display:flex;flex-direction:column;gap:.375rem}.projet-form-grid .form-group label,.projet-form .form-group label{font-size:13px;font-weight:500;color:var(--gray-500)}.projet-form-grid .form-group input,.projet-form-grid .form-group select,.projet-form .form-group input,.projet-form .form-group select,.projet-form .form-group textarea{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.projet-form-grid .form-group input:focus,.projet-form-grid .form-group select:focus,.projet-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b98126}.projet-form .form-group textarea{resize:vertical}.projet-form .full-width{margin-top:1rem}.projet-date-picker{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.projet-date-picker:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b98126}.projet-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.projet-form-actions .btn-cancel{padding:.5rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-600);cursor:pointer}.projet-form-actions .btn-cancel:hover{background:var(--gray-100)}.projet-form-actions .btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.projet-form-actions .btn-save:hover:not(:disabled){background:var(--primary-hover)}.projet-form-actions .btn-save:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin .7s linear infinite}.projet-detail-page{width:100%;max-width:100%;min-width:0}.projet-detail-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.projet-detail-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.projet-detail-btn-edit{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.projet-detail-btn-edit:hover{background:var(--primary-hover)}.projet-detail-loading{padding:2rem;color:var(--gray-500)}.projet-detail-not-found{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;color:var(--gray-500)}.projet-detail-not-found svg{opacity:.5}.projet-detail-btn-secondary{padding:.5rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-600);cursor:pointer}.projet-detail-btn-secondary:hover{background:var(--gray-100)}.projet-detail-header{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200);margin-bottom:1.5rem;flex-wrap:wrap}.projet-detail-icon{width:56px;height:56px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#4f46e5;flex-shrink:0}.projet-detail-title-block{flex:1;min-width:0}.projet-detail-title-block h1{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0 0 .25rem}.projet-detail-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0 0 .5rem}.projet-detail-meta{display:flex;align-items:center;gap:.5rem}.projet-detail-ref{font-size:12px;color:var(--gray-500);background:var(--gray-50);padding:.125rem .5rem;border-radius:4px;font-family:var(--font-mono, monospace)}.projet-detail-company{font-size:12px;color:var(--gray-400)}.projet-detail-amount-block{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.projet-detail-amount{font-size:1.5rem;font-weight:700;color:var(--gray-800)}.projet-detail-amount-label{font-size:12px;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px}.projet-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.projet-detail-metric{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200)}.projet-detail-metric svg{color:var(--primary);flex-shrink:0}.projet-detail-metric div{display:flex;flex-direction:column;min-width:0}.projet-detail-metric-value{font-size:1rem;font-weight:600;color:var(--gray-800)}.projet-detail-metric-label{font-size:12px;color:var(--gray-400)}.projet-detail-progress-card{background:#fff;border-radius:8px;border:1px solid var(--gray-200);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.projet-detail-progress-card h3{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0 0 .75rem}.projet-detail-progress-bar{height:10px;background:var(--gray-100);border-radius:999px;overflow:hidden;margin-bottom:.5rem}.projet-detail-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .4s ease}.projet-detail-progress-text{font-size:12px;color:var(--gray-500)}.projet-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.projet-detail-card{background:#fff;border-radius:8px;border:1px solid var(--gray-200);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.projet-detail-grid .projet-detail-card{margin-bottom:0}.projet-detail-card h2{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.projet-detail-dl{display:flex;flex-direction:column;gap:.75rem}.projet-detail-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.projet-detail-row dt{display:flex;align-items:center;gap:.5rem;font-size:13px;color:var(--gray-500);white-space:nowrap}.projet-detail-row dd{font-size:14px;font-weight:500;color:var(--gray-800);text-align:right;margin:0}.projet-detail-inline-link{background:none;border:none;color:var(--primary);font-weight:500;cursor:pointer;font-size:14px;padding:0}.projet-detail-inline-link:hover{text-decoration:underline}.projet-detail-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.projet-detail-docs-scroll{max-height:320px;overflow-y:auto}.projet-detail-doc-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:6px;background:var(--gray-50);cursor:pointer;transition:background .15s}.projet-detail-doc-item:hover{background:var(--gray-100)}.projet-detail-doc-item svg{flex-shrink:0;color:var(--gray-400)}.projet-detail-doc-item span:first-of-type{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projet-detail-doc-status{font-size:11px;padding:.125rem .5rem;border-radius:4px;background:var(--gray-100);color:var(--gray-500);white-space:nowrap}.projet-detail-doc-amount{font-size:13px;font-weight:500;color:var(--gray-700);white-space:nowrap}.projet-detail-doc-date{font-size:12px;color:var(--gray-400);white-space:nowrap}.projet-detail-empty{font-size:14px;color:var(--gray-400);padding:1rem 0}.projet-detail-description{font-size:14px;line-height:1.6;color:var(--gray-600);white-space:pre-wrap}@media(max-width:768px){.projet-detail-metrics{grid-template-columns:repeat(2,1fr)}.projet-detail-grid{grid-template-columns:1fr}}.page-body:has(>.contrats-page-inner){padding-top:.5rem;width:100%;max-width:none}.contrats-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%}.contrats-toolbar{display:flex;gap:var(--space-2);margin-bottom:1rem;flex-shrink:0}.contrats-toolbar-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--gray-200);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s}.contrats-toolbar-btn:hover:not(:disabled){background:var(--gray-50);color:var(--text-secondary)}.contrats-toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.contrats-toolbar-btn-nouveau{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.contrats-toolbar-btn-nouveau:hover:not(:disabled){background:var(--primary-hover)!important;color:#fff!important}.contrats-export-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:contrats-spin .7s linear infinite}@keyframes contrats-spin{to{transform:rotate(360deg)}}.contrats-metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;width:100%;flex-shrink:0}.contrats-metric-card{background:var(--surface);border-radius:10px;padding:1rem 1.25rem;box-shadow:var(--shadow-xs);border:1px solid var(--gray-200);display:flex;align-items:center;gap:.875rem;box-sizing:border-box}.contrats-metric-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contrats-metric-total .contrats-metric-icon{background:var(--primary-light);color:var(--primary)}.contrats-metric-budget .contrats-metric-icon{background:#3b82f61a;color:#3b82f6}.contrats-metric-clients .contrats-metric-icon{background:#8b5cf61a;color:#8b5cf6}.contrats-metric-ending .contrats-metric-icon{background:#f59e0b1a;color:#f59e0b}.contrats-metric-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.contrats-metric-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:1px}@media(max-width:900px){.contrats-metrics-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.contrats-metrics-row{grid-template-columns:1fr}}.contrats-table-card{flex:1;min-height:0;overflow:auto;padding:0;display:flex;flex-direction:column}.contrats-table-wrap{overflow-x:auto;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.contrats-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.875rem}.contrats-table th,.contrats-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:middle}.contrats-table th{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;background:var(--gray-50);position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--gray-200)}.contrats-table tbody tr{cursor:pointer;transition:background var(--transition)}.contrats-table tbody tr:hover{background:var(--gray-50)}.contrats-cell-contract{min-width:180px}.contrats-cell-name{font-weight:600;color:var(--text-primary)}.contrats-cell-ref{font-size:.75rem;color:var(--text-muted);margin-top:2px;font-family:var(--font-mono, monospace)}.contrats-cell-client{font-size:.875rem;color:var(--text-primary)}.contrats-cell-budget{white-space:nowrap}.contrats-cell-amount{font-weight:500;color:var(--text-primary)}.contrats-cell-duration{min-width:180px}.contrats-cell-dates{font-size:.8125rem;color:var(--text-muted);margin-bottom:4px}.contrats-cell-project{max-width:160px}.contrats-project-link{background:none;border:none;color:var(--primary);font-size:.8125rem;font-weight:500;cursor:pointer;padding:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.contrats-project-link:hover{text-decoration:underline}.contrats-cell-muted{color:var(--text-disabled)}.contrats-status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap;background:#10b9811a;color:var(--success)}.contrats-status-en-cours .contrats-status-badge,.contrats-status-actif{background:#10b9811a;color:var(--success)}.contrats-status-expiré,.contrats-status-terminé{background:#6b72801a;color:var(--text-muted)}.contrats-status-brouillon{background:#f59e0b1a;color:#f59e0b}.contrats-progress-wrap{min-width:80px;max-width:120px}.contrats-progress-bar{height:5px;background:var(--gray-200);border-radius:3px;overflow:hidden}.contrats-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .2s ease}.contrats-table-card .empty-state{padding:2rem;text-align:center;color:var(--text-muted)}@media(max-width:900px){.contrats-table-wrap{overflow-x:scroll}.contrats-table th,.contrats-table td{padding:.5rem .75rem;font-size:.8rem}}[data-theme=dark] .contrats-metric-total .contrats-metric-icon{background:#10b98126}[data-theme=dark] .contrats-metric-budget .contrats-metric-icon{background:#3b82f626}[data-theme=dark] .contrats-metric-clients .contrats-metric-icon{background:#8b5cf626}[data-theme=dark] .contrats-metric-ending .contrats-metric-icon{background:#f59e0b26}.page-body:has(>.contrat-form-page){width:100%;max-width:none}.contrat-form-page{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--surface);overflow:auto;width:100%}.contrat-form-loading{padding:2rem;color:var(--text-muted)}.contrat-form-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-muted);cursor:pointer}.contrat-form-btn-back:hover{background:var(--gray-50);color:var(--text-secondary)}.contrat-form{padding:1.5rem 2rem;width:100%;max-width:100%;box-sizing:border-box}.contrat-form-section{margin-bottom:2rem}.contrat-form-section h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.contrat-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.contrat-form-grid .form-group,.contrat-form .form-group{display:flex;flex-direction:column;gap:.375rem}.contrat-form-grid .form-group label,.contrat-form .form-group label{font-size:13px;font-weight:500;color:var(--text-muted)}.contrat-form-grid .form-group input,.contrat-form-grid .form-group select,.contrat-form .form-group input,.contrat-form .form-group select,.contrat-form .form-group textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--surface);color:var(--text-primary)}.contrat-form-grid .form-group input:focus,.contrat-form-grid .form-group select:focus,.contrat-form .form-group input:focus,.contrat-form .form-group select:focus,.contrat-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b98126}.contrat-form .form-group.full-width{grid-column:1 / -1}.contrat-form .form-group textarea{resize:vertical;min-height:60px}.contrat-date-picker{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--surface)}.contrat-form-docs{display:flex;flex-direction:column;gap:1rem}.contrat-form-file-input{display:none}.contrat-form-btn-upload{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--gray-50);color:var(--text-muted);font-size:14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.contrat-form-btn-upload:hover:not(:disabled){background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.contrat-form-btn-upload:disabled{opacity:.7;cursor:not-allowed}.contrat-form-docs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.contrat-form-doc-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px}.contrat-form-doc-icon{flex-shrink:0;color:var(--primary)}.contrat-form-doc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.contrat-form-doc-actions{display:flex;gap:.25rem}.contrat-form-doc-btn{padding:.35rem;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.contrat-form-doc-btn:hover{background:var(--gray-100);color:var(--primary)}.contrat-form-doc-btn-del:hover{color:var(--danger);background:var(--danger-light)}.billing-frequency{margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.billing-frequency label{font-size:13px;font-weight:500;color:var(--text-muted)}.frequency-btns{display:flex;gap:.5rem}.frequency-btns button{padding:.4rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:13px;color:var(--text-muted);cursor:pointer;transition:all .15s}.frequency-btns button:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--text-secondary)}.frequency-btns button.active{background:var(--primary);border-color:var(--primary);color:#fff}.billing-timeline{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:.75rem;background:var(--surface)}.timeline-header{display:grid;grid-template-columns:1fr 120px 140px;gap:.5rem;padding:.6rem 1rem;background:var(--gray-50);font-size:12px;font-weight:600;color:var(--text-muted)}.billing-timeline--custom .timeline-header{grid-template-columns:1fr 120px 140px 44px}.timeline-row{display:grid;grid-template-columns:1fr 120px 140px;gap:.5rem;padding:.5rem 1rem;align-items:center;border-top:1px solid var(--border);transition:background .15s}.billing-timeline--custom .timeline-row{grid-template-columns:1fr 120px 140px 44px}.timeline-row.status-invoiced{background:var(--primary-light)}.timeline-row.status-overdue{background:var(--danger-light)}.timeline-cell{display:flex;align-items:center;gap:.5rem}.timeline-date-picker{flex:1;min-width:0;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--surface)}.timeline-amount{width:90px;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--surface)}.currency-suffix{font-size:12px;color:var(--text-muted)}.status-cell{display:flex;align-items:center;gap:.5rem}.status-cell select{padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;min-width:100px;background:var(--surface);color:var(--text-primary)}.status-icon{flex-shrink:0}.status-icon.planned{color:var(--text-disabled)}.status-icon.invoiced{color:var(--primary)}.status-icon.overdue{color:var(--danger)}.btn-remove-item{padding:.35rem;border:none;background:transparent;color:var(--text-disabled);cursor:pointer;border-radius:4px}.btn-remove-item:hover{background:var(--danger-light);color:var(--danger)}.btn-add-schedule{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;border:1px dashed var(--gray-300);border-top:none;background:var(--gray-50);color:var(--text-muted);font-size:13px;cursor:pointer}.btn-add-schedule:hover{background:var(--gray-100);color:var(--text-secondary)}.billing-summary{font-size:14px;color:var(--text-muted)}.billing-summary strong{color:var(--text-primary)}.billing-summary .schedule-count{margin-left:.5rem;font-size:12px;color:var(--text-disabled)}.contrat-form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border)}.contrat-form-actions .btn-cancel{padding:.5rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);font-size:14px;cursor:pointer}.contrat-form-actions .btn-cancel:hover{background:var(--gray-50);color:var(--text-secondary)}.contrat-form-actions .btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border:none;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.contrat-form-actions .btn-save:hover:not(:disabled){background:var(--primary-hover)}.contrat-form-actions .btn-save:disabled{opacity:.7;cursor:not-allowed}.contrat-form-actions .spin{animation:contrat-form-spin .8s linear infinite}@keyframes contrat-form-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contrat-detail-page{width:100%;max-width:100%;min-width:0}.contrat-detail-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.contrat-detail-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.contrat-detail-btn-edit{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.contrat-detail-btn-edit:hover{background:var(--primary-hover)}.contrat-detail-loading{padding:2rem;color:var(--gray-500)}.contrat-detail-not-found{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;color:var(--gray-500)}.contrat-detail-not-found svg{opacity:.5}.contrat-detail-btn-secondary{padding:.5rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-600);cursor:pointer}.contrat-detail-btn-secondary:hover{background:var(--gray-100)}.contrat-detail-header{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200);margin-bottom:1.5rem;flex-wrap:wrap}.contrat-detail-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent-light) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#4f46e5;flex-shrink:0}.contrat-detail-title-block{flex:1;min-width:0}.contrat-detail-title-block h1{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0 0 .25rem}.contrat-detail-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0 0 .5rem}.contrat-detail-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.contrat-detail-ref{font-size:.8125rem;font-family:ui-monospace,monospace;color:var(--gray-500)}.contrat-detail-badge{font-size:.6875rem;font-weight:500;padding:.2rem .5rem;background:var(--success-light);color:var(--success);border-radius:4px}.contrat-detail-amount-block{text-align:right}.contrat-detail-amount{display:block;font-size:1.5rem;font-weight:700;color:var(--gray-800)}.contrat-detail-amount-label{font-size:.75rem;color:var(--gray-500)}.contrat-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.contrat-detail-card{background:#fff;border-radius:8px;border:1px solid var(--gray-200);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.contrat-detail-grid .contrat-detail-card{margin-bottom:0}.contrat-detail-card h2{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--gray-600);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.contrat-detail-dl{margin:0}.contrat-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--gray-50)}.contrat-detail-row:last-child{border-bottom:none}.contrat-detail-row dt{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--gray-500);margin:0}.contrat-detail-row dd{font-size:.875rem;color:var(--gray-800);margin:0;text-align:right}.contrat-detail-row-total dd{font-weight:700;font-size:1rem}.contrat-detail-description{font-size:.875rem;color:var(--gray-600);line-height:1.5;margin:0;white-space:pre-wrap}.contrat-detail-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.contrat-detail-doc-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--gray-50);border-radius:6px;font-size:.875rem}.contrat-detail-doc-icon{flex-shrink:0;color:var(--primary)}.contrat-detail-doc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-800)}.contrat-detail-doc-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .75rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);color:var(--text-muted);font-size:.8125rem;cursor:pointer;flex-shrink:0}.contrat-detail-doc-btn:hover{background:var(--gray-50);color:var(--primary);border-color:var(--primary)}.contrat-detail-tl-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.contrat-detail-tl-metric{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem;background:#fff;border-radius:8px;border:1px solid var(--gray-200)}.contrat-detail-tl-metric svg{color:var(--primary);flex-shrink:0}.contrat-detail-tl-metric-alert svg{color:#ef4444}.contrat-detail-tl-metric div{display:flex;flex-direction:column;min-width:0}.contrat-detail-tl-metric-value{font-size:.9375rem;font-weight:600;color:var(--gray-800)}.contrat-detail-tl-metric-label{font-size:.6875rem;color:var(--gray-400)}.contrat-detail-tl-progress{margin-bottom:1rem}.contrat-detail-tl-progress-bar{height:8px;background:var(--gray-100);border-radius:999px;overflow:hidden;margin-bottom:.375rem}.contrat-detail-tl-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .4s ease}.contrat-detail-tl-progress-text{font-size:.75rem;color:var(--gray-500)}.contrat-detail-tl-card{margin-bottom:1.5rem;overflow:hidden;box-sizing:border-box;min-width:0;max-width:100%}.contrat-detail-tl-wrapper{display:flex;align-items:center;gap:.5rem;position:relative;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.contrat-detail-tl-arrow{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--gray-200);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-400);transition:all .15s ease}.contrat-detail-tl-arrow:hover{background:var(--gray-50);color:var(--primary);transform:scale(1.05)}.contrat-detail-tl-arrow:active{transform:scale(.98)}.contrat-detail-tl-scroll{display:flex;flex:1 1 0;min-width:0;width:0;flex-direction:row;align-items:flex-start;gap:0;overflow-x:auto;overflow-y:hidden;padding:1.5rem .5rem 1.25rem;scrollbar-width:thin;scrollbar-color:var(--gray-300) var(--gray-100);-webkit-overflow-scrolling:touch;position:relative}.contrat-detail-tl-scroll::-webkit-scrollbar{height:6px}.contrat-detail-tl-scroll::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.contrat-detail-tl-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.contrat-detail-tl-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.contrat-detail-tl-year{flex-shrink:0;padding:.35rem .75rem;background:var(--secondary, #3b82f6);color:#fff;font-size:.75rem;font-weight:700;border-radius:4px;position:relative;z-index:1;margin-right:.25rem;align-self:flex-start;margin-top:-.25rem}.contrat-detail-tl-year:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--secondary, #3b82f6)}.contrat-detail-tl-item{flex-shrink:0;min-width:140px;padding:0 .625rem;cursor:default;position:relative}.contrat-detail-tl-item:before{content:"";position:absolute;top:2.05rem;left:0;right:0;height:2px;background:var(--gray-200);z-index:0}.contrat-detail-tl-year+.contrat-detail-tl-item:before{left:-1rem}.contrat-detail-tl-item-content{display:flex;flex-direction:column;align-items:center;gap:.375rem}.contrat-detail-tl-item-date{order:1;font-size:.75rem;color:var(--gray-500);font-variant-numeric:tabular-nums;margin-bottom:.25rem}.contrat-detail-tl-item-dot{order:2;width:14px;height:14px;border-radius:50%;background:var(--primary);border:2px solid white;box-shadow:0 0 0 2px var(--gray-200);position:relative;z-index:1}.contrat-detail-tl-item-invoiced .contrat-detail-tl-item-dot{background:var(--success, #10b981);box-shadow:0 0 0 2px #10b98133}.contrat-detail-tl-item-overdue .contrat-detail-tl-item-dot{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.contrat-detail-tl-item-planned .contrat-detail-tl-item-dot{background:var(--gray-300);box-shadow:0 0 0 2px var(--gray-200)}.contrat-detail-tl-item-amount{order:3;font-size:.8125rem;font-weight:600;color:var(--gray-800);white-space:nowrap}.contrat-detail-tl-item-status{order:4;display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--gray-400)}.contrat-tl-status-icon{flex-shrink:0}.contrat-tl-invoiced{color:var(--success, #10b981)}.contrat-tl-overdue{color:#ef4444}.contrat-tl-planned{color:var(--gray-400)}@media(max-width:768px){.contrat-detail-grid{grid-template-columns:1fr}.contrat-detail-tl-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.contrat-detail-header{flex-direction:column}.contrat-detail-amount-block{text-align:left;width:100%}}.upgrade-prompt{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--surface-secondary, #f8f9fa);border:1px dashed var(--border-color, #dee2e6);border-radius:12px}.upgrade-prompt-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--primary-light, #e8e5ff);color:var(--primary, #5b4cdb);flex-shrink:0}.upgrade-prompt-content{flex:1;min-width:0}.upgrade-prompt-title{font-size:.95rem;font-weight:600;margin:0 0 .25rem;color:var(--text-primary, #1a1a2e)}.upgrade-prompt-desc{font-size:.85rem;color:var(--text-secondary, #6b7280);margin:0 0 .35rem}.upgrade-prompt-plan{font-size:.8rem;color:var(--text-tertiary, #9ca3af);margin:0}.upgrade-prompt-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background:var(--primary, #5b4cdb);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.upgrade-prompt-btn:hover{background:var(--primary-dark, #4a3cc2)}.upgrade-prompt-compact{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:var(--surface-secondary, #f8f9fa);border:1px solid var(--border-color, #dee2e6);border-radius:6px;font-size:.8rem;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s}.upgrade-prompt-compact:hover{border-color:var(--primary, #5b4cdb);color:var(--primary, #5b4cdb)}.nf-page{display:flex;flex-direction:column;gap:var(--space-6)}.nf-period-select{padding:.5rem 1rem;border-radius:6px;font-size:13px;font-weight:600;border:1px solid var(--gray-200);background:var(--surface)}.nf-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;flex-shrink:0}.nf-summary-card{background:var(--surface);border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014;border:1px solid var(--gray-100);display:flex;align-items:center;gap:1rem}.nf-summary-card svg{flex-shrink:0;opacity:.85}.nf-summary-value{display:block;font-size:1.125rem;font-weight:700;color:var(--text-primary)}.nf-summary-label{font-size:.75rem;color:var(--text-muted)}.nf-summary-count svg{color:var(--primary)}.nf-summary-ttc svg{color:var(--success)}.nf-summary-ht svg{color:var(--secondary)}.nf-summary-vat svg{color:var(--chart-purple)}.nf-loading{display:flex;align-items:center;gap:var(--space-3);justify-content:center;padding:var(--space-12);color:var(--text-muted);font-size:var(--text-sm)}.nf-spin{animation:nf-spin .8s linear infinite}@keyframes nf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nf-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:2px dashed var(--border);border-radius:var(--radius-md);background:var(--gray-50);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.nf-dropzone:hover{border-color:var(--primary);background:var(--primary-light)}.nf-dropzone--active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #10b98126}.nf-dropzone--uploading{pointer-events:none;opacity:.7}.nf-dropzone-sparkle{color:#7c6ef5}.nf-dropzone-text{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);text-align:center}.nf-dropzone-hint{font-size:var(--text-xs);color:var(--text-muted)}.nf-dropzone--info{border-color:var(--gray-300);background:var(--gray-50);cursor:default;opacity:.85}.nf-dropzone--info:hover{border-color:var(--gray-300);background:var(--gray-50)}.nf-dropzone-info-icon{color:var(--secondary)}.nf-jobs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.nf-job{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--gray-100);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-secondary)}.nf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);width:100%}.nf-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast);overflow:hidden}.nf-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.nf-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nf-card.nf-card--new{animation:nf-card-appear .4s ease-out forwards}@keyframes nf-card-appear{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.nf-card-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)}.nf-card-header-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.nf-card-delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius);cursor:pointer;transition:color .2s,background .2s}.nf-card-delete-btn:hover{color:var(--error, #ef4444);background:#ef44441a}.nf-card-avatar{width:44px;height:44px;background:var(--primary);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.nf-card-header-info{flex:1;min-width:0}.nf-card-type{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nf-card-ref{font-size:var(--text-xs);color:var(--text-muted)}.nf-card-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.nf-card-clip{color:var(--text-muted)}.nf-card-body{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.nf-card-amount{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.nf-card-amounts-detail{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-muted)}.nf-card-vat-amount{color:var(--primary);font-weight:var(--font-medium)}.nf-card-meta-rows{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1)}.nf-card-meta-row{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);color:var(--text-secondary)}.nf-card-meta-row svg{flex-shrink:0;color:var(--text-muted)}.nf-card-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light);background:var(--gray-50);margin-top:auto}.nf-card-company{font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nf-card-footer-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.nf-badge-ai{font-size:9px;font-weight:700;padding:.1rem .3rem;background:linear-gradient(135deg,#7c6ef5,#a78df8);color:#fff;border-radius:3px;letter-spacing:.02em;box-shadow:0 1px 2px #7c6ef54d;line-height:1.2}.nf-card-vat-rate{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:2px 8px;background:var(--gray-100);color:var(--text-secondary);border-radius:var(--radius-full)}.nf-empty{text-align:center;padding:var(--space-12);background:var(--gray-50);border-radius:var(--radius-md);border:1px dashed var(--border)}.nf-empty-icon{color:var(--text-muted);margin-bottom:var(--space-4)}.nf-empty p{margin:0 0 var(--space-4);color:var(--text-muted)}@media(max-width:900px){.nf-summary-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.nf-summary-row,.nf-grid{grid-template-columns:1fr}}.notefrais-form-page{max-width:800px;margin:0 auto;width:100%;background:#fff;border-radius:8px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #00000014;overflow:hidden}.notefrais-form{padding:1.5rem}.notefrais-form-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.notefrais-form-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.notefrais-form-section{margin-bottom:1.5rem}.notefrais-form-section-title{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 1rem}.notefrais-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.notefrais-form-field{display:flex;flex-direction:column;gap:.375rem}.notefrais-form-field span{font-size:.875rem;font-weight:500;color:var(--gray-600)}.notefrais-form-field span em{color:var(--danger-dark);font-style:normal}.notefrais-form-field-full{grid-column:1 / -1}.notefrais-form-drop{border:2px dashed var(--border, #e5e7eb);border-radius:var(--radius-md, 6px);padding:var(--space-6);text-align:center;transition:border-color .15s,background .15s}.notefrais-form-drop.drag-over{border-color:var(--primary, #2016de);background:var(--gray-50, #f9fafb)}.notefrais-form-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.notefrais-form-drop-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-muted, #6b7280);padding:var(--space-4)}.notefrais-form-drop-placeholder:hover{color:var(--primary, #2016de)}.notefrais-form-attachment-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.notefrais-form-file-name{display:block;font-size:.8125rem;color:var(--primary)}.notefrais-form-remove-attachment{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius);cursor:pointer;border:none;background:var(--gray-100);color:var(--red-600, #dc2626)}.notefrais-form-remove-attachment:hover{background:var(--gray-200)}.notefrais-form-field input,.notefrais-form-field select{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.notefrais-form-field input:focus,.notefrais-form-field select:focus{outline:none;border-color:var(--warning);box-shadow:0 0 0 2px #fbbf2433}.notefrais-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--gray-100)}.notefrais-form-btn-cancel{padding:.5rem 1rem;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;cursor:pointer}.notefrais-form-btn-cancel:hover{background:var(--gray-50);color:var(--gray-600)}.notefrais-form-btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:var(--warning);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer}.notefrais-form-btn-save:hover:not(:disabled){background:var(--warning-dark)}.notefrais-form-btn-save:disabled{opacity:.7;cursor:not-allowed}.notefrais-form-btn-save .spin{animation:notefrais-spin .8s linear infinite}@keyframes notefrais-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:600px){.notefrais-form-grid{grid-template-columns:1fr}}.notefrais-detail-page{width:100%;max-width:100%;min-width:0;height:100%;display:flex;flex-direction:column}.notefrais-detail-split{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem;flex:1;min-height:0;overflow:hidden}.notefrais-detail-info{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;min-width:0}.notefrais-detail-viewer-panel{display:flex;flex-direction:column;min-height:0;background:#00000008;border-radius:8px;border:1px solid var(--gray-200);overflow:hidden}.notefrais-detail-viewer-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0}.notefrais-detail-nav-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:13px;font-weight:500;color:var(--gray-700);cursor:pointer;transition:background .15s,border-color .15s}.notefrais-detail-nav-btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-300)}.notefrais-detail-nav-btn:disabled{opacity:.5;cursor:not-allowed}.notefrais-detail-nav-position{font-size:13px;color:var(--gray-500);font-variant-numeric:tabular-nums}.notefrais-detail-viewer-content{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem}.notefrais-detail-viewer-iframe{width:100%;height:100%;min-height:400px;border:none;border-radius:4px;background:#fff}.notefrais-detail-viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.notefrais-detail-viewer-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--gray-500)}.notefrais-detail-viewer-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;color:var(--gray-500);text-align:center}.notefrais-detail-viewer-empty svg{opacity:.4}.notefrais-detail-viewer-empty-hint{font-size:.8125rem;color:var(--gray-400)}.notefrais-detail-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.notefrais-detail-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.notefrais-detail-loading{padding:2rem;color:var(--gray-500)}.notefrais-detail-not-found{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;color:var(--gray-500)}.notefrais-detail-not-found svg{opacity:.5}.notefrais-detail-btn-secondary{padding:.5rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-600);cursor:pointer}.notefrais-detail-btn-secondary:hover{background:var(--gray-100)}.notefrais-detail-header{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:#fff;border-radius:6px;border:1px solid var(--gray-200);flex-wrap:wrap}.notefrais-detail-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--warning-light) 0%,#fde68a 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--warning-dark);flex-shrink:0}.notefrais-detail-title-block{flex:1;min-width:0}.notefrais-detail-title-block h1{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0 0 .25rem}.notefrais-detail-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0 0 .5rem}.notefrais-detail-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.notefrais-detail-ref{font-size:.8125rem;font-family:ui-monospace,monospace;color:var(--gray-500)}.notefrais-detail-badge{font-size:.6875rem;font-weight:500;padding:.2rem .5rem;background:var(--accent-light);color:var(--accent-dark);border-radius:4px}.notefrais-detail-amount-block{text-align:right}.notefrais-detail-amount{display:block;font-size:1.5rem;font-weight:700;color:var(--gray-800)}.notefrais-detail-amount-label{font-size:.75rem;color:var(--gray-500)}.notefrais-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.notefrais-detail-card{background:#fff;border-radius:6px;border:1px solid var(--gray-200);padding:1.25rem}.notefrais-detail-card h2{font-size:.875rem;font-weight:600;color:var(--gray-500);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.notefrais-detail-dl{margin:0}.notefrais-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--gray-50)}.notefrais-detail-row:last-child{border-bottom:none}.notefrais-detail-row dt{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--gray-500);margin:0}.notefrais-detail-row dd{font-size:.875rem;color:var(--gray-800);margin:0;text-align:right}.notefrais-detail-row-total{padding-top:.75rem;margin-top:.5rem;border-top:1px solid var(--gray-200)}.notefrais-detail-row-total dt{font-weight:600;color:var(--gray-800)}.notefrais-detail-row-total dd{font-weight:700;font-size:1rem}.notefrais-detail-footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.notefrais-detail-footer-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-500)}.notefrais-detail-footer-label{display:flex;align-items:center;gap:.375rem}.notefrais-detail-attachment-actions{display:flex;gap:.75rem;flex-wrap:wrap}.notefrais-detail-btn-download{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--warning-light);border:1px solid #fde68a;border-radius:6px;font-size:14px;color:var(--warning-dark);cursor:pointer}.notefrais-detail-btn-download:hover:not(:disabled){background:#fde68a}.notefrais-detail-btn-download:disabled{opacity:.7;cursor:not-allowed}.notefrais-detail-upload-zone{display:flex;align-items:center;gap:.5rem}.notefrais-detail-file-input{display:none}.notefrais-detail-btn-upload{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:6px;font-size:14px;color:var(--gray-500);cursor:pointer}.notefrais-detail-btn-upload:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-600)}.notefrais-detail-btn-upload:disabled{opacity:.7;cursor:not-allowed}@media(max-width:900px){.notefrais-detail-split{grid-template-columns:1fr}.notefrais-detail-viewer-panel{min-height:400px}}@media(max-width:600px){.notefrais-detail-header{flex-direction:column}.notefrais-detail-amount-block{text-align:left;width:100%}.notefrais-detail-grid{grid-template-columns:1fr}}.page-body:has(>.transactions-page-inner){padding-top:.5rem}.transactions-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.transactions-actions{display:flex;align-items:center;gap:1rem;position:relative}.transactions-period-select,.transactions-header-btn{padding:.5rem 1rem;border-radius:6px;font-size:13px;font-weight:600;line-height:1.2}.transactions-period-select{border:1px solid var(--gray-200);background:var(--surface)}.transactions-header-btn{display:inline-flex;align-items:center;gap:.5rem;border:none;background:var(--primary);color:#fff;cursor:pointer;transition:background .2s}.transactions-header-btn:hover{background:var(--primary-hover)}.transactions-search-wrap{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);position:relative}.transactions-search-wrap:focus-within{border-color:var(--gray-200);box-shadow:none}.transactions-search-input:focus,.transactions-search-input:focus-visible{outline:none;box-shadow:none}.transactions-search-wrap svg:first-of-type{color:var(--gray-400)}.transactions-search-input{border:none;outline:none;font-size:13px;min-width:180px;background:transparent;color:var(--text-primary)}.transactions-insights-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;margin-left:.25rem;border:1px solid rgba(139,92,246,.3);border-radius:6px;background:#8b5cf614;color:#8b5cf6;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}.transactions-insights-btn:hover{background:#8b5cf626;border-color:#8b5cf680}.transactions-insights-btn[aria-expanded=true]{background:#8b5cf633;border-color:#8b5cf6}.transactions-insights-floating{position:absolute;top:100%;right:0;margin-top:.5rem;z-index:200;animation:transactions-insights-open .25s ease-out;transform-origin:top right}@keyframes transactions-insights-open{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.transactions-insights-floating-inner{min-width:420px;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000026;overflow:hidden}.transactions-insights-floating-inner .ai-banner{margin-bottom:0}.transactions-summary-row{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:1rem;flex-shrink:0}.transactions-summary-card{background:var(--surface);border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014;border:1px solid var(--gray-100);display:flex;align-items:center;gap:1rem}.transactions-card-uncategorized,.transactions-card-nodoc{cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.transactions-card-uncategorized:hover,.transactions-card-nodoc:hover{border-color:var(--primary);box-shadow:0 0 0 2px #6366f11f}.transactions-card-active.transactions-card-uncategorized{border-color:var(--chart-orange);background:color-mix(in srgb,var(--chart-orange) 8%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--chart-orange) 25%,transparent)}.transactions-card-active.transactions-card-nodoc{border-color:var(--chart-yellow);background:color-mix(in srgb,var(--chart-yellow) 8%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--chart-yellow) 25%,transparent)}.transactions-summary-card svg{flex-shrink:0;opacity:.8}.transactions-summary-value{display:block;font-size:1.125rem;font-weight:700;color:var(--gray-800)}.transactions-summary-value.positive{color:var(--success)}.transactions-summary-value.negative{color:var(--danger-dark)}.transactions-summary-label{font-size:.75rem;color:var(--gray-500)}.transactions-card-income svg{color:var(--success)}.transactions-card-expense svg{color:var(--danger-dark)}.transactions-card-vat svg{color:var(--warning)}.transactions-card-balance svg{color:var(--chart-purple)}.transactions-card-uncategorized svg{color:var(--chart-orange)}.transactions-card-nodoc svg{color:var(--chart-yellow)}.transactions-card-uncategorized-inner{display:flex;flex-direction:column;gap:.25rem;min-width:0}.transactions-summary-value--progress{font-variant-numeric:tabular-nums}.transactions-card-classifying{cursor:default;pointer-events:none}.transactions-allgood-text{color:var(--success)!important;font-weight:700}.transactions-classification-progress-bar--complete{background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success) 80%,#a3e635))}.transactions-card-uncategorized{position:relative}.annotation-review-inline{display:flex;flex-direction:column;gap:3px;min-width:0}.annotation-review-suggestions{display:flex;gap:3px;flex-wrap:wrap}.annotation-review-suggestion-chip{display:inline-block;padding:1px 5px;font-size:.6rem;font-weight:600;color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe;border-radius:3px;cursor:pointer;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:chip-appear .3s ease-out both}@keyframes chip-appear{0%{opacity:0;transform:translateY(3px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.annotation-review-suggestions .annotation-review-suggestion-chip:nth-child(2){animation-delay:.05s}.annotation-review-suggestions .annotation-review-suggestion-chip:nth-child(3){animation-delay:.1s}.annotation-review-suggestions .annotation-review-suggestion-chip:nth-child(4){animation-delay:.15s}.annotation-review-suggestion-chip:hover{background:#e0e7ff;border-color:#818cf8;transform:translateY(-1px);box-shadow:0 2px 4px #4f46e51f}.annotation-review-other{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.annotation-review-other:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.transactions-card-uncategorized-inner .transactions-classification-progress-wrap{margin-top:.5rem;width:100%;height:6px;background:color-mix(in srgb,var(--chart-orange) 20%,var(--surface));border-radius:3px;overflow:hidden}.transactions-classification-progress-bar{height:100%;background:linear-gradient(90deg,var(--chart-orange),color-mix(in srgb,var(--chart-orange) 80%,var(--success)));border-radius:3px;transition:width .4s ease-out}.transactions-classification-progress-bar--animated{animation:transactions-progress-pulse 1.2s ease-in-out infinite;position:relative;overflow:hidden}.transactions-classification-progress-bar--animated:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%,transparent 100%);background-size:60% 100%;background-position:-60% 0;animation:transactions-progress-shimmer 1.8s ease-in-out infinite}@keyframes transactions-progress-pulse{0%,to{opacity:1}50%{opacity:.88}}@keyframes transactions-progress-shimmer{0%{background-position:-60% 0}to{background-position:160% 0}}.transactions-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-shrink:0}.transactions-matcher-btn{width:auto!important;padding:0 .75rem!important;gap:.35rem;background:linear-gradient(135deg,#6366f114,#8b5cf614)!important;border:1px solid rgba(99,102,241,.25)!important;color:var(--primary)!important;font-weight:600}.transactions-matcher-btn span{font-size:.8rem}.transactions-matcher-btn:hover{background:linear-gradient(135deg,#6366f126,#8b5cf626)!important;border-color:var(--primary)!important}.transactions-active-filter-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;background:color-mix(in srgb,var(--primary) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);border-radius:20px;font-size:.75rem;font-weight:600;color:var(--primary);white-space:nowrap}.transactions-active-filter-clear{background:none;border:none;cursor:pointer;color:var(--primary);font-size:.9rem;line-height:1;padding:0 .1rem;opacity:.7;transition:opacity .15s}.transactions-active-filter-clear:hover{opacity:1}.transactions-bank-category-filter{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--gray-200);font-size:.8rem;background:var(--surface);color:var(--text);min-width:10rem}.bank-categories-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.bank-category-badge{display:inline-block;padding:.1rem .4rem;font-size:.7rem;border-radius:4px;background:color-mix(in srgb,var(--gray-400) 18%,var(--surface));color:var(--gray-700);white-space:nowrap}.transactions-export-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:transactions-spin .7s linear infinite}.transactions-toolbar-left{display:flex;gap:.5rem;align-items:center}.transactions-toolbar-btn{width:36px;height:36px;border-radius:6px;border:1px solid var(--gray-200);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500)}.transactions-toolbar-btn:hover{background:var(--gray-50);color:var(--gray-600)}.transactions-bulk-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin-bottom:.75rem;background:var(--secondary-light);border:1px solid var(--gray-300);border-radius:8px}.transactions-bulk-count{font-size:.875rem;font-weight:600;color:var(--secondary-dark)}.transactions-bulk-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.transactions-bulk-select{padding:.4rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:13px;background:var(--surface);min-width:200px}.transactions-bulk-apply-btn{padding:.4rem 1rem;background:var(--secondary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.transactions-bulk-apply-btn:hover:not(:disabled){background:var(--secondary-dark)}.transactions-bulk-apply-btn:disabled{opacity:.6;cursor:not-allowed}.transactions-bulk-cancel-btn{padding:.4rem .75rem;background:transparent;color:var(--gray-500);border:1px solid var(--gray-300);border-radius:6px;font-size:13px;cursor:pointer}.transactions-bulk-cancel-btn:hover{background:var(--gray-100)}.transactions-table-wrap{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-radius:10px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000a;overflow:auto}.transactions-table{width:100%;border-collapse:collapse;font-size:13px}.transactions-table thead{position:sticky;top:0;z-index:2;background:var(--surface);box-shadow:0 2px 0 var(--gray-200)}.transactions-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-50);font-weight:600;color:var(--gray-600);border-bottom:1px solid var(--gray-200)}.transactions-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.col-checkbox{width:40px}.col-annotation{width:180px}.col-docs{width:50px}.col-account{min-width:180px}.col-date{width:100px}.col-desc{min-width:200px}.transactions-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.transactions-sortable:hover{background:var(--gray-100)}.transactions-table .sort-icon{opacity:.4;font-size:10px;margin-left:4px}.transactions-table .sort-icon.active{opacity:1}.col-value{width:120px;text-align:right}.col-vat-amount{width:100px;text-align:right}.col-vat-rate{width:56px;text-align:right}.col-comment,.col-company{min-width:120px}.col-value.credit{color:var(--success);font-weight:500}.col-value.debit{color:var(--danger-dark);font-weight:500}.col-vat-amount.vat-negative{color:var(--success);font-weight:500}.col-vat-amount.vat-positive{color:var(--danger-dark);font-weight:500}.vat-cell-btn{display:inline-flex;align-items:center;justify-content:flex-end;width:100%;min-width:0;padding:.2rem .35rem;font-size:11px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;font-variant-numeric:tabular-nums}.vat-cell-btn:hover{background:var(--gray-50);border-color:var(--gray-200)}.vat-editor{display:flex;align-items:center;gap:.2rem;justify-content:flex-end}.vat-editor-input{width:38px;padding:.2rem .3rem;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;border:1px solid var(--primary);border-radius:4px;background:var(--surface)}.vat-editor-input:focus{outline:none;box-shadow:0 0 0 2px #10b98133}.vat-editor-suffix{font-size:10px;color:var(--text-muted)}.vat-editor-cancel{display:flex;align-items:center;justify-content:center;padding:.15rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:2px}.vat-editor-cancel:hover{background:var(--gray-100);color:var(--text-primary)}.annotation-cell-btn,.docs-cell-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .4rem;border:1px solid var(--gray-200);border-radius:4px;background:var(--surface);cursor:pointer;font-size:12px;color:var(--gray-500);max-width:100%;overflow:hidden}.annotation-cell-btn{border:none}.annotation-cell-btn>svg{flex-shrink:0}.annotation-cell-btn:hover,.docs-cell-btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.annotation-badge{font-size:11px;padding:.125rem .375rem;background:var(--secondary-light);color:var(--secondary-dark);border-radius:4px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-ai-badge{font-size:8px;font-weight:700;padding:2px 4px;background:linear-gradient(135deg,#7c6ef5,#a78df8);color:#fff;border-radius:3px;letter-spacing:.04em;box-shadow:0 1px 3px #7c6ef559;flex-shrink:0;line-height:1;text-transform:uppercase}.transactions-ai-annotate-btn{display:inline-flex;align-items:center;gap:.375rem;width:auto!important;padding:0 .75rem!important;background:linear-gradient(135deg,#7c6ef514,#a78df814)!important;border:1px solid rgba(124,110,245,.25)!important;color:#7c6ef5!important;font-weight:600}.transactions-ai-annotate-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c6ef526,#a78df826)!important;border-color:#7c6ef5!important}.transactions-ai-annotate-btn:disabled{opacity:.5;cursor:not-allowed}.transactions-ai-annotate-spinner{width:14px;height:14px;border:2px solid var(--gray-200);border-top-color:var(--secondary);border-radius:50%;animation:transactions-spin .7s linear infinite}@keyframes transactions-spin{to{transform:rotate(360deg)}}.col-docs{overflow:visible!important}.docs-cell-btn{position:relative;overflow:visible}.docs-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;background:var(--secondary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.annotation-editor{display:flex;flex-direction:column;gap:.4rem;min-width:200px}.annotation-filter-input{padding:.3rem .5rem;font-size:11px;border:1px solid var(--border);border-radius:4px;background:var(--surface);width:100%}.annotation-filter-input:focus{outline:none;border-color:var(--primary)}.annotation-filter-input::placeholder{color:var(--text-disabled)}.annotation-list-wrap{max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.annotation-option,.annotation-option-row .annotation-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.3rem .5rem;font-size:11px;text-align:left;border:none;background:transparent;color:var(--text-primary);cursor:pointer}.annotation-option:hover,.annotation-option-row .annotation-option:hover{background:var(--gray-50)}.annotation-option.selected{background:var(--primary-light);color:var(--primary-dark)}.annotation-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-vat-cell{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;color:var(--text-muted);font-size:10px}.annotation-vat-cell:hover{color:var(--primary)}.annotation-vat-edit{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.annotation-vat-input{width:32px;padding:.15rem .25rem;font-size:10px;text-align:right;border:1px solid var(--primary);border-radius:3px;background:var(--surface)}.annotation-vat-input:focus{outline:none}.annotation-editor-actions{display:flex;gap:.5rem}.annotation-new-btn,.annotation-cancel-btn{padding:.25rem .5rem;font-size:11px;border:none;background:transparent;color:var(--secondary);cursor:pointer;text-align:left}.annotation-cancel-btn{color:var(--gray-500)}.comment-cell-btn{display:flex;align-items:center;gap:.35rem;width:100%;text-align:left;padding:.35rem .5rem;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;font-size:12px;color:inherit;min-height:32px;transition:background .15s,border-color .15s}.comment-cell-btn:hover{background:var(--gray-50);border-color:var(--gray-200)}.comment-cell-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-cell-edit-icon{flex-shrink:0;opacity:.4;color:var(--primary)}.comment-cell-btn:hover .comment-cell-edit-icon{opacity:1}.comment-editor{display:flex;align-items:center;gap:.375rem}.comment-editor-input{flex:1;min-width:0;padding:.25rem .5rem;font-size:12px;border:1px solid var(--secondary);border-radius:4px;outline:none}.comment-cancel-btn{padding:.25rem;border:none;background:transparent;color:var(--gray-500);cursor:pointer;border-radius:4px;flex-shrink:0}.comment-cancel-btn:hover{background:var(--gray-100);color:var(--gray-600)}.transactions-loading,.transactions-empty{padding:2rem;text-align:center;color:var(--gray-400)}.transactions-loading-more{padding:.75rem;text-align:center;color:var(--gray-500);font-size:.8125rem}.transactions-footer{flex-shrink:0;padding:.5rem 0;border-top:1px solid var(--border-light);background:var(--surface)}.transactions-count{font-size:.8125rem;color:var(--text-muted)}.transactions-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;padding:.75rem}.transactions-pagination button{padding:.5rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);cursor:pointer;color:var(--gray-600)}.transactions-pagination button:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlay-fade-in .15s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border-radius:8px;padding:1.5rem;min-width:360px;box-shadow:0 4px 20px #00000026}.modal-content.pcg-picker-modal{min-width:0;max-width:min(96vw,960px);width:min(96vw,960px)}.modal-content h3{margin:0 0 .5rem;font-size:1.125rem}.modal-hint{font-size:.8125rem;color:var(--gray-500);margin-bottom:1rem}.modal-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.modal-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500}.modal-form input{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-primary{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer}.btn-secondary{padding:.5rem 1rem;background:var(--surface);color:var(--gray-500);border:1px solid var(--gray-200);border-radius:6px;cursor:pointer}@media(max-width:1200px){.transactions-summary-row{grid-template-columns:repeat(3,1fr)}}.docs-modal{min-width:420px;max-width:520px;max-height:85vh;display:flex;flex-direction:column}.docs-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.docs-modal-header h3{margin:0;font-size:1.125rem}.docs-modal-close{padding:.25rem;border:none;background:transparent;color:var(--gray-500);cursor:pointer;border-radius:4px}.docs-modal-close:hover{background:var(--gray-100);color:var(--gray-600)}.docs-modal-desc{font-size:.875rem;color:var(--gray-500);margin:0 0 1rem;max-height:2.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-modal-body{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.docs-modal-list{flex:1;min-height:120px;max-height:280px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:6px;background:var(--gray-50)}.docs-modal-loading,.docs-modal-empty{padding:2rem;text-align:center;color:var(--gray-400);font-size:.875rem}.docs-list{list-style:none;margin:0;padding:.5rem}.docs-list-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:4px;margin-bottom:2px}.docs-list-item:hover{background:var(--surface)}.docs-list-icon{flex-shrink:0;color:var(--gray-500)}.docs-list-name{flex:1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-list-size{font-size:.75rem;color:var(--gray-400);flex-shrink:0}.docs-list-view{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--gray-200);border-radius:4px;background:#fff;color:var(--secondary);cursor:pointer}.docs-list-view:hover{background:var(--secondary-light);border-color:var(--gray-300)}.docs-modal-add{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:8px;border:2px dashed var(--gray-300);transition:border-color .2s,background .2s;min-height:80px}.docs-modal-add.docs-drop-active{border-color:var(--primary);background:var(--primary-light)}.docs-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:2px dashed var(--gray-300);border-radius:6px;background:var(--gray-50);color:var(--gray-500);font-size:.875rem;cursor:pointer;transition:border-color .2s,background .2s}.docs-add-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light);color:var(--primary-hover)}.docs-add-btn:disabled{opacity:.7;cursor:not-allowed}.docs-modal-add.docs-drop-active{border:2px solid var(--primary);background:var(--primary-light)}.docs-add-hint{font-size:.75rem;color:var(--gray-400)}@media(max-width:768px){.transactions-summary-row{grid-template-columns:repeat(2,1fr)}.transactions-table-wrap{overflow-x:scroll}.docs-modal{min-width:90vw}}.transactions-summary-card{border-color:var(--border-light)}.transactions-summary-value{color:var(--text-primary)}.transactions-summary-label{color:var(--text-muted)}.transactions-table th{background:var(--gray-50);color:var(--text-muted);border-bottom-color:var(--border)}.transactions-table td{border-bottom-color:var(--border-light)}.transactions-table tbody tr:hover{background:var(--gray-50)}.transactions-search-input{background:transparent;color:var(--text-primary)}.annotation-filter-input,.annotation-list-wrap,.annotation-vat-input{background:var(--surface)}.comment-editor-input{background:var(--surface);color:var(--text-primary)}.annotation-group-header{padding:6px 10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--gray-50);border-top:1px solid var(--border-light);position:sticky;top:0;z-index:1}.annotation-pcg-code{display:inline-block;font-size:.65rem;font-weight:600;color:var(--primary);background:var(--primary-light);border-radius:3px;padding:1px 4px;margin-right:6px;font-family:monospace;vertical-align:middle}.annotation-pcg-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:#4f46e5;background:#eef2ff;border-radius:4px;padding:2px 6px;border:none;cursor:pointer;transition:background .2s,color .2s,transform .15s,box-shadow .2s;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-pcg-badge:hover{background:#e0e7ff;color:#3730a3;transform:translateY(-1px);box-shadow:0 2px 6px #4f46e526}.annotation-pcg-badge--review{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.annotation-pcg-badge--review:hover{background:#fde68a}.pcg-review-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;flex-shrink:0}.annotation-cell-empty--btn{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:3px;transition:background .15s}.annotation-cell-empty--btn:hover{background:#f3f4f6;color:#374151}.pcg-picker-modal{max-height:min(70vh,520px);display:flex;flex-direction:column;animation:picker-open .2s ease-out}@keyframes picker-open{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pcg-picker-desc{font-size:.8rem;color:var(--text-secondary, #6b7280);margin:0 0 .5rem;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}.pcg-picker-review-hint{color:#b45309}.pcg-picker-suggested{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.pcg-picker-suggested-label{font-size:.75rem;color:#6b7280;font-weight:600}.pcg-picker-suggestion-btn{font-size:.75rem;font-weight:600;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:4px;padding:3px 8px;cursor:pointer;transition:background .15s}.pcg-picker-suggestion-btn:hover{background:#fde68a}.pcg-picker-search-wrap{display:flex;align-items:center;gap:6px;border:1px solid var(--gray-200, #e5e7eb);border-radius:6px;padding:6px 10px;margin-bottom:.5rem;background:var(--surface, #fff);color:#6b7280}.pcg-picker-search{border:none;outline:none;flex:1;font-size:.85rem;background:transparent;color:var(--text, #111)}.pcg-picker-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.pcg-picker-empty{font-size:.85rem;color:#9ca3af;padding:1rem;text-align:center}.pcg-picker-no-categories{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 0;text-align:center}.pcg-picker-no-categories p{margin:0;color:var(--text-secondary, #6b7280);font-size:.875rem}.pcg-picker-no-categories-hint{font-size:.8rem!important;color:var(--text-muted, #9ca3af)!important}.pcg-picker-item{display:block;width:100%;border:none;background:none;text-align:left;padding:.45rem .65rem;cursor:pointer;border-radius:4px;transition:background .15s,transform .1s;font-size:.8rem}.pcg-picker-item-row{display:flex;align-items:flex-start;gap:.5rem;width:100%}.pcg-picker-vat-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;padding:.15rem .35rem;margin-top:.1rem;font-size:.65rem;font-weight:600;line-height:1.2;color:var(--gray-700, #374151);background:var(--gray-100, #f3f4f6);border:1px solid var(--gray-200, #e5e7eb);border-radius:4px}.pcg-picker-item--active .pcg-picker-vat-badge{color:#4338ca;background:#e0e7ff;border-color:#c7d2fe}.pcg-picker-item-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}.pcg-picker-item:hover{background:#f3f4f6;transform:translate(2px)}.pcg-picker-item--active{background:#eef2ff;color:#4f46e5;font-weight:600}.pcg-picker-item-name{font-weight:500;width:100%}.pcg-picker-item-examples{display:block;font-size:.65rem;font-weight:300;color:var(--gray-500, #9ca3af);line-height:1.3;white-space:normal}.pcg-picker-footer{flex-shrink:0;margin-top:.65rem;padding-top:.75rem;border-top:1px solid var(--gray-200, #e5e7eb);display:flex;flex-direction:column;gap:.65rem}.pcg-picker-vat-label{display:flex;flex-direction:column;gap:.35rem;margin:0}.pcg-picker-vat-label-text{font-size:.75rem;font-weight:600;color:var(--gray-600, #4b5563)}.pcg-picker-vat-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pcg-picker-vat-select{flex:1;min-width:160px;max-width:100%;padding:.45rem .6rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:6px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}.pcg-picker-vat-custom{width:5.5rem;flex:0 0 auto;padding:.45rem .6rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:6px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}.pcg-picker-apply-btn{width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--primary, #059669);border:none;border-radius:6px;cursor:pointer;transition:background .15s,opacity .15s}.pcg-picker-apply-btn:hover:not(:disabled){filter:brightness(1.05)}.pcg-picker-apply-btn:disabled{opacity:.5;cursor:not-allowed}.bdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:bdmFadeIn .2s ease-out}@keyframes bdmFadeIn{0%{opacity:0}to{opacity:1}}.bdm-panel{background:var(--surface);border-radius:16px;width:740px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000040;animation:bdmSlideUp .25s ease-out;overflow:hidden}@keyframes bdmSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.bdm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0}.bdm-header-left{display:flex;align-items:center;gap:.5rem}.bdm-header-left h2{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.bdm-header-sparkle{color:#818cf8;animation:bdmSparkle 2s ease-in-out infinite}@keyframes bdmSparkle{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.bdm-header-badge{background:linear-gradient(135deg,#818cf8,#a78bfa);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.08em;padding:.15rem .45rem;border-radius:6px}.bdm-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;border-radius:6px;transition:background .15s}.bdm-close:hover{background:var(--gray-100)}.bdm-subtitle{padding:.5rem 1.5rem 0;margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.bdm-dropzone{margin:1rem 1.5rem;border:2px dashed var(--gray-200);border-radius:12px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:border-color .2s,background .2s;color:var(--text-secondary)}.bdm-dropzone:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.bdm-dropzone-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.bdm-dropzone svg{opacity:.5}.bdm-dropzone-text{font-size:.875rem}.bdm-dropzone-hint{font-size:.7rem;opacity:.6}.bdm-files{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 1.5rem}.bdm-files-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--gray-100);margin-bottom:.5rem}.bdm-files-matched{display:flex;align-items:center;gap:.3rem;color:var(--success)}.bdm-files-list{overflow-y:auto;max-height:380px;display:flex;flex-direction:column;gap:.35rem}.bdm-file-wrapper{display:flex;flex-direction:column}.bdm-file{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem .75rem;border-radius:8px;background:var(--gray-50, #f8f9fa);transition:background .15s}.bdm-file-icon{flex-shrink:0;margin-top:2px}.bdm-file-pending .bdm-file-icon{color:var(--gray-400)}.bdm-file-processing .bdm-file-icon{color:var(--primary)}.bdm-file-matched .bdm-file-icon,.bdm-file-linked .bdm-file-icon{color:var(--success)}.bdm-file-candidates .bdm-file-icon{color:var(--warning)}.bdm-file-none .bdm-file-icon{color:var(--gray-400)}.bdm-file-error .bdm-file-icon{color:var(--danger-dark)}.bdm-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.bdm-file-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.bdm-file-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.bdm-extracted-tags{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;animation:bdmTagsReveal .4s ease-out both}@keyframes bdmTagsReveal{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.bdm-tag{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:10px;font-size:.625rem;font-weight:600;white-space:nowrap;letter-spacing:.01em;line-height:1.5}.bdm-tag-amount{background:color-mix(in srgb,#6366f1 14%,transparent);color:#6366f1}.bdm-tag-date{background:color-mix(in srgb,#0ea5e9 14%,transparent);color:#0ea5e9}.bdm-tag-seller{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981;max-width:140px;overflow:hidden;text-overflow:ellipsis}.bdm-tag-ref{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#c27803}[data-theme=dark] .bdm-tag-amount{background:#6366f12e;color:#a5b4fc}[data-theme=dark] .bdm-tag-date{background:#0ea5e92e;color:#7dd3fc}[data-theme=dark] .bdm-tag-seller{background:#10b9812e;color:#6ee7b7}[data-theme=dark] .bdm-tag-ref{background:#f59e0b2e;color:#fcd34d}.bdm-file-detail{font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.bdm-file-matched .bdm-file-detail,.bdm-file-linked .bdm-file-detail{color:var(--success)}.bdm-file-error .bdm-file-detail{color:var(--danger-dark)}.bdm-confidence{display:inline-flex;align-items:center;margin-left:.4rem;padding:.1rem .4rem;background:color-mix(in srgb,var(--warning) 15%,transparent);border-radius:10px;font-size:.65rem;font-weight:700;color:var(--warning)}.bdm-file-actions{flex-shrink:0;display:flex;align-items:center;gap:.3rem}.bdm-expand-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;border:1px solid var(--warning);background:color-mix(in srgb,var(--warning) 8%,transparent);color:var(--warning);border-radius:6px;cursor:pointer;font-size:.7rem;font-weight:600;transition:background .15s;white-space:nowrap}.bdm-expand-btn:hover{background:color-mix(in srgb,var(--warning) 16%,transparent)}.bdm-candidates{margin:0 0 .25rem 2.5rem;border-left:2px solid color-mix(in srgb,var(--warning) 30%,transparent);display:flex;flex-direction:column;gap:0;animation:bdmCandidatesReveal .25s ease-out}@keyframes bdmCandidatesReveal{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.bdm-candidate{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:background .15s;border-radius:0 6px 6px 0}.bdm-candidate:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.bdm-candidate-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.bdm-candidate-desc{font-size:.75rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bdm-candidate-meta{display:flex;align-items:center;gap:.35rem;font-size:.65rem;color:var(--text-secondary)}.bdm-candidate-dot{opacity:.4}.bdm-candidate-score{display:inline-flex;padding:.05rem .35rem;border-radius:8px;font-weight:700;font-size:.6rem}.bdm-score-high{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.bdm-score-medium{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.bdm-score-low{background:color-mix(in srgb,var(--danger-dark) 15%,transparent);color:var(--danger-dark)}.bdm-link-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);border-radius:6px;cursor:pointer;font-size:.7rem;font-weight:600;transition:background .15s;white-space:nowrap}.bdm-link-btn:hover{background:color-mix(in srgb,var(--primary) 16%,transparent)}.bdm-link-btn:disabled{opacity:.5;cursor:not-allowed}.bdm-remove-btn{background:none;border:none;cursor:pointer;color:var(--gray-400);padding:.2rem;border-radius:4px;transition:color .15s,background .15s}.bdm-remove-btn:hover{color:var(--danger-dark);background:color-mix(in srgb,var(--danger-dark) 10%,transparent)}.bdm-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-100)}.bdm-btn-secondary{padding:.5rem 1rem;border:1px solid var(--gray-200);background:var(--surface);color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:500;transition:background .15s}.bdm-btn-secondary:hover{background:var(--gray-50, #f8f9fa)}.bdm-btn-primary{padding:.5rem 1.1rem;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;transition:opacity .15s,box-shadow .15s;box-shadow:0 2px 8px #6366f140}.bdm-btn-primary:hover{opacity:.9;box-shadow:0 4px 16px #6366f159}.bdm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.bdm-spin{animation:bdmSpin .8s linear infinite}@keyframes bdmSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark] .bdm-file{background:#ffffff0a}[data-theme=dark] .bdm-dropzone{border-color:#ffffff1a}[data-theme=dark] .bdm-dropzone:hover,[data-theme=dark] .bdm-dropzone-active{border-color:var(--primary);background:#6366f114}[data-theme=dark] .bdm-close:hover{background:#ffffff14}[data-theme=dark] .bdm-btn-secondary{border-color:#ffffff1a}[data-theme=dark] .bdm-btn-secondary:hover{background:#ffffff0f}[data-theme=dark] .bdm-files-header,[data-theme=dark] .bdm-actions{border-color:#ffffff14}[data-theme=dark] .bdm-candidates{border-left-color:#f59e0b33}[data-theme=dark] .bdm-candidate:hover{background:#6366f10f}.bdm-enqueued-notice{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--color-accent, #6366f1);animation:bdm-fade-in .3s ease}.bdm-enqueued-icon{color:var(--color-accent, #6366f1);flex-shrink:0}@keyframes bdm-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-body:has(>.comptes-page-inner){padding-top:.5rem;width:100%;max-width:none}.comptes-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%}.comptes-dashboard{flex-shrink:0;margin-bottom:1.5rem;width:100%}.comptes-summary-grid{display:flex;gap:1.25rem;margin-bottom:1.25rem;width:100%}.comptes-summary-grid>*{flex:1 1 0;min-width:0}.comptes-kpi-card{background:var(--surface);border-radius:10px;padding:1.5rem 1.75rem;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000a;display:flex;align-items:center;gap:1.25rem;min-width:0;width:100%;box-sizing:border-box}.comptes-kpi-card .comptes-kpi-content{flex:1;min-width:0;overflow:hidden}.comptes-kpi-icon{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comptes-kpi-balance{background:#0d94881a;color:#0d9488}.comptes-kpi-upcoming{background:#ea580c1a;color:#ea580c}.comptes-kpi-accounts{background:#6366f11a;color:#6366f1}.comptes-kpi-sync{background:#3b82f61a;color:#3b82f6}.comptes-kpi-alerts{background:#ef44441a;color:#ef4444}.comptes-kpi-content{min-width:0}.comptes-kpi-value{display:block;font-size:1.35rem;font-weight:700;color:var(--text-primary)}.comptes-kpi-label{display:block;font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.comptes-dashboard-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.comptes-dashboard-card{background:var(--surface);border-radius:10px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000a;overflow:hidden}.comptes-card-title{margin:0;padding:1rem 1.25rem;font-size:.875rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--gray-100)}.comptes-donut-card .comptes-donut-body{height:220px;padding:.5rem;display:flex;align-items:center}.comptes-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.8125rem}.comptes-treasury-card .comptes-treasury-body{height:220px;padding:.5rem 1rem 1rem}.comptes-toolbar{flex-shrink:0;display:flex;gap:var(--space-2);margin-bottom:1rem}.comptes-toolbar-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--gray-200);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s}.comptes-toolbar-btn:hover:not(:disabled){background:var(--gray-50);color:var(--text-secondary)}.comptes-toolbar-btn-nouveau{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.comptes-toolbar-btn-nouveau:hover:not(:disabled){background:var(--primary-hover)!important;color:#fff!important}.comptes-toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.comptes-table-wrap{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-radius:10px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000a;overflow:auto}.comptes-table{width:100%;border-collapse:collapse;font-size:.875rem}.comptes-table th{text-align:left;padding:.875rem 1rem;background:var(--gray-50);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--gray-200)}.comptes-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.comptes-table tbody tr:hover{background:var(--gray-50)}.comptes-table tbody tr:last-child td{border-bottom:none}.comptes-row-clickable{cursor:pointer}.col-toggle{width:52px;vertical-align:middle}.col-company{min-width:140px}.col-account{min-width:220px}.col-balance,.col-coming{min-width:120px;text-align:right;font-variant-numeric:tabular-nums}.comptes-table th.col-balance,.comptes-table th.col-coming{text-align:right}.col-sync{min-width:160px}.col-bic{min-width:100px}.col-iban{min-width:180px;font-family:ui-monospace,monospace;font-size:.8125rem}.comptes-toggle-btn{display:flex;align-items:center;padding:0;border:none;background:none;cursor:pointer}.comptes-toggle-track{display:block;width:40px;height:22px;border-radius:11px;background:var(--gray-200);position:relative;transition:background .2s}.comptes-toggle-on .comptes-toggle-track{background:var(--primary, #6366f1)}.comptes-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.comptes-toggle-on .comptes-toggle-thumb{transform:translate(18px)}.comptes-toggle-btn:hover .comptes-toggle-track{background:var(--gray-300)}.comptes-toggle-on:hover .comptes-toggle-track{background:var(--primary-hover, #5558e3)}.comptes-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;border-radius:4px;font-size:.6875rem;font-weight:500;margin-right:.5rem}.comptes-badge-sync{background:#6366f11f;color:#6366f1}.comptes-badge-disabled{background:var(--gray-100);color:var(--gray-500)}.comptes-iban-cell{cursor:pointer;display:flex;align-items:center;gap:.5rem}.comptes-iban-cell:hover{color:var(--secondary-dark)}.comptes-copy-icon{opacity:.6;flex-shrink:0}.comptes-iban-cell:hover .comptes-copy-icon{opacity:1}.comptes-loading,.comptes-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}.comptes-bank-wrap{position:relative}.comptes-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.comptes-menu-dropdown{position:absolute;z-index:100;background:var(--surface);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 8px 24px #0000001f}.comptes-bank-dropdown{left:auto;right:0;min-width:320px;max-width:380px;padding:.75rem 0}.comptes-bank-title{padding:.5rem 1rem;font-weight:600;font-size:.875rem;color:var(--text-primary)}.comptes-bank-desc{padding:0 1rem .75rem;font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.4}.comptes-bank-search{width:calc(100% - 2rem);margin:0 1rem .5rem;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:.8125rem;outline:none;background:var(--gray-50)}.comptes-bank-search:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6366f126}.comptes-bank-list{max-height:280px;overflow-y:auto}.comptes-bank-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;color:var(--text-muted);font-size:.8125rem}.comptes-bank-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.8125rem}.comptes-bank-company-btn{display:block;width:100%;padding:.5rem 1rem;border:none;background:none;font-size:.8125rem;text-align:left;cursor:pointer;color:var(--text-primary)}.comptes-bank-company-btn:hover{background:var(--gray-50)}.comptes-bank-institution-btn{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem}.comptes-bank-logo{width:28px;height:28px;border-radius:4px;object-fit:contain;flex-shrink:0;background:#fff}.comptes-bank-inst-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spin{animation:ds-spin .8s linear infinite}@media(max-width:1200px){.comptes-summary-grid{flex-wrap:wrap}.comptes-summary-grid>*{flex:1 1 calc(33.333% - 1rem);min-width:180px}.comptes-dashboard-row{grid-template-columns:1fr 1fr}}@media(max-width:768px){.comptes-summary-grid>*{flex:1 1 calc(50% - .625rem);min-width:140px}.comptes-dashboard-row{grid-template-columns:1fr}}.compte-form-page{max-width:640px;margin:0 auto;background:#fff;border-radius:8px;border:1px solid var(--gray-100);box-shadow:0 1px 3px #00000014;overflow:hidden}.compte-form-bank-section{padding:1.5rem 1.5rem 0}.compte-form-bank-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer}.compte-form-bank-btn:hover:not(:disabled){opacity:.95}.compte-form-bank-btn:disabled{opacity:.7;cursor:not-allowed}.compte-form-bank-desc{margin:.5rem 0 0;font-size:12px;color:var(--gray-500)}.compte-form-bank-picker{margin-top:.75rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50);overflow:hidden}.compte-form-bank-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:var(--gray-500);font-size:.8125rem;margin:0}.compte-form-bank-list{max-height:240px;overflow-y:auto}.compte-form-bank-inst{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;border:none;background:none;font-size:.8125rem;text-align:left;cursor:pointer;color:var(--text-primary);border-bottom:1px solid var(--gray-100)}.compte-form-bank-inst:last-child{border-bottom:none}.compte-form-bank-inst:hover{background:#fff}.compte-form-bank-logo{width:28px;height:28px;border-radius:4px;object-fit:contain;flex-shrink:0;background:#fff}.compte-form-divider{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem}.compte-form-divider:before,.compte-form-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.compte-form-divider span{font-size:12px;color:var(--gray-500)}.compte-form{padding:1.5rem}.compte-form-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.compte-form-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.compte-form-section{margin-bottom:1.5rem}.compte-form-section-title{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 1rem}.compte-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.compte-form-field{display:flex;flex-direction:column;gap:.375rem}.compte-form-field-full{grid-column:1 / -1}.compte-form-field span{font-size:.875rem;font-weight:500;color:var(--gray-600)}.compte-form-field span em{color:var(--danger-dark);font-style:normal}.compte-form-field input,.compte-form-field select,.compte-form-field textarea{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.compte-form-field textarea{resize:vertical;min-height:60px}.compte-form-field input:focus,.compte-form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b98133}.compte-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--gray-100)}.compte-form-btn-cancel{padding:.5rem 1rem;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;cursor:pointer}.compte-form-btn-cancel:hover{background:var(--gray-50);color:var(--gray-600)}.compte-form-btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer}.compte-form-btn-save:hover:not(:disabled){background:var(--primary-hover)}.compte-form-btn-save:disabled{opacity:.7;cursor:not-allowed}.compte-form-btn-save .spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:600px){.compte-form-grid{grid-template-columns:1fr}}.compte-detail-page{max-width:900px}.compte-detail-btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;color:var(--gray-500);cursor:pointer}.compte-detail-btn-back:hover{background:var(--gray-50);color:var(--gray-600)}.compte-detail-loading{padding:2rem;color:var(--gray-500)}.compte-detail-not-found{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;color:var(--gray-500)}.compte-detail-not-found svg{opacity:.5}.compte-detail-btn-secondary{padding:.5rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-600);cursor:pointer}.compte-detail-btn-secondary:hover{background:var(--gray-100)}.compte-detail-header{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:#fff;border-radius:6px;border:1px solid var(--gray-200);margin-bottom:1.5rem}.compte-detail-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--secondary-light) 0%,var(--gray-300) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--secondary-dark);flex-shrink:0}.compte-detail-title-block h1{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0 0 .25rem}.compte-detail-subtitle{font-size:.9375rem;color:var(--gray-500);margin:0 0 .5rem}.compte-detail-meta{display:flex;align-items:center;gap:.5rem}.compte-detail-badge{font-size:10px;font-weight:500;padding:.15rem .4rem;border-radius:4px}.compte-detail-badge-sync{display:inline-flex;align-items:center;gap:.2rem;background:var(--secondary-light);color:var(--secondary-dark)}.compte-detail-badge-disabled{background:var(--gray-100);color:var(--gray-500)}.compte-detail-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.compte-detail-card{background:#fff;border-radius:6px;border:1px solid var(--gray-200);padding:1.25rem}.compte-detail-card h3{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.compte-detail-card-value{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin:0}.compte-detail-card-date{font-size:.9375rem;font-weight:500}.compte-detail-card-hint{font-size:.6875rem;color:var(--gray-400);margin-top:.25rem;display:block}.compte-detail-section{background:#fff;border-radius:6px;border:1px solid var(--gray-200);padding:1.25rem;margin-bottom:1rem}.compte-detail-section h2{font-size:.875rem;font-weight:600;color:var(--gray-500);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.compte-detail-dl{margin:0}.compte-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--gray-50)}.compte-detail-row:last-child{border-bottom:none}.compte-detail-row dt{font-size:.8125rem;font-weight:500;color:var(--gray-500);margin:0}.compte-detail-row dd{font-size:.875rem;color:var(--gray-800);margin:0;text-align:right}.compte-detail-row-iban dd{text-align:left}.compte-detail-iban-cell{display:inline-flex;align-items:center;gap:.5rem;font-family:ui-monospace,monospace;cursor:pointer;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:4px}.compte-detail-iban-cell:hover{background:var(--gray-100)}.compte-detail-copy-icon{opacity:.6;flex-shrink:0}.compte-detail-iban-cell:hover .compte-detail-copy-icon{opacity:1}.compte-detail-row-comment dd{text-align:left;white-space:pre-wrap}.compte-detail-edit-form label{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.compte-detail-edit-form label span{font-size:.8125rem;font-weight:500;color:var(--gray-500)}.compte-detail-edit-form input,.compte-detail-edit-form textarea{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.compte-detail-edit-form textarea{resize:vertical;min-height:80px}.compte-detail-edit-actions{display:flex;gap:.75rem;margin-top:1rem}.compte-detail-btn-cancel{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-500);cursor:pointer}.compte-detail-btn-cancel:hover{background:var(--gray-50)}.compte-detail-btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.compte-detail-btn-save:hover:not(:disabled){background:var(--primary-hover)}.compte-detail-btn-save:disabled{opacity:.7;cursor:not-allowed}.compte-detail-btn-edit{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;color:var(--gray-600);cursor:pointer}.compte-detail-btn-edit:hover{background:var(--gray-100)}.compte-detail-actions-row{display:flex;flex-wrap:wrap;gap:.75rem}.compte-detail-actions-row .compte-detail-btn-secondary{margin:0}.bank-callback-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.bank-callback-card{text-align:center;max-width:420px;padding:2rem;background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 4px 20px #00000014}.bank-callback-icon{display:block;margin:0 auto 1rem;color:var(--text-muted, #666)}.bank-callback-icon.spin{animation:spin 1s linear infinite}.bank-callback-icon.success{color:var(--success, #22c55e)}.bank-callback-icon.error{color:var(--error, #ef4444)}.bank-callback-icon.pending{color:var(--warning, #f59e0b)}.bank-callback-card h2{margin:0 0 .5rem;font-size:1.25rem}.bank-callback-card p{margin:0 0 .5rem;color:var(--text-muted, #666)}.bank-callback-redirect{font-size:.875rem;margin-top:1rem}.bank-callback-btn{margin-top:1.5rem;padding:.5rem 1.25rem;background:var(--primary, #2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9375rem}.bank-callback-btn:hover{opacity:.9}@keyframes spin{to{transform:rotate(360deg)}}.client-form-page{max-width:720px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden}.client-form{padding:var(--space-6)}.client-form-btn-back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--btn-height);padding:0 var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition),color var(--transition)}.client-form-btn-back:hover{background:var(--gray-50);color:var(--text-secondary)}.client-form-section{margin-bottom:var(--space-6)}.client-form-section-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.client-form-hint{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-3) 0}.client-form-search-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.client-form-search-input{flex:1;min-height:var(--input-height);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm)}.client-form-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b98126}.client-form-btn-search{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--btn-height);padding:0 var(--space-4);background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition)}.client-form-btn-search:hover:not(:disabled){background:var(--primary-hover)}.client-form-btn-search:disabled{opacity:.7;cursor:not-allowed}.client-form-results{display:flex;flex-direction:column;gap:.5rem;max-height:240px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:6px;padding:.5rem;background:var(--gray-50)}.client-form-result-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.client-form-result-item:hover{border-color:var(--primary);background:var(--primary-light)}.client-form-result-item strong{font-size:.9375rem;color:var(--gray-800)}.client-form-result-siret{font-size:.8125rem;color:var(--gray-500);font-variant-numeric:tabular-nums}.client-form-result-address{font-size:.8125rem;color:var(--gray-400);margin-top:.25rem}.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.client-form-field{display:flex;flex-direction:column;gap:.375rem}.client-form-field-full{grid-column:1 / -1}.client-form-field span{font-size:.875rem;font-weight:500;color:var(--gray-600)}.client-form-field span em{color:var(--danger-dark);font-style:normal}.client-form-field input,.client-form-field select{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:14px}.client-form-field input:focus,.client-form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b98133}.client-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--gray-100)}.client-form-btn-cancel{padding:.5rem 1rem;background:#fff;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:6px;font-size:14px;cursor:pointer}.client-form-btn-cancel:hover{background:var(--gray-50);color:var(--gray-600)}.client-form-btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer}.client-form-btn-save:hover:not(:disabled){background:var(--primary-hover)}.client-form-btn-save:disabled{opacity:.7;cursor:not-allowed}.client-form-btn-save .spin{animation:client-form-spin .8s linear infinite}@keyframes client-form-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:600px){.client-form-grid{grid-template-columns:1fr}.client-form-search-row{flex-direction:column}}.company-form-modal-overlay{z-index:1100}.company-form-modal-content{width:min(100%,480px);max-width:480px;min-width:0;max-height:90vh;overflow-y:auto;flex-shrink:0;background:var(--surface, #fff);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 10px 40px rgba(0, 0, 0, .15))}.company-form-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light, #e5e7eb)}.company-form-modal-header h2{margin:0;font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--text-primary, #111827)}.company-form-modal-close{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);background:none;border:none;border-radius:var(--radius, 6px);color:var(--text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.company-form-modal-close:hover{background:var(--gray-100, #f3f4f6);color:var(--text-secondary, #374151)}.company-form-modal-form{padding:var(--space-6)}.entreprises-page-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.btn-create-org.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--primary);background:#fff;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.btn-create-org.btn-secondary:hover{background:var(--gray-50);border-color:var(--primary)}.entreprises-intro{margin-bottom:var(--space-6);color:var(--text-muted);font-size:var(--text-sm)}.entreprises-section{margin-bottom:var(--space-6)}.entreprises-section .section-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1)}.entreprises-section .section-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-3)}.organisations-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.org-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--gray-50);border:1px solid var(--border-light);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-secondary)}.org-chip-current{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--primary);margin-left:var(--space-1)}.entreprises-org-members-link{margin-bottom:var(--space-4)}.btn-membres-org{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s}.btn-membres-org:hover{background:var(--gray-50);border-color:var(--primary)}.section-empty{font-size:var(--text-sm);color:var(--text-muted);margin:0}.entreprises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.entreprise-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.entreprise-card-header{display:flex;align-items:center;gap:var(--space-4)}.entreprise-avatar{width:52px;height:52px;background:var(--primary);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:var(--font-semibold);flex-shrink:0}.entreprise-info{min-width:0}.entreprise-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entreprise-meta{font-size:var(--text-sm);color:var(--text-muted);margin:0}.entreprise-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-light)}.btn-parametres{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-parametres:hover{background:var(--gray-50);border-color:var(--primary)}.btn-new{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s,opacity .15s}.btn-new:hover{opacity:.9}.entreprises-empty{text-align:center;padding:var(--space-12);background:var(--gray-50);border-radius:var(--radius-md);border:1px dashed var(--border)}.entreprises-empty-icon{color:var(--text-muted);margin-bottom:var(--space-4)}.entreprises-empty p{margin:0 0 var(--space-4);color:var(--text-muted)}@media(max-width:768px){.entreprises-grid{grid-template-columns:1fr}}.entreprise-card{background:var(--surface);border-color:var(--border-light)}.entreprise-card:hover{box-shadow:var(--shadow)}.entreprise-name{color:var(--text-primary)}.entreprise-meta{color:var(--text-muted)}.btn-parametres,.btn-membres-org{background:var(--gray-50);color:var(--text-secondary);border-color:var(--border)}.btn-parametres:hover,.btn-membres-org:hover{background:var(--gray-100);color:var(--text-primary)}.invoice-preview{--invoice-color: #2016de;font-size:11px;line-height:1.35}.invoice-preview-paper{background:#fff;border:1px solid var(--border-light);border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.invoice-preview-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px;gap:12px}.invoice-preview-brand{display:flex;align-items:center;gap:10px;min-width:0}.invoice-preview-logo{width:48px;height:36px;object-fit:contain;flex-shrink:0}.invoice-preview-logo-placeholder{width:48px;height:36px;background:var(--gray-200);color:var(--text-muted);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.invoice-preview-company{display:flex;flex-direction:column;gap:2px}.invoice-preview-company strong{font-size:12px;color:var(--text-primary)}.invoice-preview-company span{color:var(--text-muted);font-size:10px}.invoice-preview-doc-type{font-size:14px;font-weight:700;color:var(--invoice-color);letter-spacing:.02em}.invoice-preview-bar{height:4px;background:var(--invoice-color)}.invoice-preview-body{padding:12px 14px}.invoice-preview-meta{display:flex;gap:16px;margin-bottom:10px;color:var(--text-muted)}.invoice-preview-client{margin-bottom:10px}.invoice-preview-client strong{font-size:10px;text-transform:uppercase;color:var(--text-muted)}.invoice-preview-client p{margin:2px 0 0}.invoice-preview-address{color:var(--text-muted);font-size:10px}.invoice-preview-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:10px}.invoice-preview-table th,.invoice-preview-table td{padding:4px 6px;text-align:left;border-bottom:1px solid var(--border-light)}.invoice-preview-table th{font-weight:600;color:var(--text-muted);background:var(--gray-50)}.invoice-preview-table td:not(:first-child){text-align:right}.invoice-preview-totals{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);max-width:180px;margin-left:auto}.invoice-preview-total-row{display:flex;justify-content:space-between;padding:2px 0}.invoice-preview-total-row.total-ttc{font-weight:700;font-size:12px;margin-top:4px;padding-top:4px;border-top:1px solid var(--border)}.devis-preview{--proposal-color: #8b5cf6;font-size:11px;line-height:1.35}.devis-preview-paper{background:#fff;border:1px solid var(--border-light);border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.devis-preview-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px;gap:12px}.devis-preview-brand{display:flex;align-items:center;gap:10px;min-width:0}.devis-preview-logo{width:48px;height:36px;object-fit:contain;flex-shrink:0}.devis-preview-logo-placeholder{width:48px;height:36px;background:var(--gray-200);color:var(--text-muted);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.devis-preview-company{display:flex;flex-direction:column;gap:2px}.devis-preview-company strong{font-size:12px;color:var(--text-primary)}.devis-preview-company span{color:var(--text-muted);font-size:10px}.devis-preview-doc-type{font-size:14px;font-weight:700;color:var(--proposal-color);letter-spacing:.02em}.devis-preview-bar{height:4px;background:var(--proposal-color)}.devis-preview-body{padding:12px 14px}.devis-preview-meta{display:flex;flex-wrap:wrap;gap:12px 16px;margin-bottom:10px;color:var(--text-muted)}.devis-preview-client{margin-bottom:10px}.devis-preview-client strong{font-size:10px;text-transform:uppercase;color:var(--text-muted)}.devis-preview-client p{margin:2px 0 0}.devis-preview-address{color:var(--text-muted);font-size:10px}.devis-preview-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:10px}.devis-preview-table th,.devis-preview-table td{padding:4px 6px;text-align:left;border-bottom:1px solid var(--border-light)}.devis-preview-table th{font-weight:600;color:var(--text-muted);background:var(--gray-50)}.devis-preview-table td:not(:first-child){text-align:right}.devis-preview-totals{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);max-width:180px;margin-left:auto}.devis-preview-total-row{display:flex;justify-content:space-between;padding:2px 0}.devis-preview-total-row.total-ttc{font-weight:700;font-size:12px;margin-top:4px;padding-top:4px;border-top:1px solid var(--border)}.parametres-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--text-muted)}.parametres-page{display:flex;flex-direction:column;gap:var(--space-8);max-width:1400px;margin:0 auto}.parametres-main{display:flex;flex-direction:column;gap:var(--space-6)}.parametres-section{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-sm)}.parametres-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.parametres-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.parametres-grid .full{grid-column:1 / -1}.parametres-field{display:flex;flex-direction:column;gap:var(--space-1)}.parametres-field span{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.parametres-field input{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.parametres-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 59, 130, 246),.2)}.parametres-field select{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.parametres-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 59, 130, 246),.2)}.preview-ref{font-family:ui-monospace,monospace;background:var(--gray-50)!important;color:var(--text-muted);cursor:default}.parametres-hint{font-size:var(--text-xs);color:var(--text-muted);margin:var(--space-1) 0 0}.parametres-hint.block{margin-bottom:var(--space-3)}.parametres-colors{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.color-row{display:flex;align-items:center;gap:var(--space-3)}.color-picker{width:44px;height:44px;padding:2px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:transparent}.color-text{flex:1;min-width:0;max-width:120px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:ui-monospace,monospace;border:1px solid var(--border);border-radius:var(--radius)}.logo-zone{margin-top:var(--space-2)}.logo-drop{border:2px dashed var(--border);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;transition:border-color .15s,background .15s}.logo-drop.drag-over{border-color:var(--primary);background:var(--gray-50)}.logo-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-muted);padding:var(--space-4)}.logo-placeholder:hover{color:var(--primary)}.logo-preview-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-3)}.logo-preview-img{max-width:200px;max-height:100px;object-fit:contain;display:block}.logo-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.btn-browse,.btn-remove-logo{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius);cursor:pointer;border:none;background:var(--gray-100);color:var(--text-secondary)}.btn-browse:hover,.btn-remove-logo:hover{background:var(--gray-200)}.btn-remove-logo{color:var(--red-600, #dc2626)}.parametres-header-actions{display:flex;gap:var(--space-3);align-items:center}.btn-back{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.btn-back:hover{background:var(--gray-50)}.parametres-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.btn-cancel{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.btn-cancel:hover{background:var(--gray-50)}.btn-save{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer}.btn-save:hover:not(:disabled){opacity:.9}.btn-save:disabled{opacity:.7;cursor:not-allowed}.parametres-previews{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.preview-section{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.preview-section h3{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-3)}@media(max-width:1024px){.parametres-previews{grid-template-columns:1fr}}@media(max-width:768px){.parametres-grid{grid-template-columns:1fr}.parametres-section{padding:var(--space-4)}}.org-members-intro{margin-bottom:var(--space-6);color:var(--text-muted);font-size:var(--text-sm)}.org-members-section{margin-bottom:var(--space-8)}.org-members-section-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-3)}.org-members-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.org-members-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.org-members-table th,.org-members-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-light)}.org-members-table th{font-weight:600;color:var(--text-muted);background:var(--gray-50)}.org-members-table tbody tr:last-child td{border-bottom:none}.org-members-table tbody tr:hover{background:var(--gray-50)}.th-actions,.td-actions{width:80px;text-align:right}.role-cell{display:flex;align-items:center;gap:var(--space-2)}.role-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:var(--gray-100);color:var(--gray-700);border-radius:var(--radius-sm)}.role-dropdown{position:relative}.btn-role-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.btn-role-trigger:hover{background:var(--gray-100);color:var(--gray-700)}.role-menu{position:absolute;top:100%;left:0;margin-top:.25rem;min-width:140px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:50;padding:.25rem 0}.role-menu-item{display:block;width:100%;padding:.5rem .75rem;border:none;background:none;text-align:left;font-size:.875rem;color:var(--gray-700);cursor:pointer}.role-menu-item:hover{background:var(--gray-50)}.role-menu-item.selected{font-weight:500;color:var(--primary)}.status-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm)}.status-active{background:#10b98126;color:#059669}.actions-dropdown{position:relative;display:inline-flex;justify-content:flex-end}.btn-actions-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.btn-actions-trigger:hover{background:var(--gray-100);color:var(--gray-700)}.actions-menu{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:140px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:50;padding:.25rem 0}.actions-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:none;text-align:left;font-size:.875rem;color:var(--gray-700);cursor:pointer}.actions-menu-item:hover{background:var(--gray-50)}.actions-menu-item.danger{color:var(--danger)}.org-invites-list{display:flex;flex-direction:column;gap:var(--space-2)}.org-invite-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--gray-50);border:1px solid var(--border-light);border-radius:var(--radius)}.invite-icon{color:var(--text-muted);flex-shrink:0}.invite-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.invite-email{font-weight:500;color:var(--text-primary)}.invite-date{font-size:.8rem;color:var(--text-muted)}.invite-actions{display:flex;gap:var(--space-2)}.btn-invite-action{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;color:var(--primary);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.btn-invite-action:hover{background:var(--gray-50)}.btn-invite-action.danger{color:var(--danger)}.btn-invite-action.danger:hover{background:#ef444414}.perm-inline{display:inline-flex;align-items:center;font-size:.75rem}.perm-inline.perm-owner{color:var(--text-muted);font-style:italic}.perm-inline.perm-clickable{background:none;border:none;padding:.25rem 0;cursor:pointer;text-align:left;font:inherit;color:inherit}.perm-inline.perm-clickable:hover{text-decoration:underline}.perm-inline-empty{color:var(--text-muted);font-size:.75rem}.perm-inline-tags{display:inline-flex;flex-wrap:wrap;gap:.25rem}.perm-inline-tag{display:inline-block;padding:.125rem .375rem;font-size:.65rem;font-weight:500;border-radius:4px}.perm-inline-tag.perm-inline-read{background:#dbeafe;color:#1d4ed8}.perm-inline-tag.perm-inline-write{background:#d1fae5;color:#047857}.invite-perms-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem}.invite-perms-inline .perm-inline-tags{display:inline-flex}.btn-invite{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600}.org-members-loading{padding:var(--space-8);text-align:center;color:var(--text-muted)}.org-members-empty-state{text-align:center;padding:var(--space-12);max-width:400px;margin:0 auto}.org-members-empty-state p{margin-bottom:var(--space-4);color:var(--text-muted)}.org-invite-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.org-invite-modal{width:min(100%,480px);background:var(--surface, #fff);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.org-invite-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.org-invite-modal .modal-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600}.org-invite-modal .modal-close{padding:.5rem;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer}.org-invite-modal .modal-body{padding:1.25rem}.org-invite-modal .form-group{margin-bottom:1.25rem}.org-invite-modal .form-group label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.org-invite-modal .form-group input,.org-invite-modal .form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:1rem}.org-invite-modal .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.org-role-reference{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.org-role-reference-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer}.org-role-reference-trigger:hover{color:var(--text-primary)}.org-role-reference-content{margin-top:.5rem;padding-left:1.5rem;font-size:.8125rem;color:var(--text-muted);line-height:1.6}.org-role-reference-content p{margin:.25rem 0}.perm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.perm-modal{width:min(100%,480px);max-height:calc(100vh - 2rem);background:var(--surface, #fff);border-radius:12px;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d;overflow:hidden;display:flex;flex-direction:column}.perm-modal-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border-light, #e5e7eb)}.perm-modal-title-row{display:flex;align-items:center;justify-content:space-between}.perm-modal-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary, #111827)}.perm-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:8px;color:var(--text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.perm-modal-close:hover{background:var(--gray-100, #f3f4f6);color:var(--text-primary, #111827)}.perm-modal-target{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.perm-modal-name{font-size:.875rem;font-weight:500;color:var(--text-secondary, #374151)}.perm-modal-role-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:var(--primary-light, #e0f2fe);color:var(--primary, #0284c7);border-radius:20px}.perm-modal-body{padding:1rem 1.5rem 1.25rem;overflow-y:auto;flex:1}.perm-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:var(--text-muted, #6b7280);font-size:.875rem}.perm-scopes{display:flex;flex-direction:column;gap:.5rem}.perm-scope-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;background:var(--gray-50, #f9fafb);border:1px solid var(--border-light, #e5e7eb);border-radius:8px;transition:border-color .15s}.perm-scope-row:hover{border-color:var(--border, #d1d5db)}.perm-scope-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex-shrink:1}.perm-scope-name{font-size:.8125rem;font-weight:600;color:var(--text-primary, #111827)}.perm-scope-desc{font-size:.7rem;color:var(--text-muted, #6b7280)}.perm-scope-locked{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;font-weight:500;color:var(--warning, #d97706);margin-top:.125rem}.perm-segmented{display:flex;background:var(--gray-100, #f3f4f6);border-radius:6px;padding:2px;gap:2px;flex-shrink:0}.perm-seg-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .5rem;font-size:.7rem;font-weight:500;border:none;border-radius:5px;background:transparent;color:var(--text-muted, #6b7280);cursor:pointer;transition:all .15s ease;white-space:nowrap}.perm-seg-btn:hover:not(.disabled):not(.active){background:#fff9;color:var(--text-secondary, #374151)}.perm-seg-btn.disabled{opacity:.35;cursor:not-allowed}.perm-seg-btn.active.level-none{background:#fff;color:var(--text-muted, #6b7280);box-shadow:0 1px 3px #00000014}.perm-seg-btn.active.level-read{background:#dbeafe;color:#1d4ed8;box-shadow:0 1px 3px #1d4ed81f}.perm-seg-btn.active.level-write{background:#d1fae5;color:#047857;box-shadow:0 1px 3px #0478571f}.perm-saved-banner{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;margin-bottom:1rem;font-size:.8125rem;font-weight:600;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px}.perm-summary{background:var(--gray-50, #f9fafb);border:1px solid var(--border-light, #e5e7eb);border-radius:10px;padding:1rem}.perm-summary-header{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--text-primary, #111827);margin-bottom:.75rem}.perm-summary-groups{display:flex;flex-direction:column;gap:.75rem}.perm-summary-group{display:flex;flex-direction:column;gap:.375rem}.perm-summary-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.perm-summary-write{color:#047857}.perm-summary-read{color:#1d4ed8}.perm-summary-none{color:var(--text-muted, #9ca3af)}.perm-summary-tags{display:flex;flex-wrap:wrap;gap:.375rem}.perm-tag{display:inline-block;padding:.2rem .5rem;font-size:.7rem;font-weight:500;border-radius:5px}.perm-tag-write{background:#d1fae5;color:#047857}.perm-tag-read{background:#dbeafe;color:#1d4ed8}.perm-tag-none{background:var(--gray-100, #f3f4f6);color:var(--text-muted, #9ca3af)}.perm-modal-actions{display:flex;justify-content:flex-end;gap:.625rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-light, #e5e7eb)}.perm-scopes-compact{margin-top:.5rem}.perm-scopes-compact .perm-scope-row{padding:.5rem .625rem}.spin{animation:org-spin .8s linear infinite}@keyframes org-spin{to{transform:rotate(360deg)}}.drive-explorer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.drive-explorer-modal{background:var(--surface, #fff);border-radius:.75rem;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.drive-explorer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200, #e5e7eb)}.drive-explorer-header h3{font-size:1rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem}.drive-explorer-close{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--gray-400, #9ca3af);border-radius:.25rem}.drive-explorer-close:hover{color:var(--text-primary, #111827);background:var(--gray-100, #f3f4f6)}.drive-explorer-breadcrumb{display:flex;align-items:center;gap:.25rem;padding:.5rem 1.25rem;font-size:.8125rem;color:var(--text-secondary, #6b7280);border-bottom:1px solid var(--gray-100, #f3f4f6);flex-wrap:wrap}.drive-explorer-breadcrumb button{background:none;border:none;padding:.125rem .375rem;border-radius:.25rem;color:var(--primary, #3b82f6);cursor:pointer;font-size:.8125rem}.drive-explorer-breadcrumb button:hover{background:var(--gray-100, #f3f4f6)}.drive-explorer-breadcrumb .separator{color:var(--gray-300, #d1d5db)}.drive-explorer-list{flex:1;overflow-y:auto;padding:.5rem 0}.drive-explorer-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 1.25rem;cursor:pointer;transition:background .1s}.drive-explorer-item:hover{background:var(--gray-50, #f9fafb)}.drive-explorer-item-icon{width:2rem;height:2rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.drive-explorer-item-icon.folder{background:#fef3c7;color:#d97706}.drive-explorer-item-icon.file{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.drive-explorer-item-info{flex:1;min-width:0}.drive-explorer-item-name{font-size:.8125rem;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive-explorer-item-meta{font-size:.6875rem;color:var(--text-secondary, #6b7280)}.drive-explorer-footer{padding:.75rem 1.25rem;border-top:1px solid var(--gray-200, #e5e7eb);display:flex;justify-content:flex-end;gap:.5rem}.drive-explorer-footer button{padding:.5rem 1rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;border:1px solid var(--gray-200, #e5e7eb);background:var(--surface, #fff);color:var(--text-primary, #111827);transition:all .15s}.drive-explorer-footer button.primary{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.drive-explorer-footer button:hover{opacity:.9}.drive-explorer-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary, #6b7280);font-size:.8125rem}.drive-explorer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary, #6b7280);gap:.5rem;font-size:.8125rem}.doc-settings{display:flex;flex-direction:column;gap:1.5rem}.doc-settings-section{background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:.75rem;padding:1.25rem}.doc-settings-section h3{font-size:.9375rem;font-weight:600;color:var(--text-primary, #111827);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.doc-settings-connector-list{display:flex;flex-direction:column;gap:.5rem}.doc-settings-connector{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--gray-100, #f3f4f6);border-radius:.5rem}.doc-settings-connector-icon{width:2.5rem;height:2.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background:var(--gray-100, #f3f4f6);flex-shrink:0}.doc-settings-connector-info{flex:1}.doc-settings-connector-name{font-size:.875rem;font-weight:500;color:var(--text-primary, #111827)}.doc-settings-connector-meta{font-size:.75rem;color:var(--text-secondary, #6b7280)}.doc-settings-connector-status{padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:500}.connector-status-active{background:#dcfce7;color:#166534}.connector-status-expired{background:#fef3c7;color:#92400e}.connector-status-revoked{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.connector-status-error{background:#fef2f2;color:#dc2626}.doc-settings-connector-actions{display:flex;gap:.375rem}.doc-settings-connector-actions button{padding:.375rem .75rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;background:var(--surface, #fff);font-size:.75rem;cursor:pointer;transition:all .15s}.doc-settings-connector-actions button:hover{background:var(--gray-50, #f9fafb)}.doc-settings-connector-actions button.revoke{color:#dc2626;border-color:#fecaca}.doc-settings-connector-actions button.revoke:hover{background:#fef2f2}.doc-settings-add-row{display:flex;gap:.5rem;margin-top:.75rem}.doc-settings-add-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px dashed var(--gray-300, #d1d5db);border-radius:.5rem;background:none;color:var(--primary, #3b82f6);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.doc-settings-add-btn:hover{background:var(--gray-50, #f9fafb);border-color:var(--primary, #3b82f6)}.doc-settings-empty{font-size:.8125rem;color:var(--text-secondary, #6b7280);padding:.5rem 0}.doc-settings-migrate-btn{padding:.5rem 1rem;background:var(--primary, #3b82f6);color:#fff;border:none;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.doc-settings-migrate-btn:hover{background:var(--primary-dark, #2563eb)}.doc-settings-migrate-btn:disabled{opacity:.6;cursor:not-allowed}.stg-layout{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;min-height:70vh}.stg-sidebar{display:flex;flex-direction:column;gap:.25rem;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:.75rem;align-self:flex-start;position:sticky;top:5rem}.stg-tab{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;border-radius:8px;background:transparent;color:var(--gray-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;text-align:left}.stg-tab:hover{background:var(--gray-50);color:var(--gray-800)}.stg-tab--active{background:var(--primary-light);color:var(--primary-dark)}.stg-tab-chevron{margin-left:auto;opacity:0;transition:opacity .15s}.stg-tab--active .stg-tab-chevron,.stg-tab:hover .stg-tab-chevron{opacity:1}.stg-content{min-width:0}.stg-section{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:2rem}.stg-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.stg-section-header .stg-section-title,.stg-section-header .stg-section-desc{margin-bottom:0}.stg-section-title{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin:0 0 .25rem}.stg-section-desc{font-size:.875rem;color:var(--gray-500);margin:0 0 1.5rem}.stg-subsection-title{font-size:.9375rem;font-weight:600;color:var(--gray-700);margin:2rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--gray-100)}.stg-profile-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--gray-50);border-radius:10px;margin-bottom:1.5rem}.stg-avatar-lg{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;flex-shrink:0}.stg-profile-info{flex:1;display:flex;flex-direction:column}.stg-profile-name{font-size:1rem;font-weight:600;color:var(--gray-800)}.stg-profile-email{font-size:.8125rem;color:var(--gray-500)}.stg-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stg-form-grid--narrow{max-width:600px;grid-template-columns:1fr}.stg-field{display:flex;flex-direction:column;gap:.375rem}.stg-field label{font-size:.8125rem;font-weight:500;color:var(--gray-600)}.stg-input{padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--text-primary);background:var(--surface);transition:border-color .15s;width:100%}.stg-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51a}.stg-input--icon{padding-left:2.25rem}.stg-input-group{position:relative;display:flex;align-items:center}.stg-input-icon{position:absolute;left:.75rem;color:var(--gray-400);pointer-events:none;z-index:1}.stg-input-end-btn{position:absolute;right:.5rem;background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;display:flex}.stg-input-end-btn:hover{color:var(--gray-600)}.stg-actions{margin-top:1.5rem;display:flex;gap:.75rem}.stg-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;border:none;white-space:nowrap}.stg-btn--primary{background:var(--primary);color:#fff}.stg-btn--primary:hover{background:var(--primary-hover)}.stg-btn--outline{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.stg-btn--outline:hover{border-color:var(--gray-300);background:var(--gray-50)}.stg-btn--ghost{background:transparent;color:var(--gray-600)}.stg-btn--ghost:hover{background:var(--gray-50)}.stg-btn--danger-text{color:#ef4444}.stg-btn--sm{padding:.375rem .75rem;font-size:.8125rem}.stg-btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--gray-400);transition:all .15s}.stg-btn-icon--danger:hover{background:#fef2f2;color:#ef4444}.stg-plan-card{border:1px solid var(--gray-100);border-radius:12px;overflow:hidden}.stg-plan-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.stg-plan-name{font-size:1.125rem;font-weight:700;display:block}.stg-plan-price{font-size:1.5rem;font-weight:700}.stg-plan-price span{font-size:.875rem;font-weight:400;opacity:.8}.stg-plan-badge{display:inline-flex;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stg-plan-features{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1.5rem;padding:1.25rem 1.5rem}.stg-plan-feature{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-600)}.stg-plan-feature svg{color:#22c55e;flex-shrink:0}.stg-plan-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-100)}.stg-payment-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--gray-100);border-radius:10px}.stg-payment-icon{color:var(--gray-400);flex-shrink:0}.stg-payment-info{flex:1;display:flex;flex-direction:column}.stg-payment-label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.stg-payment-exp{font-size:.75rem;color:var(--gray-400)}.stg-billing-list{display:flex;flex-direction:column;border:1px solid var(--gray-100);border-radius:10px;overflow:hidden}.stg-billing-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--gray-50)}.stg-billing-row:last-child{border-bottom:none}.stg-billing-date{flex:1;font-size:.875rem;color:var(--gray-700)}.stg-billing-amount{font-size:.875rem;font-weight:600;color:var(--gray-800)}.stg-billing-status{font-size:.75rem;color:#22c55e;font-weight:500}.stg-2fa-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--gray-100);border-radius:10px;background:var(--gray-50)}.stg-2fa-icon{color:var(--gray-400);flex-shrink:0}.stg-2fa-info{flex:1;display:flex;flex-direction:column}.stg-2fa-status{font-size:.875rem;font-weight:600;color:var(--gray-700)}.stg-2fa-desc{font-size:.75rem;color:var(--gray-500)}.stg-sessions{border:1px solid var(--gray-100);border-radius:10px}.stg-session-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.stg-session-info{display:flex;flex-direction:column}.stg-session-device{font-size:.875rem;font-weight:500;color:var(--gray-700)}.stg-session-meta{font-size:.75rem;color:var(--gray-400)}.stg-session-badge{font-size:.6875rem;font-weight:600;color:#22c55e;background:#dcfce7;padding:.25rem .5rem;border-radius:999px}.stg-loading{padding:2rem;color:var(--gray-500)}.stg-file-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.stg-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.stg-hint{font-size:.75rem;color:var(--gray-500);margin-top:.25rem}.stg-input--sm{max-width:200px}.stg-2fa-disable{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.stg-mfa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.stg-mfa-modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:420px;width:100%;overflow:hidden}.stg-mfa-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-100)}.stg-mfa-modal-header h3{font-size:1rem;font-weight:600;margin:0}.stg-mfa-close{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--gray-500)}.stg-mfa-close:hover{color:var(--gray-800)}.stg-mfa-modal-body{padding:1.25rem}.stg-mfa-modal-body p{font-size:.875rem;color:var(--gray-600);margin:0 0 .75rem}.stg-mfa-qr{display:block;margin:1rem auto;width:200px;height:200px}.stg-mfa-secret{font-family:ui-monospace,monospace;font-size:.8125rem;background:var(--gray-100);padding:.25rem .5rem;border-radius:4px;word-break:break-all}.stg-mfa-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.spin{animation:stg-spin .8s linear infinite}@keyframes stg-spin{to{transform:rotate(360deg)}}.stg-notif-list{display:flex;flex-direction:column}.stg-notif-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--gray-50)}.stg-notif-row:last-child{border-bottom:none}.stg-notif-info{display:flex;flex-direction:column}.stg-notif-label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.stg-notif-desc{font-size:.75rem;color:var(--gray-400)}.stg-toggle{background:none;border:none;cursor:pointer;display:flex;padding:0}.stg-toggle--on{color:var(--accent)}.stg-toggle--off{color:var(--gray-300)}.stg-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.25rem;font-size:.85rem}.stg-alert p{margin:.25rem 0 0;font-size:.8rem}.stg-alert strong{display:block;font-weight:600}.stg-alert--warn{background:#fef3c7;border:1px solid #f59e0b;color:#92400e}.stg-alert--info{background:#dbeafe;border:1px solid #3b82f6;color:#1e40af}.stg-plan-badge--active{background:#d1fae5;color:#065f46}.stg-plan-badge--trial{background:#dbeafe;color:#1e40af}.stg-plan-badge--warn{background:#fef3c7;color:#92400e}.stg-plan-badge--danger{background:#fee2e2;color:#991b1b}.stg-plan-badge--neutral{background:var(--surface-secondary, #f3f4f6);color:var(--text-secondary, #6b7280)}.stg-usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:.5rem}.stg-usage-row{background:var(--surface-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:10px;padding:.75rem 1rem}.stg-usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.stg-usage-label{font-size:.8rem;font-weight:500;color:var(--text-primary, #1a1a2e)}.stg-usage-count{font-size:.75rem;color:var(--text-secondary, #6b7280)}.stg-usage-bar{height:6px;background:var(--surface-secondary, #f3f4f6);border-radius:3px;overflow:hidden}.stg-usage-fill{height:100%;background:var(--primary, #5b4cdb);border-radius:3px;transition:width .3s ease}.stg-usage-fill--warn{background:#f59e0b}@media(max-width:900px){.stg-layout{grid-template-columns:1fr}.stg-sidebar{flex-direction:row;overflow-x:auto;position:static;gap:.125rem}.stg-tab{flex-shrink:0;padding:.625rem .875rem}.stg-tab span,.stg-tab-chevron{display:none}.stg-section{padding:1.25rem}.stg-form-grid,.stg-plan-features{grid-template-columns:1fr}}.plans-page{width:100%;max-width:var(--container-max);margin:0 auto;padding-bottom:var(--space-10)}.plans-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-4);color:var(--text-muted)}.plans-loading-text{margin:0;font-size:var(--text-sm)}.spin{animation:plans-spin .75s linear infinite}@keyframes plans-spin{to{transform:rotate(360deg)}}.plans-current-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-8);background:var(--primary-light);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:var(--radius-md)}.plans-current-banner-inner{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.plans-current-label{font-weight:var(--font-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.plans-current-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.plans-current-meta{font-weight:var(--font-normal);color:var(--text-muted)}.plans-current-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-dark);text-decoration:none;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);background:var(--surface);transition:background var(--transition-fast),border-color var(--transition-fast)}.plans-current-link:hover{background:var(--surface-elevated);border-color:var(--primary)}.plans-header{text-align:center;margin-bottom:var(--space-10);max-width:40rem;margin-left:auto;margin-right:auto}.plans-title{font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-3);color:var(--text-primary)}.plans-subtitle{margin:0 0 var(--space-8);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}.plans-interval{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.plans-interval-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.plans-interval-toggle{display:inline-flex;padding:var(--space-1);background:var(--gray-100);border-radius:var(--radius-md);border:1px solid var(--border)}.plans-interval-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.plans-interval-btn:hover:not(.active){color:var(--text-primary)}.plans-interval-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.plans-interval-badge{padding:.125rem var(--space-2);border-radius:var(--radius-xs);font-size:.65rem;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.03em;background:var(--primary);color:#fff}.plans-empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-10)}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);align-items:stretch;margin-bottom:var(--space-10)}@media(max-width:1024px){.plans-grid{grid-template-columns:1fr;max-width:22rem;margin-left:auto;margin-right:auto}}.plan-card{position:relative;display:flex;flex-direction:column;padding:var(--space-6) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.plan-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.plan-card--featured{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.plan-card--current{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.plan-card-ribbon{position:absolute;top:0;right:var(--space-5);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-bold);color:#fff;background:var(--accent);border-radius:0 0 var(--radius) var(--radius);letter-spacing:.02em}.plan-card-top{margin-bottom:var(--space-5);padding-top:var(--space-1)}.plan-card-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:var(--space-3);color:var(--primary-dark);background:var(--primary-light);border-radius:var(--radius-md)}.plan-card-icon-wrap--featured{color:var(--accent-dark);background:var(--accent-light)}.plan-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.plan-card-name{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.plan-card-pill{padding:.125rem var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--primary-dark);background:var(--primary-light);border-radius:var(--radius-full)}.plan-card-desc{margin:0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}.plan-card-price-block{margin-bottom:var(--space-4);min-height:3.25rem}.plan-card-price-main{display:block;font-size:1.75rem;font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary)}.plan-card-price-unit{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-muted)}.plan-card-price-hint{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-normal)}.plan-card-trial{margin:calc(-1 * var(--space-2)) 0 var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--accent-dark)}.plan-card-btn{width:100%;min-height:var(--btn-height);margin-bottom:var(--space-5);padding:0 var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);color:#fff;background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.plan-card-btn:hover:not(:disabled){background:var(--primary-hover)}.plan-card-btn--featured:not(:disabled){background:var(--accent)}.plan-card-btn--featured:not(:disabled):hover{background:var(--accent-dark)}.plan-card-btn--current{background:var(--gray-100);color:var(--text-muted);cursor:default}.plan-card-btn:disabled{opacity:.65;cursor:not-allowed}.plan-card-features-wrap{flex:1;display:flex;flex-direction:column;margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-light)}.plan-card-features-title{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.plan-card-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.plan-card-features li{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary)}.plan-card-features-check{color:var(--success);margin-top:.2em;flex-shrink:0}.plan-card-features-label{min-width:0;word-break:break-word}.plan-feature-limit{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-align:right;white-space:nowrap}.plan-card-features-more{margin-top:var(--space-3);padding:var(--space-2) 0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--accent-dark);background:transparent;border:none;border-radius:var(--radius);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.plan-card-features-more:hover{color:var(--accent);background:var(--gray-50)}.plan-card-features-more svg{transition:transform var(--transition-fast)}.plan-card-features-more-icon--up{transform:rotate(180deg)}.plans-comparison-section{margin-top:var(--space-4)}.plans-comparison-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.plans-comparison-toggle:hover{background:var(--gray-100);border-color:var(--gray-300)}.plans-comparison-toggle span:first-of-type{flex:1}.plans-comparison-count{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-muted)}.plans-comparison-toggle svg{flex-shrink:0;color:var(--text-muted);transition:transform var(--transition-fast)}.plans-comparison-chevron--up{transform:rotate(180deg)}.plans-table-scroll{margin-top:var(--space-3);overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs)}.plans-table{width:100%;min-width:36rem;border-collapse:collapse;font-size:var(--text-sm)}.plans-table thead th{padding:var(--space-3) var(--space-4);font-weight:var(--font-semibold);color:var(--text-primary);text-align:center;vertical-align:bottom;background:var(--gray-50);border-bottom:1px solid var(--border)}.plans-table thead th:first-child{text-align:left}.plans-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--gray-50) 55%,var(--surface))}.plans-table tbody tr:hover{background:var(--primary-light)}.plans-table tbody th,.plans-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);vertical-align:middle}.plans-table-sticky{position:sticky;left:0;z-index:2;text-align:left;background:var(--surface);box-shadow:4px 0 12px -8px #0000001f}.plans-table thead .plans-table-sticky{z-index:3;background:var(--gray-50)}.plans-table tbody tr:nth-child(2n) .plans-table-sticky{background:color-mix(in srgb,var(--gray-50) 55%,var(--surface))}.plans-table tbody tr:hover .plans-table-sticky{background:var(--primary-light)}.plans-table-rowhead{font-weight:var(--font-medium);color:var(--text-primary);max-width:14rem}.plans-cell{text-align:center;color:var(--text-secondary)}.plans-cell--enabled{color:var(--success);font-weight:var(--font-medium)}.plans-cell--enabled span{font-size:var(--text-xs);color:var(--text-secondary)}.plans-cell--disabled{color:var(--gray-300)}.plans-cell svg{display:inline-block;vertical-align:middle}[data-theme=dark] .plans-interval-toggle{background:var(--surface-elevated)}[data-theme=dark] .plans-interval-btn.active{background:var(--gray-800)}[data-theme=dark] .plans-comparison-toggle,[data-theme=dark] .plans-table thead th,[data-theme=dark] .plans-table thead .plans-table-sticky{background:var(--surface-elevated)}.plans-trust-footer{margin:var(--space-6) 0 var(--space-8);text-align:center}.plans-trust-text{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.plans-trust-text a{color:var(--primary);font-weight:var(--font-semibold);text-decoration:none}.plans-trust-text a:hover{text-decoration:underline}.page-body:has(>.documents-split-layout){padding-top:.5rem;width:100%;max-width:none}.documents-split-layout{display:flex;flex:1;min-height:0;overflow:hidden;width:100%}.documents-page-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;min-width:0;transition:flex .2s ease}.documents-toolbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;flex-wrap:wrap;flex-shrink:0}.documents-search{flex:1;min-width:180px;max-width:400px;position:relative}.documents-search input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;font-size:.875rem;background:var(--surface, #fff);color:var(--text-primary, #111827);transition:border-color .15s}.documents-search input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.documents-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--gray-400, #9ca3af);pointer-events:none}.documents-filters{display:flex;gap:.5rem;flex-wrap:wrap}.documents-filters select{padding:.5rem .75rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;font-size:.8125rem;background:var(--surface, #fff);color:var(--text-primary, #111827);cursor:pointer;min-width:130px}.documents-upload-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary, #3b82f6);color:#fff;border:none;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.documents-upload-btn:hover{background:var(--primary-dark, #2563eb)}.documents-sort-wrapper{position:relative}.documents-sort-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;font-size:.8125rem;background:var(--surface, #fff);color:var(--text-primary, #111827);cursor:pointer;transition:all .15s;white-space:nowrap}.documents-sort-btn:hover{background:var(--gray-50, #f9fafb)}.documents-sort-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:200px;padding:.25rem}.documents-sort-dropdown button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;background:none;border:none;border-radius:.375rem;font-size:.8125rem;color:var(--text-primary, #111827);cursor:pointer;transition:background .1s}.documents-sort-dropdown button:hover{background:var(--gray-50, #f9fafb)}.documents-sort-dropdown button.active{background:#3b82f614;color:var(--primary, #3b82f6);font-weight:500}.sort-dir{font-size:.875rem;opacity:.6}.documents-category-tabs{display:flex;gap:.25rem;padding:0 1rem;border-bottom:1px solid var(--gray-200, #e5e7eb);overflow-x:auto;flex-shrink:0}.documents-category-tab{padding:.5rem .875rem;font-size:.8125rem;color:var(--text-secondary, #6b7280);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s}.documents-category-tab:hover{color:var(--text-primary, #111827)}.documents-category-tab.active{color:var(--primary, #3b82f6);border-bottom-color:var(--primary, #3b82f6);font-weight:500}.documents-category-tab .tab-count{font-size:.6875rem;color:var(--gray-400, #9ca3af);margin-left:.25rem}.documents-list{flex:1;overflow-y:auto;padding:0 1rem}.documents-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary, #6b7280);gap:.75rem}.documents-empty svg{opacity:.3}.document-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;border-bottom:1px solid var(--gray-100, #f3f4f6);cursor:pointer;transition:background .1s;border-radius:.375rem}.document-row:hover{background:var(--gray-50, #f9fafb)}.document-row.active{background:#3b82f60f;border-left:3px solid var(--primary, #3b82f6)}.document-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.document-icon.pdf{background:#fef2f2;color:#ef4444}.document-icon.image{background:#f0fdf4;color:#22c55e}.document-icon.doc{background:#eff6ff;color:#3b82f6}.document-icon.default{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.document-info{flex:1;min-width:0}.document-title{font-size:.875rem;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-secondary, #6b7280);margin-top:.125rem;flex-wrap:wrap}.document-chips{display:flex;gap:.375rem;flex-wrap:wrap;flex-shrink:0}.document-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:500;text-decoration:none;transition:opacity .15s}.document-chip:hover{opacity:.8}.chip-invoice{background:#dcfce7;color:#166534}.chip-proposal{background:#dbeafe;color:#1e40af}.chip-contract{background:#fef3c7;color:#92400e}.chip-expense{background:#fce7f3;color:#9d174d}.chip-receipt{background:#f3e8ff;color:#7c3aed}.chip-hr{background:#e0e7ff;color:#4338ca}.chip-free,.chip-entity{background:var(--gray-100, #f3f4f6);color:var(--gray-700, #374151)}.document-sync-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:500;flex-shrink:0}.sync-none{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.sync-synced{background:#dcfce7;color:#166534}.sync-pending{background:#fef3c7;color:#92400e}.sync-failed{background:#fef2f2;color:#dc2626}.document-actions{display:flex;gap:.25rem;flex-shrink:0}.document-actions button{padding:.375rem;background:none;border:none;border-radius:.375rem;color:var(--gray-400, #9ca3af);cursor:pointer;transition:all .15s}.document-actions button:hover{background:var(--gray-100, #f3f4f6);color:var(--text-primary, #111827)}.document-icon-sm{width:1.5rem;height:1.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.document-icon-sm.pdf{background:#fef2f2;color:#ef4444}.document-icon-sm.image{background:#f0fdf4;color:#22c55e}.document-icon-sm.doc{background:#eff6ff;color:#3b82f6}.document-icon-sm.default{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.preview-panel{width:38vw;min-width:420px;max-width:700px;height:100%;background:var(--surface, #fff);border-left:1px solid var(--gray-200, #e5e7eb);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;animation:panelSlideIn .2s ease}@keyframes panelSlideIn{0%{width:0;min-width:0;opacity:0}to{opacity:1}}.preview-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200, #e5e7eb);flex-shrink:0}.preview-panel-title{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.preview-panel-title-text{min-width:0}.preview-panel-title-text h3{font-size:.9375rem;font-weight:600;color:var(--text-primary, #111827);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-panel-title-text p{font-size:.75rem;color:var(--text-secondary, #6b7280);margin:.125rem 0 0}.preview-panel-close{padding:.375rem;background:none;border:none;color:var(--gray-500, #6b7280);cursor:pointer;border-radius:.375rem;flex-shrink:0;transition:all .15s}.preview-panel-close:hover{background:var(--gray-100, #f3f4f6);color:var(--text-primary, #111827)}.preview-panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.preview-panel-frame{flex:1;border:none;width:100%;min-height:0}.preview-panel-image{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto;background:var(--gray-50, #f9fafb)}.preview-panel-image img{max-width:100%;max-height:100%;object-fit:contain;border-radius:.5rem}.preview-panel-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280);font-size:.875rem}.preview-panel-no-preview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--text-secondary, #6b7280);font-size:.875rem}.preview-hint{font-size:.75rem;opacity:.6}.preview-panel-meta{padding:.75rem 1.25rem;border-top:1px solid var(--gray-200, #e5e7eb);display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;max-height:180px;overflow-y:auto}.preview-meta-row{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.preview-meta-label{color:var(--text-secondary, #6b7280);font-weight:500;min-width:70px;flex-shrink:0}.preview-meta-links{display:flex;gap:.25rem;flex-wrap:wrap}.preview-panel-actions{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--gray-200, #e5e7eb);flex-shrink:0}.preview-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;background:var(--surface, #fff);color:var(--text-primary, #111827);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.preview-action-btn:hover{background:var(--gray-50, #f9fafb)}.preview-action-btn.primary{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.preview-action-btn.primary:hover{background:var(--primary-dark, #2563eb)}.documents-pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--gray-200, #e5e7eb);font-size:.8125rem;color:var(--text-secondary, #6b7280);flex-shrink:0}.documents-pagination-btns{display:flex;gap:.375rem}.documents-pagination-btns button{padding:.375rem .75rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;background:var(--surface, #fff);font-size:.8125rem;cursor:pointer;transition:all .15s}.documents-pagination-btns button:hover:not(:disabled){background:var(--gray-50, #f9fafb)}.documents-pagination-btns button:disabled{opacity:.5;cursor:not-allowed}.documents-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary, #6b7280)}@media(max-width:900px){.documents-split-layout{flex-direction:column}.preview-panel{width:100%;min-width:0;max-width:none;height:50vh;border-left:none;border-top:1px solid var(--gray-200, #e5e7eb)}}.document-detail-page{display:flex;flex-direction:column;gap:1.25rem}.document-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.document-detail-title-group{display:flex;align-items:center;gap:.75rem}.document-detail-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.document-detail-icon.pdf{background:#fef2f2;color:#ef4444}.document-detail-icon.image{background:#f0fdf4;color:#22c55e}.document-detail-icon.doc{background:#eff6ff;color:#3b82f6}.document-detail-icon.default{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.document-detail-title-text h2{font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827);margin:0}.document-detail-title-text p{font-size:.8125rem;color:var(--text-secondary, #6b7280);margin:.125rem 0 0}.document-detail-actions{display:flex;gap:.5rem}.document-detail-actions button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid var(--gray-200, #e5e7eb);background:var(--surface, #fff);color:var(--text-primary, #111827)}.document-detail-actions button:hover{background:var(--gray-50, #f9fafb)}.document-detail-actions .btn-primary{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.document-detail-actions .btn-primary:hover{background:var(--primary-dark, #2563eb)}.document-detail-actions .btn-danger{color:#dc2626;border-color:#fecaca}.document-detail-actions .btn-danger:hover{background:#fef2f2}.document-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:1.25rem}@media(max-width:900px){.document-detail-grid{grid-template-columns:1fr}}.document-preview-card,.document-meta-card,.document-links-card{background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:.75rem;padding:1.25rem}.document-preview-card{min-height:400px;display:flex;flex-direction:column}.document-preview-card h3,.document-meta-card h3,.document-links-card h3{font-size:.875rem;font-weight:600;color:var(--text-primary, #111827);margin:0 0 1rem}.document-preview-frame{flex:1;border:none;border-radius:.5rem;width:100%;min-height:500px}.document-no-preview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-secondary, #6b7280)}.document-meta-grid{display:grid;grid-template-columns:auto 1fr;gap:.625rem 1rem;font-size:.8125rem}.document-meta-label{color:var(--text-secondary, #6b7280);font-weight:500}.document-meta-value{color:var(--text-primary, #111827);word-break:break-all}.document-meta-sidebar{display:flex;flex-direction:column;gap:1.25rem}.document-link-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--gray-100, #f3f4f6)}.document-link-info{display:flex;align-items:center;gap:.5rem}.document-link-type{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:999px;background:var(--gray-100, #f3f4f6);color:var(--gray-700, #374151)}.document-link-role{font-size:.6875rem;color:var(--text-secondary, #6b7280)}.document-link-remove{background:none;border:none;color:var(--gray-400, #9ca3af);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .15s}.document-link-remove:hover{color:#dc2626;background:#fef2f2}.document-edit-row{display:flex;gap:.5rem;margin-bottom:.75rem}.document-edit-row label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #6b7280);min-width:80px;padding-top:.375rem}.document-edit-row input,.document-edit-row textarea{flex:1;padding:.375rem .625rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;font-size:.8125rem}.document-edit-row textarea{min-height:60px;resize:vertical}.document-loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary, #6b7280)}.document-image-preview{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;border-radius:.5rem;background:var(--gray-50, #f9fafb)}.document-image-preview img{max-width:100%;max-height:600px;object-fit:contain;border-radius:.5rem}.document-preview-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280);font-size:.875rem;min-height:300px}.share-menu-wrapper{position:relative}.share-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:200px;padding:.375rem}.share-dropdown button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;border-radius:.375rem;font-size:.8125rem;color:var(--text-primary, #111827);cursor:pointer;transition:background .1s;text-align:left}.share-dropdown button:hover{background:var(--gray-50, #f9fafb)}.notif-page{display:flex;flex-direction:column;gap:1rem}.notif-page-header{display:flex;flex-direction:column;gap:1rem;background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius-lg, 12px);padding:1.25rem}.notif-page-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.notif-page-stat{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.notif-page-stat .stat-value{font-weight:700;font-size:1.125rem;color:var(--text-primary, #111827)}.notif-page-stat .stat-label{font-size:.75rem;color:var(--text-muted, #9ca3af)}.notif-page-stat.unread .stat-value{color:var(--danger, #ef4444)}.notif-page-stat.read .stat-value{color:var(--success, #10b981)}.stat-dot{width:8px;height:8px;border-radius:50%}.stat-dot.unread{background:var(--danger, #ef4444)}.notif-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.notif-page-filters{display:flex;gap:.5rem;align-items:center}.notif-filter-group{display:flex;align-items:center;gap:.375rem;color:var(--text-muted, #6b7280)}.notif-filter-select{padding:.375rem .625rem;font-size:.8125rem;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;background:var(--surface, #fff);color:var(--text-primary, #111827);font-family:inherit;cursor:pointer}.notif-filter-select:focus{outline:none;border-color:var(--primary, #2016de)}.notif-mark-all-btn{display:flex;align-items:center;gap:.375rem;padding:.4rem .875rem;font-size:.8125rem;font-weight:500;color:var(--primary, #2016de);background:#2016de0f;border:1px solid rgba(32,22,222,.15);border-radius:.375rem;cursor:pointer;transition:all .15s;font-family:inherit}.notif-mark-all-btn:hover{background:#2016de1f}.notif-page-list{background:var(--surface, #fff);border:1px solid var(--gray-200, #e5e7eb);border-radius:var(--radius-lg, 12px);overflow:hidden}.notif-page-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:4rem 1.5rem;color:var(--text-muted, #6b7280);font-size:.9375rem}.notif-page-empty-icon{color:var(--gray-300, #d1d5db);margin-bottom:.5rem}.notif-page-empty-hint{font-size:.8125rem;color:var(--text-muted, #9ca3af)}.notif-page-item{display:flex;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-100, #f3f4f6);cursor:pointer;transition:background .15s}.notif-page-item:last-child{border-bottom:none}.notif-page-item:hover{background:var(--gray-50, #f9fafb)}.notif-page-item.unread{background:#2016de04}.notif-page-item.unread:hover{background:#2016de0a}.notif-page-item-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-top:.125rem}.notif-page-item-icon.info{background:#3b82f61a;color:#3b82f6}.notif-page-item-icon.success{background:#10b9811a;color:#10b981}.notif-page-item-icon.warning{background:#f59e0b1a;color:#f59e0b}.notif-page-item-icon.error{background:#ef44441a;color:#ef4444}.notif-page-item-body{flex:1;min-width:0}.notif-page-item-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #111827);line-height:1.4;display:flex;align-items:center;gap:.375rem}.notif-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--primary, #2016de);flex-shrink:0}.notif-page-item-message{font-size:.8125rem;color:var(--text-secondary, #4b5563);margin-top:.25rem;line-height:1.5}.notif-page-item-meta{display:flex;align-items:center;gap:.625rem;margin-top:.5rem;flex-wrap:wrap}.notif-page-item-category{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;color:var(--text-muted, #9ca3af);background:var(--gray-50, #f9fafb);padding:.125rem .5rem;border-radius:4px;border:1px solid var(--gray-100, #f3f4f6)}.notif-page-item-author{font-size:.7rem;color:var(--text-muted, #9ca3af);font-style:italic}.notif-page-item-date{font-size:.7rem;color:var(--text-muted, #9ca3af)}.notif-page-item-link{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;color:var(--primary, #2016de);font-weight:500}.notif-page-item-actions{display:flex;align-items:flex-start;flex-shrink:0}.notif-page-item-delete{padding:.375rem;background:none;border:none;color:var(--gray-400, #9ca3af);cursor:pointer;border-radius:.375rem;transition:all .15s;opacity:0}.notif-page-item:hover .notif-page-item-delete{opacity:1}.notif-page-item-delete:hover{background:#ef444414;color:var(--danger, #ef4444)}.notif-page-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0}.notif-page-pagination button{padding:.4rem 1rem;font-size:.8125rem;font-weight:500;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;background:var(--surface, #fff);color:var(--text-primary, #111827);cursor:pointer;font-family:inherit;transition:all .15s}.notif-page-pagination button:hover:not(:disabled){background:var(--gray-50, #f9fafb);border-color:var(--gray-300, #d1d5db)}.notif-page-pagination button:disabled{opacity:.4;cursor:default}.notif-page-pagination-info{font-size:.8125rem;color:var(--text-muted, #9ca3af)}@media(max-width:640px){.notif-page-stats{gap:1rem}.notif-page-toolbar{flex-direction:column;align-items:stretch}.notif-page-item{gap:.75rem;padding:.875rem 1rem}}:root{--primary: #10b981;--primary-dark: #059669;--primary-light: #d1fae5;--primary-hover: #059669;--secondary: #3b82f6;--secondary-light: #eff6ff;--secondary-dark: #2563eb;--danger: #ef4444;--danger-light: #fee2e2;--danger-dark: #dc2626;--warning: #f59e0b;--warning-light: #fef3c7;--warning-dark: #d97706;--success: #22c55e;--success-light: #dcfce7;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--surface: #ffffff;--surface-elevated: #ffffff;--background: var(--gray-50);--text-primary: var(--gray-800);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-disabled: var(--gray-400);--border: var(--gray-200);--border-light: var(--gray-100);--accent: #4f46e5;--accent-dark: #4338ca;--accent-light: #e0e7ff;--chart-green: #22c55e;--chart-red: #dc2626;--chart-blue: #3b82f6;--chart-amber: #f59e0b;--chart-purple: #8b5cf6;--chart-orange: #f97316;--chart-yellow: #eab308;--sidebar-width: 260px;--sidebar-collapsed: 70px;--header-height: 64px;--container-max: 1400px;--page-gutter: 1.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--input-height: 40px;--btn-height: 40px;--btn-height-sm: 32px;--icon-size: 20px;--icon-size-sm: 16px;--shadow-xs: 0 1px 2px rgb(0 0 0 / .04);--shadow-sm: 0 1px 3px rgb(0 0 0 / .06), 0 1px 2px rgb(0 0 0 / .04);--shadow: 0 2px 6px rgb(0 0 0 / .08), 0 1px 3px rgb(0 0 0 / .06);--shadow-md: 0 4px 12px rgb(0 0 0 / .08), 0 2px 4px rgb(0 0 0 / .04);--shadow-lg: 0 10px 24px rgb(0 0 0 / .1), 0 4px 8px rgb(0 0 0 / .06);--shadow-dropdown: 0 4px 16px rgb(0 0 0 / .12);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease;--focus-ring: 0 0 0 2px var(--surface) inset, 0 0 0 4px var(--primary)}[data-theme=dark]{--gray-50: #1e293b;--gray-100: #1e293b;--gray-200: #334155;--gray-300: #475569;--gray-400: #64748b;--gray-500: #94a3b8;--gray-600: #cbd5e1;--gray-700: #e2e8f0;--gray-800: #f1f5f9;--gray-900: #f8fafc;--surface: #0f172a;--surface-elevated: #1e293b;--background: #0b1120;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-disabled: #64748b;--border: #334155;--border-light: #1e293b;--accent: #818cf8;--accent-dark: #6366f1;--accent-light: rgba(99, 102, 241, .15);--primary-light: rgba(16, 185, 129, .12);--primary-dark: #34d399;--danger-light: rgba(239, 68, 68, .15);--danger-dark: #f87171;--shadow-xs: 0 1px 2px rgb(0 0 0 / .2);--shadow-sm: 0 1px 3px rgb(0 0 0 / .3), 0 1px 2px rgb(0 0 0 / .2);--shadow: 0 2px 6px rgb(0 0 0 / .3), 0 1px 3px rgb(0 0 0 / .2);--shadow-md: 0 4px 12px rgb(0 0 0 / .3), 0 2px 4px rgb(0 0 0 / .2);--shadow-lg: 0 10px 24px rgb(0 0 0 / .4), 0 4px 8px rgb(0 0 0 / .3);--shadow-dropdown: 0 4px 16px rgb(0 0 0 / .4)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}body{height:100%;overflow:hidden;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--btn-height);padding:0 var(--space-4);border-radius:var(--radius);font-weight:var(--font-medium);font-size:var(--text-sm);transition:background var(--transition),color var(--transition),border-color var(--transition)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--gray-100);color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background:var(--gray-200)}.btn-ghost{background:transparent;color:var(--gray-700)}.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}.btn-sm{min-height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--text-xs)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-label em{color:var(--danger);font-style:normal}.form-input,.form-select,.form-textarea{min-height:var(--input-height);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b98126}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-disabled)}.form-textarea{min-height:80px;padding:var(--space-3);resize:vertical}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--gray-50);color:var(--text-muted);cursor:not-allowed}.card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--border-light)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.card-body{padding:var(--space-4)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.badge-success{background:var(--primary-light);color:var(--primary-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-danger{background:var(--danger-light);color:var(--danger-dark)}.badge-neutral{background:var(--gray-100);color:var(--gray-600)}.table-container{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border-light)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--gray-50);border-bottom:1px solid var(--border)}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);color:var(--text-primary)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--gray-50)}.stat-card{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.stat-change{font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-2)}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--danger)}.empty-state{padding:var(--space-8);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.empty-state.error-state{color:var(--danger)}.loading-state{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-muted)}.spinning{animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}.pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--page-gutter);background:var(--surface);border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);flex-shrink:0}.pagination-info{font-size:var(--text-sm);color:var(--text-muted)}.pagination-controls{display:flex;gap:var(--space-1)}.btn-page{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition)}.btn-page:hover:not(:disabled){background:var(--gray-50)}.btn-page:disabled{opacity:.5;cursor:not-allowed}.btn-page.active{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:100%;max-height:90vh;overflow:auto}.page{max-width:var(--container-max);margin:0 auto;padding:var(--page-gutter)}.page-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;margin-bottom:var(--space-6);flex-shrink:0}.page-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.page-actions{display:flex;align-items:center;gap:var(--space-2)}.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.page-actions-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.page-actions-bar-left,.page-actions-bar-right{display:flex;align-items:center;gap:var(--space-2)}.page-search-input{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--btn-height-sm);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);background:var(--surface);color:var(--text-primary);min-width:200px;transition:border-color var(--transition),box-shadow var(--transition)}.page-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b98126}.page-search-input::placeholder{color:var(--text-disabled)}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;margin-bottom:var(--space-4)}.page-stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.page-stat-card{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.page-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.page-stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.page-stat-card.highlight .page-stat-value{color:var(--success)}.not-implemented-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:600;background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2);white-space:nowrap;vertical-align:middle}.mock-data-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#f59e0b0f;border:1px dashed rgba(245,158,11,.3);border-radius:var(--radius);color:#b45309;font-size:var(--text-xs);font-weight:500;margin-bottom:var(--space-4)}.table thead.sticky-head{position:sticky;top:0;z-index:2}.table thead.sticky-head th{box-shadow:0 2px 0 var(--border)}@media(max-width:768px){.page-stats-row{grid-template-columns:1fr}.page-actions-bar{flex-direction:column;align-items:stretch}}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap.tooltip-wrap--block{display:flex;width:100%}.tooltip-bubble{position:absolute;left:50%;transform:translate(-50%);padding:8px 12px;background:var(--gray-800, #1e293b);color:var(--gray-50, #f8fafc);font-size:12px;line-height:1.45;border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 1px #0000001a;white-space:normal;max-width:240px;text-align:center;z-index:99999;pointer-events:none;animation:tooltip-fade-in .15s ease-out}.tooltip-bubble--fixed{left:auto;transform:none}.tooltip-wrap.tooltip-top .tooltip-bubble{bottom:calc(100% + 10px)}.tooltip-wrap.tooltip-bottom .tooltip-bubble{top:calc(100% + 10px)}.tooltip-wrap.tooltip-top .tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--gray-800, #1e293b)}.tooltip-wrap.tooltip-bottom .tooltip-bubble:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--gray-800, #1e293b)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
