:root{--space-400:32px;--space-500:40px;--space-600:48px;--section-gap:var(--space-400);--section-pad:var(--space-300);--shadow-sm:0 1px 2px #091e421f;--shadow-md:0 4px 12px #091e421a;--shadow-lg:0 8px 24px #091e421f;--shadow-xl:0 20px 60px #091e4233;--shadow-hover:0 4px 16px #091e4226;--font-hero-size:28px;--font-hero-line:36px;--font-hero-weight:700;--font-h1-size:24px;--font-h1-line:32px;--font-h1-weight:700;--font-h2-size:18px;--font-h2-line:24px;--font-h2-weight:600;--font-h3-size:16px;--font-h3-line:22px;--font-h3-weight:600;--font-label-size:12px;--font-label-line:16px;--font-label-weight:500;--font-tiny-size:11px;--font-tiny-line:14px;--badge-font-size:12px;--badge-font-weight:600;--badge-pad-x:8px;--badge-pad-y:2px;--badge-radius:var(--radius-sm);--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--kpi-icon-size:28px;--kpi-value-size:28px;--kpi-value-weight:700;--kpi-label-size:13px}:root[data-theme=dark]{--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 12px #0003;--shadow-lg:0 8px 24px #00000040;--shadow-xl:0 20px 60px #0006;--shadow-hover:0 4px 16px #0000004d}
.ux-confirm-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.15s ux-fade-in;display:flex;position:fixed;inset:0}.ux-confirm-dialog{background:var(--surface,#1a1d27);border:1px solid var(--border,#2d3140);text-align:center;border-radius:16px;width:90%;max-width:440px;padding:32px;box-shadow:0 20px 60px #00000080}.ux-confirm-icon{margin-bottom:12px;font-size:40px}.ux-confirm-title{margin-bottom:8px;font-size:18px;font-weight:700}.ux-confirm-message{color:var(--text2,#9399a8);margin-bottom:24px;font-size:14px;line-height:1.6}.ux-confirm-actions{justify-content:center;gap:10px;display:flex}.ux-confirm-btn{cursor:pointer;border:1px solid var(--border);border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.ux-confirm-btn--cancel{color:var(--text2);background:0 0}.ux-confirm-btn--cancel:hover{background:var(--surface2,#232733)}.ux-confirm-btn--danger{background:var(--critical,#ff4d6a);color:#fff;border-color:var(--critical)}.ux-confirm-btn--danger:hover{opacity:.85}.ux-confirm-btn--warning{background:var(--warning,#ffd166);color:#1a1d27;border-color:var(--warning)}.ux-confirm-btn--alternative{background:var(--accent,#6c7bf7);color:#fff;border-color:var(--accent)}.ux-breadcrumb{padding:8px 0}.ux-breadcrumb__list{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ux-breadcrumb__item{align-items:center;gap:4px;display:flex}.ux-breadcrumb__link{color:var(--text2,#9399a8);font-size:13px;text-decoration:none;transition:color .15s}.ux-breadcrumb__link:hover{color:var(--accent,#6c7bf7)}.ux-breadcrumb__home{align-items:center;display:flex}.ux-breadcrumb__sep{color:var(--border,#2d3140);flex-shrink:0}.ux-breadcrumb__current{color:var(--text,#e4e6ed);font-size:13px;font-weight:600}.ux-project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;transition:all .2s;display:flex;position:relative}.ux-project-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 20px #0003}.ux-project-card__main{color:inherit;flex:1;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;display:flex}.ux-project-card__avatar{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ux-project-card__initials{color:#fff;text-shadow:0 1px 2px #0000004d;font-size:16px;font-weight:800}.ux-project-card__content{flex:1;min-width:0}.ux-project-card__name{white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:16px;font-weight:700;overflow:hidden}.ux-project-card__meta{color:var(--text2);gap:12px;font-size:12px;display:flex}.ux-project-card__status{text-transform:uppercase;letter-spacing:.3px;border:1px solid;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.ux-project-card__menu-wrapper{padding-right:12px;position:relative}.ux-project-card__menu-btn{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:all .15s}.ux-project-card__menu-btn:hover{background:var(--surface2);color:var(--text)}.ux-project-card__dropdown{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:10px;min-width:180px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 30px #0006}.ux-project-card__dropdown-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:13px;text-decoration:none;transition:background .15s;display:block}.ux-project-card__dropdown-item:hover{background:var(--surface2)}.ux-project-card__dropdown-item--danger{color:var(--critical)}.ux-project-card__dropdown-item--danger:hover{background:#ff4d6a1a}.ux-actions-header{margin-bottom:16px}.ux-actions-header__top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ux-actions-header__title{white-space:nowrap;margin:0;font-size:20px;font-weight:700}.ux-actions-header__count{color:var(--text2);font-size:14px;font-weight:400}.ux-actions-header__search{flex:1;min-width:200px;max-width:320px;position:relative}.ux-actions-header__search-icon{color:var(--text2);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.ux-actions-header__search-input{border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);border-radius:8px;padding:8px 12px 8px 32px;font-size:13px}.ux-actions-header__search-input:focus{border-color:var(--accent);outline:none}.ux-actions-header__advanced-toggle{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:flex}.ux-actions-header__advanced-toggle:hover{border-color:var(--accent);color:var(--accent)}.ux-actions-header__create{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.ux-actions-header__create:hover{opacity:.85}.ux-actions-header__filters{flex-wrap:wrap;gap:6px;display:flex}.ux-actions-header__filter{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .15s;display:flex}.ux-actions-header__filter:hover{border-color:var(--accent)}.ux-actions-header__filter--active{background:var(--surface2);font-weight:600}.ux-actions-header__filter-dot{border-radius:50%;width:8px;height:8px}.ux-actions-header__filter-count{opacity:.6}.ux-actions-header__advanced{background:var(--surface2);border-radius:10px;flex-wrap:wrap;gap:10px;margin-top:12px;padding:12px;display:flex}.ux-actions-header__select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 12px;font-size:13px}.ux-actions-cell__assign-cta{border:1px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.ux-actions-cell__assign-cta:hover{border-color:var(--accent);background:#6c7bf71a}.ux-cashflow{flex-direction:column;gap:24px;display:flex}.ux-cashflow__flow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ux-cashflow__flow-step{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;flex:1;min-width:120px;padding:12px 16px}.ux-cashflow__flow-step--highlight{border-color:var(--accent);background:#6c7bf714}.ux-cashflow__flow-label{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px}.ux-cashflow__flow-value{font-size:18px;font-weight:700}.ux-cashflow__flow-arrow{color:var(--text2);flex-shrink:0;font-size:18px}.ux-cashflow__bar-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.ux-cashflow__bar-header{justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.ux-cashflow__bar-pct{font-weight:700}.ux-cashflow__bar{background:var(--surface2);border-radius:6px;height:12px;overflow:hidden}.ux-cashflow__bar-fill{border-radius:6px;height:100%;transition:width .8s}.ux-cashflow__bar-labels{color:var(--text2);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.ux-cashflow__table-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.ux-cashflow__table-title{margin:0 0 12px;font-size:14px;font-weight:600}.ux-cashflow__table{border-collapse:collapse;width:100%;font-size:13px}.ux-cashflow__table th{text-align:left;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:600}.ux-cashflow__table td{border-bottom:1px solid var(--border);padding:10px 12px}.ux-cashflow__mini-bar{align-items:center;gap:8px;display:flex}.ux-cashflow__mini-bar-fill{background:var(--accent);border-radius:2px;height:4px}.ux-cashflow__mini-bar span{color:var(--text2);font-size:11px}.ux-briefing{border:1px solid var(--accent);background:linear-gradient(135deg,#6c7bf714,#6c7bf705);border-radius:12px;margin-bottom:20px;padding:20px}.ux-briefing__header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.ux-briefing__icon{font-size:20px}.ux-briefing__title{margin:0;font-size:16px;font-weight:700}.ux-briefing__date{color:var(--text2);margin-left:auto;font-size:12px}.ux-briefing__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.ux-briefing__item{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:10px;padding:14px;text-decoration:none;transition:all .15s}.ux-briefing__item:hover{border-color:var(--accent)}.ux-briefing__item--alert{border-left:3px solid var(--critical)}.ux-briefing__item--info{border-left:3px solid var(--accent)}.ux-briefing__item-num{margin-bottom:4px;font-size:28px;font-weight:800}.ux-briefing__item--alert .ux-briefing__item-num{color:var(--critical)}.ux-briefing__item--info .ux-briefing__item-num{color:var(--accent)}.ux-briefing__item-label{color:var(--text2);font-size:12px}.ux-briefing__milestone{justify-content:space-between;padding:4px 0;font-size:12px;display:flex}.ux-briefing__milestone-name{color:var(--text)}.ux-briefing__milestone-days{font-weight:700}.ux-briefing__change{color:var(--text2);border-bottom:1px solid var(--border);padding:3px 0;font-size:12px}.ux-notif{position:relative}.ux-notif__btn{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:all .15s;position:relative}.ux-notif__btn:hover{background:var(--surface2);color:var(--text)}.ux-notif__badge{background:var(--critical);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.ux-notif__panel{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:12px;width:340px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #0006}.ux-notif__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ux-notif__title{font-size:14px;font-weight:700}.ux-notif__mark-read{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:12px}.ux-notif__empty{text-align:center;color:var(--text2);padding:32px 16px;font-size:13px}.ux-notif__list{max-height:360px;overflow-y:auto}.ux-notif__item{border-bottom:1px solid var(--border);gap:10px;padding:12px 16px;transition:background .15s;display:flex}.ux-notif__item:hover{background:var(--surface2)}.ux-notif__item--unread{background:#6c7bf70d}.ux-notif__item-icon{flex-shrink:0;margin-top:2px;font-size:16px}.ux-notif__item-content{flex:1;min-width:0}.ux-notif__item-message{font-size:13px;line-height:1.4}.ux-notif__item-time{color:var(--text2);margin-top:4px;font-size:11px}.ux-intelligence-zero{flex-direction:column;gap:20px;display:flex}.ux-intelligence-zero__kpis{gap:16px;display:flex}.ux-intelligence-zero__kpi{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;flex:1;padding:16px}.ux-intelligence-zero__kpi-value{color:var(--text2);font-size:28px;font-weight:800}.ux-intelligence-zero__kpi-label{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px}.ux-intelligence-zero__guidance{border:1px solid var(--accent);background:#6c7bf714;border-radius:10px;align-items:center;gap:12px;padding:14px 18px;display:flex}.ux-intelligence-zero__guidance-icon{font-size:24px}.ux-intelligence-zero__guidance-text{font-size:13px;line-height:1.5}.ux-intelligence-zero__guidance-text strong{color:var(--text)}.ux-intelligence-zero__guidance-text span{color:var(--text2)}.ux-intelligence-zero__assistant{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.ux-intelligence-zero__assistant-title{margin:0 0 8px;font-size:16px;font-weight:700}.ux-intelligence-zero__assistant-desc{color:var(--text2);margin:0 0 16px;font-size:13px}.ux-intelligence-zero__prompts{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.ux-intelligence-zero__prompt-btn{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:20px;padding:8px 14px;font-size:12px;transition:all .15s}.ux-intelligence-zero__prompt-btn:hover{border-color:var(--accent);color:var(--accent);background:#6c7bf70d}.ux-intelligence-zero__input-wrapper{gap:8px;display:flex}.ux-intelligence-zero__input{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:10px;flex:1;padding:10px 14px;font-size:14px}.ux-intelligence-zero__input:focus{border-color:var(--accent);outline:none}.ux-intelligence-zero__send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:40px;font-size:18px}.ux-gantt-empty{text-align:center;padding:48px 24px}.ux-gantt-empty__icon{margin-bottom:16px;font-size:48px}.ux-gantt-empty__title{margin:0 0 8px;font-size:20px;font-weight:700}.ux-gantt-empty__desc{color:var(--text2);max-width:480px;margin:0 auto 24px;font-size:14px;line-height:1.6}.ux-gantt-empty__actions{justify-content:center;gap:12px;margin-bottom:32px;display:flex}.ux-gantt-empty__btn{cursor:pointer;border:1px solid var(--border);border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.ux-gantt-empty__btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ux-gantt-empty__btn--secondary{color:var(--text2);background:0 0}.ux-gantt-empty__sample{opacity:.4;max-width:500px;margin:0 auto}.ux-gantt-empty__sample-label{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:11px}.ux-gantt-empty__sample-bars{flex-direction:column;gap:8px;display:flex}.ux-gantt-empty__bar{background:var(--surface2);height:28px;color:var(--text2);border-radius:6px;align-items:center;padding:0 10px;font-size:11px;display:flex}.ux-gantt-empty__bar--accent{background:#6c7bf733}.ux-gantt-empty__bar--muted{background:var(--border)}@media (max-width:768px){.app-sidebar,[class*=sidebar]{box-shadow:4px 0 30px #00000080;z-index:1000!important;width:280px!important;height:100vh!important;transition:left .3s!important;position:fixed!important;top:0!important;left:-100%!important}.app-sidebar.is-open,[class*=sidebar].is-open{left:0!important}.sidebar-overlay{z-index:999;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.is-visible{display:block}.ux-briefing__grid{grid-template-columns:1fr}.ux-cashflow__flow{flex-direction:column}.ux-cashflow__flow-arrow{transform:rotate(90deg)}.ux-intelligence-zero__kpis{flex-direction:column}.ux-actions-header__top{flex-wrap:wrap}.ux-actions-header__search{order:10;min-width:100%}.ux-project-card__meta{flex-wrap:wrap}.ux-notif__panel{width:calc(100vw - 32px);max-width:340px;right:-20px}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.ux-briefing__grid{grid-template-columns:repeat(2,1fr)}.ux-cashflow__flow{flex-flow:wrap}}.ux-actions-header__filter,.ux-project-card__menu-btn,.ux-notif__btn,.ux-breadcrumb__link{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}}@media print{.ux-confirm-overlay,.ux-notif__panel,.ux-project-card__dropdown{display:none!important}.ux-briefing,.ux-cashflow,.ux-actions-header{break-inside:avoid}}@keyframes ux-fade-in{0%{opacity:0}to{opacity:1}}
.nav-sub-link.active{background-color:var(--surface);border-left:3px solid var(--accent);padding-left:calc(var(--spacing-2,8px) - 3px);color:var(--accent);font-weight:500}.nav-sub-link.active:hover{background-color:var(--surface)}.nav-group-toggle{transition:transform .2s cubic-bezier(.4,0,.2,1)}.nav-group.open .nav-group-toggle{transform:rotate(180deg)}html{scroll-behavior:smooth}.ux-v2-fab-mobile{background-color:var(--accent);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;transition:background-color .2s,box-shadow .2s;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #00000026}.ux-v2-fab-mobile:hover{filter:brightness(1.1);box-shadow:0 6px 16px #0003}.ux-v2-fab-mobile:active{transform:scale(.95)}@media (max-width:768px){.ux-v2-fab-mobile{display:flex}.dense-data-table{white-space:nowrap;display:block;overflow:auto visible}.dense-data-table tbody,.dense-data-table thead{display:block}.dense-data-table tr{border-radius:var(--radius,4px);border:1px solid var(--border);background-color:var(--surface);margin-bottom:12px;display:block}.dense-data-table th,.dense-data-table td{border:none;border-bottom:1px solid var(--border);width:100%;padding:8px 12px;display:block}.dense-data-table th:last-child,.dense-data-table td:last-child{border-bottom:none}.dense-data-table th{background-color:var(--surface-muted);font-size:12px;font-weight:600;display:none}.dense-data-table td:before{content:attr(data-label);width:40%;color:var(--muted);font-size:12px;font-weight:600;display:inline-block}}.ux-v2-mobile-cards{flex-direction:column;gap:12px;display:flex}.ux-v2-mobile-card{border:1px solid var(--border);border-radius:var(--radius,4px);background-color:var(--surface);padding:12px}.ux-v2-mobile-card-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:14px;display:flex}.ux-v2-mobile-card-label{color:var(--muted);font-weight:500}.ux-v2-mobile-card-value{color:var(--text);font-weight:600}@media (max-width:768px){.topbar{height:auto;min-height:48px;padding:8px 12px}.topbar>*{font-size:14px}.project-context-header{padding:6px 12px;font-size:12px}}.ux-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;width:100%;display:grid}@media (max-width:1024px){.ux-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.ux-kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:480px){.ux-kpi-grid{grid-template-columns:1fr}}.ux-kpi-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius,4px);padding:12px}.ux-kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:normal;word-break:break-word;margin-bottom:4px;font-size:11px;font-weight:500}.ux-kpi-value{color:var(--text);font-size:18px;font-weight:700}.mobile-drawer{transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-drawer-open{transform:translate(0)}.mobile-drawer-closed{transform:translate(-100%)}.ux-v2-filters-panel{display:block}.ux-v2-filters-toggle{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius,4px);cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:8px 12px;font-weight:500;display:none}.ux-v2-filters-toggle:after{content:"▼";transition:transform .2s;display:inline-block}.ux-v2-filters-panel.collapsed{display:none}.ux-v2-filters-toggle.collapsed:after{transform:rotate(-90deg)}@media (max-width:768px){.ux-v2-filters-toggle{display:flex}.ux-v2-filters-panel{display:none}.ux-v2-filters-panel.open{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius,4px);margin-top:8px;padding:12px;display:block}button,a[role=button],input[type=button],input[type=submit],.btn{min-width:44px;min-height:44px}select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],textarea{min-height:44px;padding:10px 12px}.nav-link,.nav-sub-link{align-items:center;min-height:40px;display:flex}}.sidebar-logo{cursor:pointer;transition:opacity .2s}.sidebar-logo:hover{opacity:.8}@media (max-width:768px){.budget-section,.ux-budget-display{padding:8px 12px;font-size:13px}.budget-breakdown{grid-template-columns:1fr 1fr;gap:8px;font-size:12px;display:grid}}.ux-v2-dropzone{border:2px dashed var(--border);border-radius:var(--radius,4px);text-align:center;background-color:var(--surface);cursor:pointer;padding:24px;transition:all .2s}.ux-v2-dropzone:hover{border-color:var(--accent);background-color:var(--surface-muted)}.ux-v2-dropzone.dragover{border-color:var(--accent);background-color:var(--surface-muted);box-shadow:inset 0 0 0 2px var(--accent),0 0 12px #0000001a}.ux-v2-chart-toggle{border:1px solid var(--border);border-radius:var(--radius,4px);cursor:pointer;color:var(--text);background-color:#0000;align-items:center;gap:8px;padding:4px 8px;font-size:13px;transition:all .2s;display:flex}.ux-v2-chart-toggle:hover{background-color:var(--surface)}.ux-v2-chart-toggle.active{background-color:var(--surface);border-color:var(--accent);color:var(--accent)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;line-height:1;display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-content{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.nav-link:focus-visible,.nav-sub-link:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.nav-link:focus:not(:focus-visible),.nav-sub-link:focus:not(:focus-visible),button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.ux-v2-hidden-mobile{display:none!important}@media (min-width:769px){.ux-v2-hidden-mobile{display:block!important}.ux-v2-visible-mobile{display:none!important}}.ux-v2-visible-mobile{display:block!important}.ux-v2-transition{transition:all .2s cubic-bezier(.4,0,.2,1)}.ux-v2-skeleton{background:linear-gradient(90deg,var(--surface)0%,var(--surface-muted)50%,var(--surface)100%);background-size:200% 100%;animation:1.5s infinite ux-v2-skeleton}@keyframes ux-v2-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{.mobile-hamburger,.ux-v2-fab-mobile{display:none!important}}@media (min-width:769px){.project-back-btn,[data-testid=back-to-dashboard],[data-testid=back-to-projects]{display:none!important}.project-context-header:not(:first-of-type),.project-context-banner.inner-page{display:none}.project-context-header{background:0 0;border:none;padding:4px 16px;font-size:12px}}.resource-card,.dashboard-stat-card,[data-testid*=resource-card]{cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.resource-card:hover,.dashboard-stat-card:hover,[data-testid*=resource-card]:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.ux-v2-see-all{color:var(--accent);cursor:pointer;align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-flex}.ux-v2-see-all:hover{opacity:.8;text-decoration:underline}.ux-v2-see-all:after{content:"→"}.ai-report-section,[data-testid=ai-report-section]{order:-1}.progress-legend-item,.chart-legend-item,[data-testid*=legend]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.progress-legend-item:hover,.chart-legend-item:hover{opacity:.7}.ux-v2-assign-cta{color:var(--accent);border:1px dashed var(--accent);cursor:pointer;background:#6c7bf714;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;transition:all .2s;display:inline-flex}.ux-v2-assign-cta:hover{background:#6c7bf726;border-style:solid}.ux-v2-unassigned-critical{border-color:var(--critical);color:var(--critical);background:#ff4d6a14}.kanban-card .ux-v2-due-date{color:var(--muted);align-items:center;gap:4px;margin-top:6px;font-size:11px;display:flex}.kanban-card .ux-v2-due-date.overdue{color:var(--critical);font-weight:600}.calendar-event.priority-critique,.calendar-event[data-priority=critique]{background-color:var(--critical);color:#fff}.calendar-event.priority-haute,.calendar-event[data-priority=haute]{background-color:var(--high);color:#1a1d27}.calendar-event.priority-moyenne,.calendar-event[data-priority=moyenne]{background-color:var(--medium);color:#1a1d27}.calendar-event.priority-basse,.calendar-event[data-priority=basse]{background-color:var(--low);color:#1a1d27}[data-testid=email-to-actions],.email-to-actions-btn{position:relative}[data-testid=email-to-actions]:after,.email-to-actions-btn:after{content:"Envoyez un email à actions@apsolu.app pour créer des actions automatiquement";background:var(--surface);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;border:1px solid var(--border);z-index:50;border-radius:6px;padding:8px 12px;font-size:12px;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}[data-testid=email-to-actions]:hover:after,.email-to-actions-btn:hover:after{opacity:1}[data-testid=delete-all-btn],.delete-all-btn{opacity:.6;transition:opacity .2s}[data-testid=delete-all-btn]:hover,.delete-all-btn:hover{opacity:1}.folder-connect-section:after{content:"Connectez un dossier Cloudflare R2 ou local pour synchroniser vos documents automatiquement.";color:var(--muted);margin-top:4px;font-size:12px;display:block}.ux-v2-bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:100;justify-content:space-around;align-items:center;height:56px;padding:0 8px;display:none;position:fixed;bottom:0;left:0;right:0}@media (max-width:768px){.ux-v2-bottom-nav{display:flex}body{padding-bottom:56px}.ux-v2-fab-mobile{bottom:72px}}.ux-v2-bottom-nav-item{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;font-size:10px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.ux-v2-bottom-nav-item.active,.ux-v2-bottom-nav-item:hover{color:var(--accent)}.ux-v2-bottom-nav-item svg{width:20px;height:20px}.settings-section{margin-bottom:24px}.settings-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:6px;font-size:11px;font-weight:600}[data-i18n-key=cashflow]:before,[data-i18n-key=timeline]:before{content:""}.project-card{transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.project-card .metadata-grid{display:none}.project-card .metadata-compact{color:var(--muted);gap:12px;margin-top:8px;font-size:12px;display:flex}.project-card .ux-v2-actions-menu{position:relative}.project-card .delete-btn-direct{display:none}.project-card .ux-v2-context-menu{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:8px;min-width:160px;padding:4px 0;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.project-card .ux-v2-context-menu.open{display:block}.project-card .ux-v2-context-menu-item{cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .2s;display:flex}.project-card .ux-v2-context-menu-item:hover{background:var(--surface-muted)}.project-card .ux-v2-context-menu-item.danger{color:var(--critical)}.ux-v2-overdue-alert{cursor:pointer;background:#ff4d6a0f;border:1px solid #ff4d6a33;border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;transition:background .2s;display:flex}.ux-v2-overdue-alert:hover{background:#ff4d6a1a}.ux-v2-overdue-alert .count{color:var(--critical);text-align:center;min-width:48px;font-size:24px;font-weight:800}.ux-v2-overdue-alert .text{flex:1}.ux-v2-overdue-alert .title{color:var(--critical);font-size:14px;font-weight:600}.ux-v2-overdue-alert .desc{color:var(--muted);margin-top:2px;font-size:12px}.ux-v2-onboarding-banner{background:linear-gradient(135deg,#6c7bf714 0%,#6c7bf705 100%);border:1px solid #6c7bf733;border-radius:10px;margin-bottom:20px;padding:20px}.ux-v2-onboarding-banner h3{color:var(--accent);margin-bottom:8px;font-size:16px;font-weight:600}.ux-v2-onboarding-banner .capabilities{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:12px;display:grid}.ux-v2-onboarding-banner .capability{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.ux-v2-onboarding-banner .dismiss{float:right;cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px}.ux-v2-pagination{justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px 0;display:flex}.ux-v2-pagination button{border:1px solid var(--border);min-width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex}.ux-v2-pagination button:hover{background:var(--surface);border-color:var(--accent)}.ux-v2-pagination button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ux-v2-pagination button:disabled{opacity:.3;cursor:not-allowed}.ux-v2-pagination .page-info{color:var(--muted);font-size:12px}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_1b545fac-module__b8QJrq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_1b545fac-module__b8QJrq__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_1c4decc-module__HzwewW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_1c4decc-module__HzwewW__variable{--font-plex:"IBM Plex Sans","IBM Plex Sans Fallback"}
