:root{color:var(--sav-white,#fff);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#040f2e;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--sav-black,#040f2e);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}#root{min-height:100vh}h1,h2,h3,h4,p{margin-top:0}img{max-width:100%;display:block}.theme-light,.theme-light body{color:#111;background:var(--sav-white)}:root{--sav-black:#040f2e;--sav-white:#f4f4f4;--sav-red:#ff0012}.app-error-toast{z-index:1000;border:1px solid var(--prot-red-border);background:var(--prototype-panel);max-width:min(420px,100vw - 32px);color:var(--prototype-text);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 36px #00000059}.app-error-toast>svg{color:var(--prototype-red);flex:none}.app-error-toast span{flex:1;font-size:.88rem;line-height:1.35}:root{--prototype-bg:#040f2e;--prototype-sidebar:#0e2246;--prototype-panel:#091834;--prototype-panel-soft:#0e2246;--prototype-logo-bg:#091834;--prototype-text:var(--sav-white);--prototype-muted:#ffffff8c;--prototype-border:#ffffff1a;--prototype-logo-border:#ffffff1a;--prototype-red:var(--sav-red);--prototype-teal:var(--sav-red);--prot-red-soft:#ff00121f;--prot-red-border:#ff001240;--prot-red-hover:#e00010;--prot-black-soft:#000000d9;--prot-white-soft:#ffffffd9;--prot-white-border:#ffffff1f;--prot-black-border:#0000001a;--text-primary:var(--sav-white);--text-secondary:#666;--text-dark:#333;--donut-track:#040f2e;--donut-total:#fff;--donut-label:#ffffffc7;--donut-en-cours:#3b82f6;--donut-terminee:#8b5cf6;--donut-bloquee:#ef4444;--donut-non-debutee:#64748b;--donut-row-hover:#ffffff0f;--history-created:#3b82f6;--history-status:#8b5cf6;--history-instructions:#f59e0b;--history-blockage:#ef4444;--history-resolved:#10b981;--history-updated:#64748b;--history-deleted:#94a3b8;--history-member:#0ea5e9;--history-other:#64748b;--dashboard-subtitle:#9ca3af;--product-badge-bg:#3b82f61a;--product-badge-border:#3b82f633;--product-badge-text:#3b82f6}.app-shell{background:var(--prototype-bg);height:100vh;color:var(--prototype-text);grid-template-columns:280px 1fr;display:grid;overflow:hidden}.sidebar{background:var(--prototype-sidebar);color:var(--prototype-text);border-right:1px solid var(--prototype-border);flex-direction:column;gap:22px;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-box{border-bottom:1px solid var(--prototype-border);align-items:center;gap:14px;padding:12px 8px 22px;display:flex}.brand-logo{object-fit:contain;border-radius:14px;flex-shrink:0;width:54px;height:54px;display:block}.eyebrow{letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin:0;font-size:11px}.brand-box h2{color:var(--prototype-text);margin:4px 0 0;font-size:1.3rem}.nav-menu{flex-direction:column;gap:8px;display:flex}.nav-item{color:var(--prototype-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:.97rem;transition:background .2s,color .2s;display:flex}.nav-item:hover{color:var(--prototype-text);background:#ff00121a}.nav-item.active{color:var(--prot-white);background:#ff001226}.logout-nav-item{color:var(--prototype-red)!important}.logout-nav-item:hover{color:var(--prototype-red)!important;background:#ff00121a!important}.nav-icon{width:22px;color:var(--prototype-red);justify-content:center;align-items:center;display:inline-flex}.nav-icon svg{display:block}.sidebar-card{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:18px;margin-top:auto;padding:18px}.sidebar-card .label{text-transform:uppercase;letter-spacing:.1em;color:var(--prototype-red);margin:0 0 10px;font-size:.72rem}.sidebar-card h3{color:var(--prototype-text);margin:0 0 10px;font-size:1.4rem}.sidebar-card p{color:var(--prototype-muted);margin:0 0 14px}.main-panel{--mp-pad-top:28px;--mp-pad-x:34px;padding:var(--mp-pad-top) var(--mp-pad-x) 40px;height:100vh;overflow-y:auto}.topbar{margin:calc(-1 * var(--mp-pad-top)) calc(-1 * var(--mp-pad-x)) 20px;padding:18px var(--mp-pad-x);background:var(--prototype-panel);border-bottom:1px solid var(--prototype-border);justify-content:space-between;align-items:center;gap:18px;display:flex}.topbar-label{color:var(--prototype-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem}.topbar h1{color:var(--prototype-text);margin:0;font-size:clamp(2rem,2vw,2.5rem)}.topbar-actions{align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--prototype-border);background:var(--prototype-panel);width:auto;min-width:38px;height:38px;color:var(--prototype-text);cursor:pointer;border-radius:19px;justify-content:flex-start;align-items:center;padding:0 11px;transition:border-color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--prototype-red);color:var(--prototype-red)}.search-box{background:var(--prototype-panel);border:1px solid var(--prototype-border);min-width:180px;color:var(--prototype-text);border-radius:12px;padding:10px 14px}.avatar-pill{background:var(--prototype-panel);width:44px;height:44px;color:var(--prototype-red);box-shadow:0 0 0 1px var(--prototype-border);border-radius:50%;place-items:center;font-weight:700;display:grid}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.toolbar-left,.toolbar-right,.panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;padding:.82rem 1.2rem;font-weight:600;transition:transform .18s,box-shadow .18s,background .2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--prototype-red);color:var(--prot-white);box-shadow:0 4px 12px #ff001240}.btn-primary:hover{background:var(--prot-red-hover);box-shadow:0 6px 16px #ff001259}.btn-secondary{background:var(--prototype-panel-soft);color:var(--prototype-text);border:1px solid var(--prototype-border)}.btn-secondary:hover{background:var(--prototype-panel);border-color:var(--prototype-red-border);color:var(--prot-white)}.btn-ghost{color:var(--prototype-muted);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--prototype-panel-soft);color:var(--prototype-text)}.btn-danger{background:var(--prot-red-soft);border:1px solid var(--prot-red-border);color:var(--prototype-red)}.btn-danger:hover{background:#ff001233}.btn-small{padding:.4rem .7rem;font-size:.75rem}.btn-success{color:#fff;background:#22c55e;border:1px solid #22c55e}.btn-success:hover{background:#16a34a;border-color:#16a34a}.btn-outline{color:var(--prototype-text);border:1px solid var(--prototype-border);background:0 0}.btn-outline:hover{background:var(--prototype-panel-soft);border-color:var(--prototype-red-border)}.btn-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;padding:0!important}.btn-icon svg{display:block}.pill-button{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-muted);cursor:pointer;border-radius:999px;padding:.5rem .9rem;transition:background .2s,border-color .2s}.pill-button:hover{background:var(--prototype-panel-soft);border-color:var(--prototype-red-border);color:var(--prototype-text)}.pill-button.active{border-color:var(--prototype-red);color:var(--prototype-red);background:#ff00121f;font-weight:600}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.stat-card{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-top:4px solid var(--prototype-red);border-radius:20px;padding:18px 18px 16px;box-shadow:0 10px 25px #0003}.stat-card.primary{border-top-color:var(--prototype-red)}.stat-card.secondary{border-top-color:#fff9}.stat-card.warning{border-top-color:#ff001280}.stat-card.success{border-top-color:#ffffffd9}.stat-card.neutral{border-top-color:#ffffff59}.dashboard-header-right{align-items:center;gap:12px;display:flex}.dashboard-priority-filter{align-items:center;gap:6px;margin-bottom:18px;display:flex}.dashboard-category-list{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;width:100%;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.dashboard-category-list::-webkit-scrollbar{display:none}.category-select-chip{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-muted);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:.5rem .9rem;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.category-select-chip:hover{background:var(--prototype-panel);border-color:var(--prototype-red-border);color:var(--prototype-text)}.category-select-chip.active{border-color:var(--prototype-red);color:var(--prototype-red);background:#ff00121f;font-weight:700}.category-select-chip:focus-visible{outline:2px solid var(--prototype-red);outline-offset:2px}.dashboard-donut-card{margin-bottom:18px}.donut-body{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.donut-chart{flex:none;position:relative}.donut-svg{width:160px;height:160px;display:block}.donut-track{fill:none;stroke:var(--donut-track);stroke-width:25px}.donut-seg{fill:none;stroke-width:22px;stroke-linecap:butt;transition:stroke-dasharray .35s}.donut-seg-en_cours{stroke:var(--donut-en-cours)}.donut-seg-terminee{stroke:var(--donut-terminee)}.donut-seg-bloquee{stroke:var(--donut-bloquee)}.donut-seg-non_debutee{stroke:var(--donut-non-debutee)}.donut-seg-wrap{transform-box:view-box;transform-origin:60px 60px;cursor:pointer;transition:transform .25s,opacity .25s,filter .25s}.donut-seg-wrap.is-active{filter:brightness(1.18)saturate(1.15);transform:scale(1.05)}.donut-seg-wrap.is-dimmed{opacity:.3}.donut-dot{border-radius:50%;flex:none;width:12px;height:12px}.donut-dot.donut-seg-en_cours{background:var(--donut-en-cours)}.donut-dot.donut-seg-terminee{background:var(--donut-terminee)}.donut-dot.donut-seg-bloquee{background:var(--donut-bloquee)}.donut-dot.donut-seg-non_debutee{background:var(--donut-non-debutee)}.donut-total{fill:var(--donut-total);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.donut-total-label{fill:var(--donut-label);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.donut-total-pct{font-size:26px}.donut-pct-sign{font-size:15px}.donut-status-label{letter-spacing:.03em;text-transform:none;font-size:10px}.donut-total,.donut-total-label{transform-box:fill-box;transform-origin:50%;animation:.28s donut-center-in}@keyframes donut-center-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.donut-legend{flex-direction:column;flex:200px;gap:6px;min-width:170px;margin:0;padding:0;list-style:none;display:flex}.donut-legend-item{cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:7px 10px;font-size:.85rem;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}.donut-legend-item:hover,.donut-legend-item.is-active{background:var(--donut-row-hover);border-color:var(--prototype-border);box-shadow:0 2px 8px #0000001f}.donut-legend-label{color:var(--prototype-text);letter-spacing:.01em;flex:1;font-weight:500}.donut-legend-item.is-active .donut-legend-label{font-weight:700}.donut-legend-value{color:var(--prototype-text);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.donut-legend-pct{color:var(--prototype-muted);font-weight:400}.donut-empty{color:var(--prototype-muted);margin:0;padding:12px 0;font-size:.88rem}.donut-subtitle{color:var(--dashboard-subtitle);margin:4px 0 0;font-size:.85rem;line-height:1.35}.donut-tooltip{z-index:5;border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);pointer-events:none;border-radius:12px;min-width:96px;max-width:130px;padding:8px 10px;animation:.18s donut-tooltip-in;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 26px #00000059}.donut-tooltip-head{color:var(--prototype-muted);white-space:nowrap;align-items:center;gap:7px;font-size:.74rem;font-weight:600;display:flex}.donut-tooltip-head .donut-dot{width:9px;height:9px}.donut-tooltip-value{color:var(--prototype-text);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:3px;font-size:.78rem;font-weight:800;display:block}@keyframes donut-tooltip-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width<=768px){.donut-body{justify-content:center;gap:16px}.donut-svg{width:140px;height:140px}.donut-legend{flex:100%;min-width:0}}.stat-card{position:relative}.status-badge-wrap{align-items:center;display:inline-flex;position:relative}.status-breakdown-popover{z-index:300;--breakdown-bg:#0d1f3d;--breakdown-border:#ffffff12;--breakdown-divider:#ffffff14;--breakdown-row-hover:#2b4e8c6b;--breakdown-row-hover-border:#ffffff29;--breakdown-count-bg:#ff001229;--breakdown-count-border:#ff3c504d;--breakdown-count-text:#ffd9dd;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;border:1px solid var(--breakdown-border);background:var(--breakdown-bg);text-align:left;white-space:normal;border-radius:18px;min-width:240px;max-width:300px;max-height:min(340px,62vh);padding:16px 16px 14px;animation:.15s status-breakdown-in;position:absolute;top:calc(100% + 10px);left:14px;overflow-y:auto;box-shadow:0 24px 48px -16px #020818bf,0 8px 20px -10px #0208188c}.theme-light .status-breakdown-popover{--breakdown-bg:#fff;--breakdown-border:#0918341a;--breakdown-divider:#0918341f;--breakdown-row-hover:#1b3a6b1a;--breakdown-row-hover-border:#09183433;--breakdown-count-bg:#ff001217;--breakdown-count-border:#ff00123d;--breakdown-count-text:#b00010;scrollbar-color:#09183440 transparent;box-shadow:0 24px 48px -16px #0918342e,0 8px 20px -10px #0918341a}.status-breakdown-popover.align-right{left:auto;right:0}.stats-grid .status-breakdown-popover{min-width:min(240px,100% - 16px);max-width:min(300px,100% - 16px);left:8px}@keyframes status-breakdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.status-breakdown-popover .status-breakdown-heading{letter-spacing:.1em;text-transform:uppercase;color:var(--prototype-muted);margin:0 0 6px;font-size:.68rem;font-weight:800}.status-breakdown-popover .status-breakdown-status{border-bottom:1px solid var(--breakdown-divider);color:var(--prototype-text);margin:0;padding-bottom:12px;font-size:.85rem;font-weight:700}.status-breakdown-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.status-breakdown-popover .status-breakdown-item{text-align:left;width:100%;color:var(--prototype-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:10px 12px;font-family:inherit;font-size:.86rem;line-height:1.35;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s;display:flex}.status-breakdown-popover .status-breakdown-item:hover{background:var(--breakdown-row-hover);border-color:var(--breakdown-row-hover-border);box-shadow:inset 0 1px #ffffff0d}.status-breakdown-popover .status-breakdown-item:active{background:var(--breakdown-row-hover);transform:translateY(1px)}.status-breakdown-popover .status-breakdown-item:focus-visible{outline:2px solid var(--prototype-red);outline-offset:1px}.status-breakdown-popover .status-breakdown-item.active{background:var(--prot-red-soft);border-color:var(--prot-red-border);box-shadow:inset 3px 0 0 var(--prototype-red)}.status-breakdown-popover .status-breakdown-cat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--prototype-text);flex:auto;font-size:.88rem;font-weight:600;overflow:hidden}.status-breakdown-popover .status-breakdown-item.active .status-breakdown-cat{font-weight:700}.status-breakdown-popover .status-breakdown-count{border:1px solid var(--breakdown-count-border);background:var(--breakdown-count-bg);min-width:30px;color:var(--breakdown-count-text);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;border-radius:999px;flex:none;padding:4px 10px;font-size:.76rem;font-weight:800;line-height:1.25}.status-breakdown-popover .status-breakdown-empty{color:var(--prototype-muted);margin:12px 0 0;font-size:.8rem}.stat-progress{background:#ffffff14;border-radius:2px;height:4px;margin-top:12px;overflow:hidden}.stat-progress-bar{background:var(--prototype-red);border-radius:2px;height:100%;transition:width .4s}.stat-progress-done{background:var(--prot-white-soft)}.stat-progress-users{background:var(--prototype-red);opacity:.6}.stat-progress-todo{background:var(--prot-white-soft);opacity:.4}.stat-alert{color:var(--prototype-red);margin-top:10px;font-size:.72rem;font-weight:600}.stat-card-clickable{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.stat-card-clickable:hover{border-color:var(--prototype-red);transform:translateY(-3px);box-shadow:0 14px 32px #0000004d}.stat-card-clickable:focus-visible{outline:2px solid var(--prototype-red);outline-offset:2px}.stat-card p{color:var(--prototype-muted);margin:0}.stat-row{justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;display:flex}.stat-row strong{color:var(--prototype-text);font-size:2rem}.stat-row span{color:var(--prototype-red);font-weight:700}.content-grid{grid-template-columns:1.6fr .95fr;gap:18px;display:grid}.panel-card{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:22px;padding:18px 20px;box-shadow:0 12px 30px #00000026}.large-panel{min-height:320px}.full-panel{min-height:420px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-header h3{color:var(--prototype-text);margin:0}table{border-collapse:collapse;width:100%;font-size:.96rem}th,td{border-bottom:1px solid var(--prototype-border);text-align:left;padding:14px 10px}th{color:var(--prototype-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.badge{background:var(--prototype-panel-soft);color:var(--prototype-text);border-radius:999px;justify-content:center;align-items:center;padding:.38rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge.encours,.badge.en_cours{color:var(--prototype-red);background:#ff00121f}.badge.non_debutee,.badge.non_débutée,.badge.àvalider{background:var(--prototype-panel-soft);color:var(--prototype-muted)}.badge.bloqué,.badge.bloquee{color:var(--prototype-red);background:#ff001233}.badge.terminé,.badge.terminee{color:var(--prot-white-soft);background:#ffffff1a}.task-list{flex-direction:column;gap:14px;display:flex}.task-item{background:var(--prototype-panel-soft);border:1px solid var(--prototype-border);border-radius:14px;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:12px 10px;display:grid}.task-dot{background:var(--prototype-red);border-radius:50%;width:10px;height:10px}.task-dot.active{background:var(--prot-white-soft)}.task-item strong,.task-item p{color:var(--prototype-text);display:block}.task-item p{color:var(--prototype-muted);margin:4px 0 0}.task-item span{color:var(--prototype-muted);font-size:.8rem}.cards-row,.list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.mini-card,.info-card{background:var(--prototype-panel-soft);border:1px solid var(--prototype-border);border-radius:18px;padding:16px}.mini-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.mini-tag{color:var(--prototype-red);background:#ff00121a;border-radius:999px;padding:.35rem .6rem;font-size:.72rem;font-weight:700}.mini-card h4,.info-card strong{color:var(--prototype-text);margin:0 0 8px}.mini-card p,.info-card span,.info-card small{color:var(--prototype-muted);margin:0}.mini-meta{color:var(--prototype-muted);justify-content:space-between;align-items:center;margin-top:18px;display:flex}.link-button{color:var(--prototype-red);cursor:pointer;background:0 0;border:none;font-weight:700}.step-table{flex-direction:column;gap:12px;display:flex}.step-row{background:var(--prototype-panel-soft);border-radius:14px;grid-template-columns:72px 1.4fr 120px auto;align-items:center;gap:16px;padding:14px 12px;display:grid}.step-index{width:52px;height:52px;color:var(--prototype-red);background:#ff00121f;border-radius:14px;place-items:center;font-weight:800;display:grid}.step-row p{color:var(--prototype-muted);margin:4px 0 0}.info-card{flex-direction:column;gap:10px;display:flex}.avatar-soft{width:42px;height:42px;color:var(--prototype-red);background:#ff00121f;border-radius:50%;place-items:center;font-weight:800;display:grid}.simple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-list .task-item{grid-template-columns:10px 1fr auto}.dashboard-workspace,.projects-workspace{flex-direction:column;gap:24px;display:flex}.section-actions,.project-detail-topbar{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.section-actions h2,.project-detail-topbar h2{color:var(--prototype-text);margin:0 0 6px;font-size:1.6rem}.project-detail-topbar p:last-child{color:var(--prototype-muted);margin:0}.project-terminated-banner{color:#ffc107;background:#ffc1071f;border:1px solid #ffc1074d;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;display:flex}.theme-light .project-terminated-banner{color:#856404;background:#fef3cd;border-color:#ffc107}.project-detail-page,.product-detail-page{border:1px solid var(--prototype-border);background:var(--prototype-panel);border-radius:14px;flex-direction:column;gap:22px;padding:24px;display:flex}.product-detail-actions{align-items:center;gap:10px;display:flex}.product-url{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-red);overflow-wrap:anywhere;border-radius:8px;padding:11px 13px;font-size:.82rem}.product-grid{grid-template-columns:1fr;gap:10px;display:grid}.product-card-row{align-items:stretch;gap:10px;display:flex}.product-card-row .product-card{flex:1}.row-actions{align-items:center;gap:6px;display:flex}.row-actions .btn{align-self:center}.staff-list{flex-direction:column;gap:10px;display:flex}.staff-row{border:1px solid var(--prototype-border);background:var(--prototype-panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;transition:background .2s,border-color .2s;display:flex}.staff-row:hover{background:var(--prototype-panel-soft)}.staff-row.inactive{opacity:.55}.staff-row .avatar-soft{width:40px;height:40px;color:var(--prototype-red);background:#ff00121f;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.staff-copy{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.staff-copy small{color:var(--prototype-muted)}.staff-role{color:var(--prototype-red);white-space:nowrap;background:#ff00121a;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:700}.staff-status{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700}.staff-status.active{color:#fff;background:#ffffff1a}.staff-status.off{color:var(--prototype-red);background:#ff00121f}.staff-scope{color:var(--prototype-muted);border:1px dashed var(--prototype-border);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.72rem}.step-assignments-view{padding:0}.assignments-list{flex-direction:column;gap:16px;margin-top:20px;display:flex}.assignment-project{border:1px solid var(--prototype-border);background:var(--prototype-panel);border-radius:12px;overflow:hidden}.assignment-project-header{background:var(--prototype-panel-soft);border-bottom:1px solid var(--prototype-border);color:var(--prototype-text);align-items:center;gap:10px;padding:14px 18px;display:flex}.assignment-project-header svg{color:var(--prototype-muted);flex-shrink:0}.assignment-steps{flex-direction:column;gap:0;display:flex}.assignment-step-row{border-bottom:1px solid var(--prototype-border);align-items:center;gap:10px;padding:10px 18px;transition:background .15s;display:flex}.assignment-step-row:last-child{border-bottom:none}.assignment-step-row:hover{background:var(--prototype-panel-soft)}.assignment-step-title{color:var(--prototype-text);flex:1;font-size:.88rem}.product-card{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);min-height:0;color:var(--prototype-text);text-align:left;cursor:pointer;border-radius:14px;flex-direction:row;align-items:center;gap:14px;padding:14px 18px;transition:border-color .2s,transform .2s,background .2s;display:flex}.product-card:hover{background:var(--prototype-panel);border-color:#ff001273;transform:translateY(-2px)}.product-mark{width:46px;height:46px;color:var(--prototype-red);background:#ff00121f;border-radius:12px;place-items:center;font-size:1.3rem;font-weight:800;display:grid}.product-card-copy{flex-direction:column;flex:1;gap:8px;display:flex}.product-card-copy strong{font-size:1.1rem}.product-card-copy small,.product-card-link,.product-project-row small{color:var(--prototype-muted);font-size:.78rem;line-height:1.45}.product-card-link{color:var(--prototype-red);overflow-wrap:anywhere}.product-project-list{flex-direction:column;gap:10px;display:flex}.product-project-row{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:9px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.product-project-row>div{flex-direction:column;gap:4px;min-width:0;display:flex}.project-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-item{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.summary-item span,.member-row small{color:var(--prototype-muted);font-size:.75rem}.summary-item strong{color:var(--prototype-text)}.project-detail-columns{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;display:grid}.detail-section{border:1px solid var(--prototype-border);background:var(--prototype-panel);border-radius:12px;padding:20px}.project-steps-list,.member-list,.attachment-list{flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.attachment-row{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:background .15s;display:flex}.attachment-row:hover{background:var(--prototype-panel-soft)}.attachment-actions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.blockage-attachment-item{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.blockage-attachment-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;font-size:.7rem;display:flex;overflow:hidden}.attachment-preview-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;place-items:center;padding:24px;animation:.2s overlayFadeIn;display:grid;position:fixed;inset:0}.attachment-preview-panel{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:10px;flex-direction:column;width:min(900px,100%);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 18px 48px #00000073}.attachment-preview-header{border-bottom:1px solid var(--prototype-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.attachment-preview-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.85rem;font-weight:600;display:flex;overflow:hidden}.attachment-preview-body{flex:1;place-items:center;min-height:320px;padding:12px;display:grid;overflow:auto}.attachment-preview-image{object-fit:contain;border-radius:6px;max-width:100%;max-height:78vh}.attachment-preview-frame{background:#fff;border:0;border-radius:6px;width:100%;height:70vh}.attachment-preview-message{text-align:center;color:var(--prototype-muted);flex-direction:column;align-items:center;gap:12px;font-size:.85rem;display:flex}.attachment-icon{color:var(--prototype-muted);flex-shrink:0}.attachment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;color:var(--prototype-text);flex:0 auto;font-size:.82rem;overflow:hidden}.attachment-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--prototype-muted);flex:auto;font-size:.72rem;overflow:hidden}.detail-quick-links{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-section-compact{padding:14px}.detail-section-compact .panel-header{margin-bottom:4px}.step-block{flex-direction:column;gap:0;display:flex}.project-step-item{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:10px;flex-direction:column;gap:8px;padding:10px 14px;transition:border-color .2s;display:flex}.project-step-item:hover{border-color:var(--prototype-red)}.step-content{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.step-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.step-info>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.step-actions-bar{border-top:1px solid var(--prototype-border);align-items:center;gap:6px;padding-top:6px;display:flex}.step-description-bar{align-items:center;gap:6px;padding-top:6px;display:flex}.step-description-bar input{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-text);border-radius:6px;flex:1;padding:5px 10px;font-size:.75rem}.member-row{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:border-color .2s;display:flex}.member-row>div{flex-direction:column;flex:1;gap:2px;display:flex}.project-step-item p{color:var(--prototype-muted);margin:0;font-size:.72rem}.project-step-number{color:var(--prototype-muted);font-size:.7rem;font-weight:600}.step-status-dot{background:var(--prototype-muted);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.step-status-dot.en-cours,.step-status-dot.bloquée,.step-status-dot.bloquee{background:var(--prototype-red)}.step-status-dot.terminée{background:var(--prot-white-soft)}.step-status-label{color:var(--prototype-muted);font-size:.7rem}.project-blockage-callout{border-left:3px solid var(--prototype-red);background:#ff00120f;border-radius:0 10px 10px 0;margin-top:14px;padding:14px 16px}.project-blockage-callout strong{color:var(--prototype-text);margin:6px 0;display:block}.project-blockage-callout p:last-child{color:var(--prototype-muted);margin:0;font-size:.86rem;line-height:1.5}.member-row{padding:10px}.manager-row{border-color:#ff001266}.admin-form{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:14px;display:flex}.admin-form input,.admin-form select,.password-editor input{border:1px solid var(--prototype-border);background:var(--prototype-panel);min-width:0;color:var(--prototype-text);border-radius:7px;flex:1;padding:10px 12px}.password-editor{gap:8px;display:flex}.password-editor input{width:100%}.project-status-tabs{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:14px;gap:6px;padding:6px;display:flex;overflow-x:auto}.status-tab{min-width:0;color:var(--prototype-muted);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;transition:background .2s,color .2s,border-color .2s;display:flex}.status-tab:hover,.status-tab.active{color:var(--prototype-text);background:#ff00121a;border-color:#ff001240}.status-tab span{font-size:.86rem;font-weight:700}.status-tab strong{background:var(--prototype-panel-soft);min-width:30px;height:30px;color:var(--prototype-muted);border-radius:50%;place-items:center;font-size:.82rem;display:grid}.status-tab.active strong{background:var(--prototype-red);color:var(--sav-white)}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.dashboard-heading h2{color:var(--prototype-text);margin:0 0 8px;font-size:1.45rem}.dashboard-heading p:last-child{color:var(--prototype-muted);margin:0}.project-count{color:var(--prototype-red);font-size:.82rem;font-weight:700}.project-count-sort{align-items:center;gap:12px;display:flex}.search-bar-inline{align-items:center;gap:4px;display:flex}.search-input{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-text);border-radius:8px;width:260px;padding:7px 12px;font-size:.85rem;transition:border-color .2s}.search-input:focus{border-color:var(--prototype-red);outline:none}.search-input::placeholder{color:var(--prototype-muted)}.project-view-toggle{border:1px solid var(--prototype-border);border-radius:8px;align-items:center;gap:0;display:inline-flex;overflow:hidden}.view-toggle-btn{border:none;border-right:1px solid var(--prototype-border);color:var(--prototype-muted);cursor:pointer;background:0 0;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .2s}.view-toggle-btn:last-child{border-right:none}.view-toggle-btn:hover{color:var(--prototype-text);background:#ffffff0a}.view-toggle-btn.active{background:var(--prototype-red);color:var(--sav-white)}.project-list-layout{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.project-list-layout.with-detail{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.project-list{flex-direction:column;gap:10px;display:flex}.project-card-row{align-items:stretch;gap:10px;display:flex}.project-card-row .project-list-item{flex:1;min-width:0}.project-list-item{border:1px solid var(--prototype-border);background:var(--prototype-panel);width:100%;color:var(--prototype-text);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto auto 18px;align-items:center;gap:14px;padding:15px 18px;transition:background .2s,border-color .2s,transform .2s;display:grid}.project-list-item:hover,.project-list-item.selected{background:var(--prototype-panel-soft);border-color:#ff001273;transform:translateY(-1px)}.project-list-icon{width:42px;height:42px;color:var(--prototype-red);background:#ff00121f;border-radius:10px;place-items:center;font-weight:800;display:grid}.project-list-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.project-title-line{align-items:center;gap:8px;min-width:0;display:flex}.project-title-line>strong{textOverflow:ellipsis;whiteSpace:nowrap;min-width:0;overflow:hidden}.project-title-line>small{white-space:nowrap;flex:none}.project-title-line>.project-product-badge{margin-top:0}.project-list-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-list-copy small,.project-priority{color:var(--prototype-muted);font-size:.78rem}.project-arrow{color:var(--prototype-red);font-size:1.4rem;line-height:1}.project-detail-panel{background:var(--prototype-panel);border:1px solid #ff001259;border-radius:14px;align-self:start;padding:20px}.project-detail-panel .panel-header{align-items:flex-start}.project-detail-panel .panel-header h3{margin:0;font-size:1.05rem}.close-detail{border:1px solid var(--prototype-border);width:30px;height:30px;color:var(--prototype-muted);cursor:pointer;background:0 0;border-radius:50%;font-size:1.2rem}.detail-meta{border-top:1px solid var(--prototype-border);border-bottom:1px solid var(--prototype-border);grid-template-columns:1fr 1fr;gap:8px 16px;padding:16px 0;display:grid}.detail-meta span,.detail-section-label{color:var(--prototype-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.detail-meta strong{color:var(--prototype-text);font-size:.86rem}.blockage-detail{flex-direction:column;gap:8px;padding-top:18px;display:flex}.blockage-detail h4{color:var(--prototype-text);margin:0 0 8px;font-size:1rem}.blockage-detail .detail-section-label:not(:first-child){margin-top:12px}.blockage-detail blockquote{border-left:3px solid var(--prototype-red);color:var(--prototype-text);background:#ff001214;margin:0;padding:13px 15px;font-size:.88rem;line-height:1.6}.empty-detail{color:var(--prototype-muted);align-items:center;gap:12px;padding-top:20px;font-size:.88rem;display:flex}.empty-detail p{margin:0}.detail-check{width:30px;height:30px;color:var(--prototype-red);background:#ff00121f;border-radius:50%;place-items:center;font-weight:800;display:grid}.theme-light{--prototype-bg:var(--sav-white);--prototype-sidebar:var(--sav-white);--prototype-panel:var(--sav-white);--prototype-panel-soft:#f5f5f5;--prototype-logo-bg:#f5f5f5;--prototype-text:#111;--prototype-muted:#666;--prototype-border:#0000001a;--prototype-logo-border:#0000001a;--prot-white-border:#0000001a;--prot-black-border:#0000000f;--prototype-red:var(--sav-red);--prototype-teal:var(--sav-red);--prot-red-soft:#ff001214;--prot-red-border:#ff001233;--prot-red-hover:#e00010;--dashboard-subtitle:#6b7280;--prot-black-soft:#000000d9;--prot-white-soft:#ffffffd9;--text-primary:#111;--text-secondary:#666;--text-dark:#333;--donut-track:var(--sav-white);--donut-total:#111;--donut-label:#555;--donut-en-cours:#3b82f6;--donut-terminee:#8b5cf6;--donut-bloquee:#ef4444;--donut-non-debutee:#64748b;--donut-row-hover:#0000000d;--product-badge-bg:#3b82f61a;--product-badge-border:#3b82f633;--product-badge-text:#2563eb;background:var(--prototype-bg);color:var(--prototype-text)}.theme-light.login-screen{background:var(--sav-white);color:var(--prototype-text)}.theme-light .login-form-panel{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 8px 40px #00000014}.theme-light .sidebar{background:var(--prototype-sidebar);color:var(--prototype-text);border-right:1px solid var(--prototype-border);box-shadow:2px 0 12px #0000000a}.theme-light .brand-box{border-bottom-color:var(--prototype-border)}.theme-light .eyebrow{opacity:.55}.theme-light .brand-box h2{color:var(--prototype-text)}.theme-light .nav-item{color:var(--prototype-muted);background:0 0}.theme-light .nav-item:hover{color:var(--prototype-text);background:#ff00120f}.theme-light .nav-item.active{color:var(--prototype-red);background:#ff00121a}.theme-light .logout-nav-item{color:var(--prototype-red)!important}.theme-light .logout-nav-item:hover{background:#ff00120f!important}.theme-light .nav-icon{color:var(--prototype-red)}.theme-light .nav-badge{background:var(--prototype-red)}.theme-light .sidebar-card{background:#ff00120a;border:1px solid #ff00121f}.theme-light .sidebar-card .label{color:var(--prototype-red)}.theme-light .sidebar-card h3{color:var(--prototype-text)}.theme-light .sidebar-card p{color:var(--prototype-muted)}.theme-light .sidebar-user{border-top-color:var(--prototype-border)}.theme-light .sidebar-user strong{color:var(--prototype-text)}.theme-light .sidebar-user small{color:var(--prototype-muted)}.theme-light .sidebar-logout-btn:hover{background:#ff00120f}.theme-light .main-panel{background:var(--prototype-bg)}.theme-light .topbar-label{color:var(--prototype-muted)}.theme-light .topbar h1{color:var(--prototype-text)}.theme-light .theme-toggle{background:var(--prototype-panel);border-color:var(--prototype-border);color:var(--prototype-text);box-shadow:0 1px 4px #0000000f}.theme-light .theme-toggle:hover{border-color:var(--prototype-red);color:var(--prototype-red)}.theme-light .panel-card{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 1px 4px #0000000a}.theme-light .stat-card{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 2px 8px #0000000a}.theme-light .stat-card p{color:var(--prototype-muted)}.theme-light .stat-row strong{color:var(--prototype-text)}.theme-light .stat-row span{color:var(--prototype-red)}.theme-light .mini-card,.theme-light .info-card{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 1px 4px #0000000a}.theme-light .mini-card h4,.theme-light .info-card strong{color:var(--prototype-text)}.theme-light .mini-card p,.theme-light .info-card span,.theme-light .info-card small{color:var(--prototype-muted)}.theme-light .mini-tag{color:var(--prototype-red);background:#ff001214}.theme-light .mini-meta{color:var(--prototype-muted)}.theme-light .task-item{background:var(--prototype-panel);border-color:var(--prototype-border)}.theme-light .task-item p,.theme-light .task-item span{color:var(--prototype-muted)}.theme-light .badge{background:var(--prototype-panel-soft);color:var(--prototype-text)}.theme-light .badge.encours,.theme-light .badge.en_cours{color:var(--prototype-red);background:#ff001214}.theme-light .badge.non_debutee,.theme-light .badge.non_débutée{color:var(--text-dark);background:#0000000f}.theme-light .badge.bloqué,.theme-light .badge.bloquee{color:var(--prototype-red);background:#ff00121f}.theme-light .badge.terminé,.theme-light .badge.terminee{color:var(--text-dark);background:#0000000f}span.badge-personal{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prot-white-soft);letter-spacing:.04em;white-space:nowrap;vertical-align:middle;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:.14rem .55rem;font-size:.66rem;font-weight:700;line-height:1.4;display:inline-flex}.theme-light span.badge-personal{background:var(--prototype-panel-soft);color:var(--prototype-text);border-color:#040f2e29}span.project-product-badge{border:1px solid var(--product-badge-border);background:var(--product-badge-bg);width:fit-content;min-width:0;max-width:100%;color:var(--product-badge-text);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:12px;flex:0 auto;margin-top:5px;padding:2px 8px;font-size:.75rem;font-weight:700;line-height:1.4;display:inline-block;overflow:hidden}span.project-product-badge svg{vertical-align:-1.5px;opacity:.9;margin-right:4px}.theme-light th{color:var(--prototype-muted)}.theme-light td{border-bottom-color:var(--prototype-border)}.theme-light .project-status-tabs{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 1px 4px #0000000a}.theme-light .status-tab{color:var(--prototype-muted)}.theme-light .status-tab:hover,.theme-light .status-tab.active{color:var(--prototype-text);background:#ff00120f;border-color:#ff00122e}.theme-light .status-tab strong{background:var(--prototype-panel-soft);color:var(--prototype-muted)}.theme-light .status-tab.active strong{background:var(--prototype-red);color:var(--sav-white)}.theme-light .project-list-item{background:var(--prototype-panel);border-color:var(--prototype-border);color:var(--prototype-text);box-shadow:0 1px 3px #00000008}.theme-light .project-list-item:hover,.theme-light .project-list-item.selected{background:var(--prototype-panel-soft);border-color:#ff00124d}.theme-light .project-list-item h3,.theme-light .project-list-item strong{color:var(--prototype-text)}.theme-light .project-list-item p{color:var(--prototype-muted)}.theme-light .project-count{color:var(--prototype-red)}.theme-light .project-list-icon{color:var(--prototype-red);background:#ff001214}.theme-light .project-detail-page{background:var(--prototype-panel);border-color:var(--prototype-border);color:var(--prototype-text);box-shadow:0 1px 4px #0000000a}.theme-light .project-detail-page h2{color:var(--prototype-text)}.theme-light .project-detail-page p{color:var(--prototype-muted)}.theme-light .project-detail-topbar h2{color:var(--prototype-text)}.theme-light .project-detail-topbar p:last-child{color:var(--prototype-muted)}.theme-light .summary-item{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .summary-item span{color:var(--prototype-muted)}.theme-light .summary-item strong{color:var(--prototype-text)}.theme-light .detail-section{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 1px 4px #0000000a}.theme-light .detail-section h3{color:var(--prototype-text)}.theme-light .project-step-item,.theme-light .member-row{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .project-step-item p,.theme-light .project-step-number{color:var(--prototype-muted)}.theme-light .step-status-dot{background:var(--prototype-muted)}.theme-light .step-status-dot.en-cours,.theme-light .step-status-dot.bloquée,.theme-light .step-status-dot.bloquee{background:var(--prototype-red)}.theme-light .step-status-dot.terminée{background:var(--text-dark)}.theme-light .step-status-label{color:var(--prototype-muted)}.theme-light .blockage-flag{color:var(--prototype-red);background:#ff00121a}.theme-light .blockage-form{background:#ff001208;border-color:#ff001240}.theme-light .blockage-form input,.theme-light .blockage-form textarea{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .blockage-instructions{border-left-color:var(--prototype-red);color:var(--prototype-text);background:#ff00120a}.theme-light .step-item-actions .btn-icon{color:var(--prototype-muted)}.theme-light .step-item-actions .btn-icon:hover{color:var(--prototype-text)}.theme-light .blockage-row{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .blockage-row.resolved{opacity:.55}.theme-light .blockage-copy strong,.theme-light .blockage-copy p{color:var(--prototype-text)}.theme-light .blockage-copy small{color:var(--prototype-muted)}.theme-light .blockage-instructions{color:var(--prototype-red)}.theme-light .blockage-status{color:var(--prototype-red);background:#ff00121a}.theme-light .project-blockage-callout{border-left-color:var(--prototype-red);background:#ff00120a}.theme-light .project-blockage-callout strong{color:var(--prototype-text)}.theme-light .project-blockage-callout p:last-child{color:var(--prototype-muted)}.theme-light .attachment-row{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .attachment-copy strong{color:var(--prototype-text)}.theme-light .attachment-copy small{color:var(--prototype-muted)}.theme-light .step-row{background:var(--prototype-panel);border-color:var(--prototype-border)}.theme-light .step-row p{color:var(--prototype-muted)}.theme-light .step-index{color:var(--prototype-red);background:#ff001214}.theme-light input,.theme-light select,.theme-light textarea,.theme-light .search-box{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light input:focus,.theme-light select:focus,.theme-light textarea:focus{border-color:var(--prototype-red);box-shadow:0 0 0 3px #ff00121a}.theme-light .admin-form{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .admin-form input,.theme-light .admin-form select{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .project-form,.theme-light .step-assign-section{background:var(--prototype-panel);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .step-assign-card.selected{border-color:var(--prototype-red);background:#ff00120f}.theme-light label{color:var(--prototype-text)}.theme-light .form-group small,.theme-light .step-assign-hint,.theme-light .login-form>label:not(.remember-option),.theme-light .login-form label[htmlFor="password"]{color:var(--prototype-muted)}.theme-light .login-form .password-field input{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .login-form .password-toggle{color:var(--text-secondary);background:0 0;border:none}.theme-light .login-form .password-toggle:hover{color:var(--text-primary);background:0 0}.theme-light .btn-primary{background:var(--prototype-red);color:var(--sav-white);box-shadow:0 4px 14px #ff001240}.theme-light .btn-secondary,.theme-light .pill-button{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .pill-button.active{border-color:var(--prototype-red);color:var(--prototype-red);background:#ff00121a;font-weight:600}.theme-light .btn-secondary:hover{background:var(--prototype-panel);border-color:#ff001240}.theme-light .btn-danger{color:var(--prototype-red);background:#ff001214;border-color:#ff001233}.theme-light .btn-danger:hover{background:#ff001224}.theme-light .product-card{background:var(--prototype-panel);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .product-card:hover{background:var(--prototype-panel-soft);border-color:#ff00124d}.theme-light .product-card-copy strong{color:var(--prototype-text)}.theme-light .product-card-copy small,.theme-light .product-card-link{color:var(--prototype-muted)}.theme-light .product-mark{color:var(--prototype-red);background:#ff001214}.theme-light .product-url{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-red)}.theme-light .product-project-row{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .staff-row{background:var(--prototype-panel);border-color:var(--prototype-border)}.theme-light .staff-row:hover{background:var(--prototype-panel-soft)}.theme-light .staff-copy small{color:var(--prototype-muted)}.theme-light .staff-role{color:var(--prototype-red);background:#ff001214}.theme-light .staff-scope{color:var(--prototype-muted);border-color:var(--prototype-border)}.theme-light .staff-status.active{color:#1f2937;background-color:#e2e8f0}.theme-light .notification-list .task-item{background:var(--prototype-panel);border-color:var(--prototype-border)}.theme-light .task-dot{background:var(--prototype-border)}.theme-light .task-dot.active{background:var(--prototype-red)}.theme-light .task-item.unread{box-shadow:inset 3px 0 0 var(--prototype-red);background:#ff00120a;border-color:#ff00124d}.theme-light .task-item.read{opacity:.55;background:0 0;border-color:#0000}.theme-light .task-item.read:hover{opacity:1;background:#f9fafb;border-color:#e5e7eb}.theme-light .avatar-soft{color:var(--prototype-red);background:#ff001214}.theme-light .avatar-pill{box-shadow:0 2px 8px #00000014}.theme-light .profile-dropdown{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 8px 30px #0000001f}.theme-light .profile-dropdown-header strong{color:var(--prototype-text)}.theme-light .profile-dropdown-header small{color:var(--prototype-muted)}.theme-light .profile-dropdown-divider{background:var(--prototype-border)}.theme-light .profile-dropdown-item{color:var(--prototype-text)}.theme-light .profile-dropdown-item:hover{background:var(--prototype-panel-soft)}.theme-light .logout-button{color:var(--prototype-red);background:#ff00120f;border-color:#ff001226}.theme-light .logout-button:hover{background:#ff00121f;border-color:#ff001240}.theme-light .profile-header,.theme-light .profile-section{background:#fff;border-color:#e5e7eb}.theme-light .profile-field-edit-btn:hover{background:#f3f4f6;border-color:#d1d5db}.theme-light .profile-input{background:#f9fafb;border-color:#e5e7eb}.theme-light .profile-input:focus{border-color:var(--prototype-red)}.theme-light .profile-alert-error{background:#ef44440a;border-color:#ef44441f}.theme-light .profile-alert-success{background:#22c55e0a;border-color:#22c55e1f}.theme-light .link-button{color:var(--prototype-red)}.theme-light .section-actions h2,.theme-light .project-detail-topbar h2,.theme-light .dashboard-heading h2{color:var(--prototype-text)}.theme-light .section-actions p:last-child,.theme-light .dashboard-heading p:last-child{color:var(--prototype-muted)}.theme-light .client-list-header,.theme-light .client-list-row{border-bottom-color:var(--prototype-border)}.theme-light .product-resource-item{background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.theme-light .product-resource-item:hover{border-color:var(--prototype-red);background:#ff00120f}.theme-light .product-resource-icon{color:var(--prototype-red);background:#ff001214}.theme-light .modal-panel{background:var(--prototype-panel);border-color:var(--prototype-border);box-shadow:0 24px 80px #00000026}.theme-light .modal-form input{background:var(--prototype-panel-soft);border-color:var(--prototype-border);color:var(--prototype-text)}.theme-light .password-toggle{color:var(--text-secondary);background:0 0;border:none}.theme-light .password-toggle:hover{color:var(--text-primary);background:0 0}.project-status-select{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);min-width:135px;color:var(--prototype-text);border-radius:8px;padding:7px 10px;font-weight:700}.login-screen{background:var(--prototype-bg);min-height:100vh;color:var(--prototype-text);justify-content:center;align-items:center;padding:32px 20px;display:flex}.login-form-panel{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:18px;width:min(100%,440px);padding:42px 38px;box-shadow:0 24px 70px #00000047}.login-theme-toggle{z-index:10;position:fixed;top:20px;right:20px}.login-form{width:min(100%,410px)}.login-logo{width:min(100%,230px);height:auto;margin:0 auto 34px;display:block}.login-heading{margin-bottom:34px}.login-heading h2{margin:0 0 10px;font-size:2rem}.login-heading p:last-child,.demo-note{color:var(--prototype-muted)}.login-form>label:not(.remember-option),.login-form label[htmlFor="password"]{color:var(--prototype-muted);margin:0 0 9px;font-size:.86rem;font-weight:700;display:block}.login-form .password-toggle{color:var(--prototype-muted);background:0 0;border:none;width:40px;height:40px;margin:auto 0;top:0;bottom:0;right:4px}.login-form .password-toggle:hover{color:var(--prototype-text);background:0 0}.login-form>input,.login-form .password-field input{border:1px solid var(--prototype-border);background:var(--prototype-panel);width:100%;color:var(--prototype-text);border-radius:8px;outline:none;margin-bottom:20px;padding:14px 15px;transition:border-color .2s,box-shadow .2s}.login-form>input:focus,.login-form .password-field input:focus{border-color:var(--prototype-red);box-shadow:0 0 0 3px #ff001224}.login-form>input::placeholder,.login-form .password-field input::placeholder{color:var(--prototype-muted)}.login-form .password-field{margin-bottom:20px}.login-form .password-field input{margin-bottom:0}.login-options{justify-content:space-between;align-items:center;gap:12px;margin:-3px 0 26px;display:flex}.remember-option{color:var(--prototype-muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.remember-option input{accent-color:var(--prototype-red)}.text-button{color:var(--prototype-red);cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem}.login-submit{width:100%;padding:14px 18px}.demo-note{text-align:center;margin:18px 0 0;font-size:.76rem}.nav-badge{background:var(--prototype-red);min-width:18px;height:18px;color:var(--sav-white);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 5px;font-size:.65rem;font-weight:800;display:inline-flex}.sidebar-footer{flex-direction:column;gap:10px;margin-top:auto;display:flex}.sidebar-user{border-top:1px solid var(--prototype-border);justify-content:space-between;align-items:center;padding:12px 10px;display:flex}.sidebar-logout-btn{width:32px;height:32px;color:var(--prototype-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.sidebar-logout-btn:hover{color:var(--prototype-red);background:#ff00121a}.sidebar-user-identity{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-user .avatar-soft{flex-shrink:0;width:36px;height:36px;font-size:.75rem}.sidebar-user-copy{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user strong{color:var(--prototype-text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.sidebar-user small{color:var(--prototype-muted);text-transform:capitalize;font-size:.7rem}.logout-button{width:100%;color:var(--prototype-red);cursor:pointer;background:#ff001214;border:1px solid #ff001233;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s;display:flex}.logout-button:hover{background:#ff001229;border-color:#ff001259}.profile-menu-wrapper{position:relative}.avatar-pill{cursor:pointer}.profile-dropdown{background:var(--prototype-panel);border:1px solid var(--prototype-border);z-index:100;border-radius:14px;min-width:220px;animation:.15s dropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000024}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{align-items:center;gap:12px;padding:16px 16px 14px;display:flex}.profile-dropdown-header strong{color:var(--prototype-text);font-size:.92rem;line-height:1.3;display:block}.profile-dropdown-header small{color:var(--prototype-muted);text-transform:capitalize;font-size:.75rem;display:block}.profile-dropdown-avatar{width:40px;height:40px;color:var(--prototype-red);background:#ff00121f;border-radius:50%;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:700;display:grid}.profile-dropdown-divider{background:var(--prototype-border);height:1px;margin:0}.profile-dropdown-item{width:100%;color:var(--prototype-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;font-weight:500;transition:background .15s;display:flex}.profile-dropdown-item:hover{background:var(--prototype-panel-soft)}.profile-dropdown-logout{color:var(--prototype-red)}.profile-dropdown-logout:hover{background:#ff00120f}.profile-page{flex-direction:column;gap:28px;width:100%;max-width:900px;display:flex}.profile-header{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:20px;align-items:center;gap:28px;padding:40px 44px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f}.profile-header:before{content:"";background:linear-gradient(90deg, var(--prototype-red), #ff00124d);height:4px;position:absolute;top:0;left:0;right:0}.profile-avatar-hero{background:linear-gradient(135deg, var(--prototype-red), #ff0012b3);border:3px solid var(--prototype-panel);border-radius:50%;flex-shrink:0;place-items:center;width:90px;height:90px;transition:transform .2s;display:grid;box-shadow:0 6px 24px #ff00124d}.profile-avatar-hero:hover{transform:scale(1.05)}.profile-avatar-initials{color:#fff;letter-spacing:.02em;font-size:1.7rem;font-weight:800}.profile-header-info{flex-direction:column;gap:4px;display:flex}.profile-header-name{color:var(--prototype-text);margin:0;font-size:1.4rem;font-weight:700;line-height:1.3}.profile-header-role{color:var(--prototype-red);font-size:.85rem;font-weight:600}.profile-header-email{color:var(--prototype-muted);font-size:.85rem}.profile-body{flex-direction:column;gap:20px;display:flex}.profile-section{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:16px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 6px #0000000a}.profile-section:hover{box-shadow:0 2px 12px #00000014}.profile-section-header{padding:18px 24px 0}.profile-section-header h2{color:var(--prototype-text);margin:0;font-size:.95rem;font-weight:700}.profile-section-body{box-sizing:border-box;width:100%;padding:20px 24px 24px}.profile-section-actions{justify-content:flex-end;gap:12px;display:flex}.profile-field{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex}.profile-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--prototype-muted);font-size:.78rem;font-weight:600}.profile-field-value{color:var(--prototype-text);font-size:.95rem;font-weight:500;line-height:1.5}.profile-field-divider{background:var(--prototype-border);height:1px;margin:16px 0}.profile-field-display{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.profile-field-edit{flex-direction:column;gap:12px;width:100%;display:flex}.profile-field-actions{align-items:center;gap:8px;display:flex}.profile-field-edit-btn{border:1px solid var(--prototype-border);color:var(--prototype-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.profile-field-edit-btn:hover{background:var(--prototype-panel-soft);color:var(--prototype-text);border-color:var(--prototype-text)}.profile-input{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);width:100%;color:var(--prototype-text);border-radius:10px;outline:none;padding:10px 14px;font-size:.92rem;transition:border-color .15s}.profile-input:focus{border-color:var(--prototype-red)}.profile-badge{border-radius:20px;align-items:center;gap:8px;width:fit-content;padding:5px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.profile-badge-dot{border-radius:50%;width:8px;height:8px}.profile-badge-success{color:#22c55e;background:#22c55e1a}.profile-badge-success .profile-badge-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e26}.profile-badge-danger{color:#ef4444;background:#ef44441a}.profile-badge-danger .profile-badge-dot{background:#ef4444;box-shadow:0 0 0 3px #ef444426}.profile-security-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-security-info{align-items:center;gap:14px;display:flex}.profile-security-icon{width:48px;height:48px;color:var(--prototype-red);background:#ff001214;border-radius:14px;flex-shrink:0;place-items:center;transition:background .2s;display:grid}.profile-security-row:hover .profile-security-icon{background:#ff001224}.profile-security-info strong{color:var(--prototype-text);margin-bottom:2px;font-size:.92rem;display:block}.profile-security-info small{color:var(--prototype-muted);font-size:.78rem;display:block}.profile-password-form{border-top:1px solid var(--prototype-border);flex-direction:column;gap:16px;margin-top:16px;padding-top:20px;animation:.2s profileSlideIn;display:flex}@keyframes profileSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-password-actions{gap:10px;margin-top:4px;display:flex}.profile-alert{border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.85rem;font-weight:500;display:flex}.profile-alert-error{color:#ef4444;background:#ef444414;border:1px solid #ef444426}.profile-alert-success{color:#22c55e;background:#22c55e14;border:1px solid #22c55e26}.form-error{color:#ef4444;font-size:.85rem;font-weight:500}.form-alert-popup{color:#ef4444;background:#ef444414;border:1px solid #ef444459;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.85rem;font-weight:500;line-height:1.45;animation:.25s ease-out form-alert-popup-in;display:flex;box-shadow:0 8px 24px #ef444426}.form-alert-popup svg{flex-shrink:0;margin-top:1px}@keyframes form-alert-popup-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.form-success{color:#22c55e;font-size:.85rem;font-weight:500}.blockage-list{flex-direction:column;gap:10px;display:flex}.blockage-row{background:#ff00120a;border:1px solid #ff001226;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;transition:background .2s;display:flex}.blockage-row:hover{background:#ff001212}.blockage-row.resolved{opacity:.65;background:#ffffff0a;border-color:#ffffff26}.theme-light .blockage-row.resolved{background:#00000005;border-color:#0000001a}.blockage-row.resolved:hover{background:#ffffff0f}.theme-light .blockage-row.resolved:hover{background:#0000000a}.blockage-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.blockage-copy strong{color:var(--prototype-text);font-size:.88rem}.blockage-copy p{color:var(--prototype-muted);margin:0;font-size:.85rem;line-height:1.45}.blockage-copy small{color:var(--prototype-muted);opacity:.8;font-size:.76rem}.blockage-instructions{border-left:3px solid var(--prototype-red);color:var(--prototype-text);background:#ff00120f;border-radius:0 8px 8px 0;margin-top:6px;padding:10px 12px;font-size:.84rem;line-height:1.55;display:block}.blockage-status{white-space:nowrap;color:var(--prototype-red);background:#ff00121f;border-radius:999px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.blockage-status.resolu{color:var(--prot-white-soft);background:#ffffff1a}.theme-light .blockage-status.resolu{color:var(--text-dark);background:#0000000f}.blockage-flag{color:var(--prototype-red);background:#ff001224;border-radius:999px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.blockage-form{background:#ff00120d;border:1px dashed #ff001259;border-radius:12px;flex-direction:column;gap:10px;margin-top:10px;padding:16px;display:flex}.blockage-form strong{color:var(--prototype-text);font-size:.9rem}.blockage-form input,.blockage-form textarea{background:var(--prototype-panel-soft);width:100%;color:var(--prototype-text);resize:vertical;border:1px solid #ff001240;border-radius:8px;padding:12px 14px;font-size:.9rem;line-height:1.5}.blockage-form input::placeholder,.blockage-form textarea::placeholder{color:var(--prototype-muted)}.blockage-form textarea{min-height:80px}.blockage-description-inline{align-items:center;gap:6px;margin-top:6px;display:flex}.blockage-description-inline input{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-text);border-radius:6px;flex:1;padding:6px 10px;font-size:.82rem}.blockage-form input:focus,.blockage-form textarea:focus{border-color:var(--prototype-red);outline:none;box-shadow:0 0 0 3px #ff00121a}.blockage-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.input-readonly{opacity:.7;cursor:not-allowed;pointer-events:none}.password-field{flex:1;align-items:center;min-width:0;display:flex;position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{color:var(--prototype-muted);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:36px;height:36px;margin:auto 0;padding:8px;transition:color .2s;display:flex;position:absolute;top:0;bottom:0;right:4px}.password-toggle svg{display:block}.password-toggle:hover{color:var(--prototype-text);background:0 0}.password-editor{flex-wrap:wrap}.password-editor strong{width:100%;color:var(--prototype-text);font-size:.85rem}.login-error{color:var(--prototype-red);background:#ff00121a;border:1px solid #ff001266;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.86rem}.login-success{color:var(--prot-white-soft);background:#ffffff0f;border:1px solid #fff3;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.86rem}.theme-light .login-success{color:var(--text-dark);background:#0000000a;border-color:#00000026}.forgot-password-link{text-align:center;width:100%;margin-top:14px;font-size:.84rem;display:block}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;animation:.2s overlayFadeIn;display:grid;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:18px;width:min(100%,440px);padding:28px;animation:.2s modalSlideIn;box-shadow:0 24px 80px #00000040}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-description{color:var(--prototype-muted);margin:0 0 18px;font-size:.88rem}.modal-form{flex-direction:column;gap:14px;display:flex}.modal-form label{color:var(--prototype-text);margin-bottom:4px;font-size:.82rem;font-weight:700;display:block}.modal-form input{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);width:100%;color:var(--prototype-text);border-radius:8px;padding:10px 12px;font-size:.9rem}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;display:flex}.notification-count{color:var(--prototype-red);margin-left:10px;font-size:.75rem;font-weight:700}.project-form{flex-direction:column;gap:20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--prototype-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-text);border-radius:8px;padding:10px 12px;font-size:.9rem}.form-group textarea{resize:vertical;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--prototype-red);outline:none;box-shadow:0 0 0 3px #ff001224}.form-actions{border-top:1px solid var(--prototype-border);align-items:center;gap:12px;padding-top:8px;display:flex}.project-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.step-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.step-status-select{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-text);cursor:pointer;border-radius:6px;height:28px;padding:4px 8px;font-size:.72rem;font-weight:500;transition:border-color .2s}.step-status-select:hover{border-color:var(--prototype-red)}.step-assign-section{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.step-assign-section>label{color:var(--prototype-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.step-assign-hint{color:var(--prototype-muted);margin:0;font-size:.82rem}.step-assign-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.step-assign-card{border:1px solid var(--prototype-border);background:var(--prototype-panel);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s,background .2s,transform .15s;display:flex}.step-assign-card:hover{border-color:var(--prototype-red);background:#ff00120a;transform:translateY(-1px)}.step-assign-card.selected{border-color:var(--prototype-red);background:#ff001214}.step-assign-card input[type=checkbox]{accent-color:var(--prototype-red)}.step-assign-name{color:var(--prototype-text);font-size:.85rem;font-weight:600}.form-group-full{grid-column:1/-1}.category-chip-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.category-chip{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-text);border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 10px;font-size:.78rem;display:inline-flex}.category-chip button{color:var(--prototype-muted);cursor:pointer;background:0 0;border:0;font-size:1rem;line-height:1}.member-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.notification-item{cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.notification-item:hover{border-color:#ff001259;transform:translateY(-1px)}.task-item.unread{box-shadow:inset 3px 0 0 var(--prototype-red);background:#ff00120f;border-color:#ff00124d}.task-item.read{opacity:.6;background:0 0;border-color:#0000}.task-item.read:hover{opacity:1;background:var(--prototype-panel-soft);border-color:var(--prototype-border)}.client-list{flex-direction:column;gap:0;display:flex}.client-list-header{border-bottom:2px solid var(--prototype-border);grid-template-columns:1.5fr 1.2fr 1fr 1.5fr 50px;gap:14px;padding:10px 16px;display:grid}.client-list-header span{text-transform:uppercase;letter-spacing:.08em;color:var(--prototype-muted);font-size:.72rem;font-weight:700}.client-list-row{border-bottom:1px solid var(--prototype-border);grid-template-columns:1.5fr 1.2fr 1fr 1.5fr 50px;align-items:center;gap:14px;padding:14px 16px;transition:background .15s;display:grid}.client-list-row:hover{background:var(--prototype-panel-soft)}.client-list-row:last-child{border-bottom:none}.client-col-name{align-items:center;gap:10px;display:flex}.client-col-name strong{color:var(--prototype-text);font-size:.92rem}.client-col-email,.client-col-phone,.client-col-address{color:var(--prototype-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.client-col-actions{justify-content:flex-end;display:flex}.product-detail-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.product-resources-section{margin-bottom:18px}.product-resources-section:last-child{margin-bottom:0}.product-resources-title{text-transform:uppercase;letter-spacing:.06em;color:var(--prototype-muted);margin:0 0 10px;font-size:.82rem;font-weight:700}.product-resources-list{flex-direction:column;gap:6px;display:flex}.product-resource-item{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-text);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.product-resource-item:hover{border-color:var(--prototype-red);background:#ff00120a}.product-resource-icon{width:30px;height:30px;color:var(--prototype-red);background:#ff00121a;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.product-resource-icon--cat{color:var(--prototype-red);background:#ff00121a}.product-resource-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;font-weight:500;overflow:hidden}.product-resource-arrow{color:var(--prototype-muted);flex-shrink:0;font-size:.85rem}.dashboard-workspace .stat-card{border-top:4px solid var(--prototype-red)}.dashboard-workspace .stat-card.primary{border-top-color:var(--prototype-red)}.dashboard-workspace .stat-card.secondary{border-top-color:#fff6}.theme-light .dashboard-workspace .stat-card.secondary{border-top-color:#00000040}.dashboard-workspace .stat-card.warning{border-top-color:#ff001280}.dashboard-workspace .stat-card.success{border-top-color:#ffffffb3}.theme-light .dashboard-workspace .stat-card.success{border-top-color:#00000073}.dashboard-workspace .stat-card.neutral{border-top-color:#fff6}.theme-light .dashboard-workspace .stat-card.neutral{border-top-color:#0000004d}.dashboard-workspace .mini-card{border:1px solid var(--prototype-border);transition:border-color .2s}.dashboard-workspace .mini-card:hover{border-color:var(--prototype-red-border)}@media (width<=1100px){.content-grid,.stats-grid{grid-template-columns:1fr 1fr}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--prototype-border)}.topbar,.toolbar{flex-direction:column;align-items:flex-start}.content-grid,.stats-grid,.cards-row,.list-grid,.step-row{grid-template-columns:1fr}.project-status-tabs{flex-wrap:wrap}.status-tab{flex:0 0 calc(50% - 3px)}.project-list-layout.with-detail{grid-template-columns:1fr}.dashboard-heading{flex-direction:column;align-items:flex-start}.project-list-item{grid-template-columns:42px minmax(0,1fr) 18px}.project-list-item .badge,.project-priority{display:none}.section-actions,.project-detail-topbar,.admin-form{flex-direction:column;align-items:stretch}.project-summary-grid,.project-detail-columns,.detail-quick-links,.form-grid,.product-grid{grid-template-columns:1fr}.product-detail-actions{flex-direction:column;align-items:stretch}.attachment-name{max-width:120px}.login-screen{padding:20px 14px}.login-brand-panel{min-height:360px;padding:28px 24px 36px}.login-intro{padding-bottom:0}.login-intro h1{font-size:clamp(2.3rem,10vw,3.7rem)}.login-form-panel{padding:36px 24px}}.step-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;place-items:center;padding:24px;animation:.2s overlayFadeIn;display:grid;position:fixed;inset:0}.step-modal-panel{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:18px;flex-direction:column;width:min(100%,720px);max-height:88vh;animation:.2s modalSlideIn;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000040}@media (width<=820px){.step-modal-overlay{padding:12px}.step-modal-panel{width:100%;max-height:92vh}}.step-modal-header{border-bottom:1px solid var(--prototype-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.step-modal-header h3{color:var(--prototype-text);margin:0;font-size:1.1rem}.step-modal-header .step-modal-number{color:var(--prototype-muted);font-size:.8rem;font-weight:600}.step-modal-body{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.step-modal-section{flex-direction:column;gap:8px;display:flex}.step-modal-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--prototype-muted);font-size:.75rem;font-weight:700}.step-modal-section-divider{background:var(--prototype-border);height:1px;margin:4px 0 8px}.step-modal-section-header{justify-content:space-between;align-items:center;display:flex}.step-modal-info-row{align-items:center;gap:10px;font-size:.85rem;display:flex}.step-modal-info-row strong{min-width:80px;color:var(--prototype-muted);font-size:.78rem;font-weight:500}.step-modal-status-row{align-items:center;gap:10px;display:flex}.step-modal-status-confirm{gap:8px;margin-top:8px;display:flex}.step-modal-status-input{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-text);border-radius:8px;flex:1;padding:8px 12px;font-size:.85rem}.step-modal-blockages-list{flex-direction:column;gap:8px;display:flex}.step-modal-blockage-card{border-left:4px solid var(--prototype-red);background:var(--prototype-panel-soft);border-radius:0 10px 10px 0;padding:12px 14px;font-size:.85rem}.step-modal-blockage-card--resolved{opacity:.8;border-left-color:#22c55e}.step-modal-blockage-card-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.step-modal-blockage-icon{font-size:.9rem}.step-modal-blockage-title{color:var(--prototype-text);font-weight:600}.step-modal-blockage-instruction{color:var(--prototype-muted);background:var(--prototype-panel);border-radius:6px;gap:6px;margin-bottom:8px;padding:6px 10px;font-size:.8rem;display:flex}.step-modal-blockage-instruction-label{color:var(--prototype-text);font-weight:600}.step-modal-blockage-actions{gap:8px;margin-top:8px;display:flex}.step-modal-history-list{flex-direction:column;gap:4px;display:flex}.step-modal-history-item{border-radius:6px;align-items:center;gap:10px;padding:6px 8px;font-size:.82rem;transition:background .15s;display:flex}.step-modal-history-item:hover{background:var(--prototype-panel-soft)}.step-modal-history-icon{flex-shrink:0;font-size:.9rem}.step-modal-history-content{flex-direction:column;flex:1;min-width:0;display:flex}.step-modal-history-action{color:var(--prototype-text);font-size:.82rem;font-weight:600}.step-modal-history-user{color:var(--prototype-muted);font-size:.75rem}.step-modal-history-date{color:var(--prototype-muted);white-space:nowrap;font-size:.72rem}.step-modal-history-empty{color:var(--prototype-muted);text-align:center;padding:8px 0;font-size:.78rem}.step-modal-history-link{color:var(--prototype-blue,#3b82f6)!important;font-size:.72rem!important}.step-modal-history-link:hover{text-decoration:underline}.step-modal-footer{border-top:1px solid var(--prototype-border);flex-shrink:0;align-items:center;gap:8px;padding:16px 24px;display:flex}.step-modal-footer .btn:last-child{margin-left:auto}.step-modal-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.step-modal-tabs{border-bottom:1px solid var(--prototype-border);background:var(--prototype-panel-soft);flex-shrink:0;align-items:center;gap:0;padding:0 24px;display:flex}.step-modal-tab{color:var(--prototype-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:.78rem;font-weight:500;transition:color .15s,border-color .15s}.step-modal-tab:hover{color:var(--prototype-text)}.step-modal-tab.active{color:var(--prototype-text);border-bottom-color:var(--prototype-red,#ef4444);font-weight:600}.step-modal-tab-badge{color:#fff;background:var(--prototype-red,#ef4444);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;font-size:.65rem;font-weight:700;display:inline-flex}.step-modal-blockage-meta{color:var(--prototype-muted);margin-bottom:6px;font-size:.72rem}.step-modal-attachments-list{flex-direction:column;gap:6px;display:flex}.step-modal-attachment-row{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.step-modal-attachment-icon{color:var(--prototype-muted);flex-shrink:0}.step-modal-attachment-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-modal-attachment-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.step-modal-attachment-info small{color:var(--prototype-muted);font-size:.7rem}.step-modal-attachment-actions{flex-shrink:0;gap:4px;display:flex}.step-status-select--inline{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-text);cursor:pointer;border-radius:8px;padding:4px 8px;font-size:.72rem}.step-card{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s;display:flex}.step-card:hover{border-color:var(--prototype-red)}.step-card--blocked{background:linear-gradient(90deg, #f59e0b1a, var(--prototype-panel-soft));border-color:#f59e0b8c}.step-card-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.step-card-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step-card-details strong{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.step-card-assignee{color:var(--prototype-muted);font-size:.72rem}.step-card-dependencies{color:var(--prototype-muted);margin-top:3px;font-size:.68rem;line-height:1.35;display:block}.step-dependency-item{display:inline}.step-dep-warning{color:#d97706;background:#f59e0b1f;border-radius:4px;margin-left:2px;padding:1px 5px;font-size:.64rem;font-weight:600}.step-dep-pending{color:var(--prototype-muted);opacity:.7;margin-left:2px;font-size:.64rem}.step-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.step-reorder-actions{gap:2px;display:inline-flex}.step-status-badge{white-space:nowrap;border-radius:12px;align-items:center;gap:5px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.step-status-badge.non_debutee{background:var(--prototype-panel);color:var(--prototype-muted);border:1px solid var(--prototype-border)}.step-status-badge.en_cours{color:#3b82f6;background:#3b82f61f;border:1px solid #3b82f640}.step-status-badge.bloquee{color:#d97706;background:#f59e0b2e;border:1px solid #f59e0b59}.step-status-badge.terminee{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e40}.theme-light .step-status-badge.terminee{color:#16a34a}.step-card-blockage-flag{color:var(--prototype-red);background:#ef444426;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.65rem;font-weight:600;display:inline-flex}.step-card-blockage-label{color:#d97706;white-space:nowrap;background:#f59e0b24;border:1px solid #f59e0b59;border-radius:10px;align-items:center;padding:3px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.step-card-blockage-actions{align-items:center;gap:4px;display:inline-flex}.step-card-instruction-badge{color:#3b82f6;white-space:nowrap;background:#3b82f61f;border:1px solid #3b82f659;border-radius:10px;align-items:center;padding:3px 8px;font-size:.66rem;display:inline-flex}.step-card-instruction-badge--clickable{cursor:pointer;border:none;font-family:inherit;transition:background .15s,transform .1s}.step-card-instruction-badge--clickable:hover{background:#3b82f640;transform:scale(1.02)}.modal-overlay{z-index:900;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:12px;width:90%;max-width:480px;box-shadow:0 8px 32px #0000002e}.modal-header{justify-content:space-between;align-items:center;padding:16px 24px 8px;display:flex}.modal-header h3{color:var(--prototype-text);margin:0;font-size:1rem}.modal-description{color:var(--prototype-muted);padding:0 24px 12px;font-size:.85rem}.modal-actions{justify-content:flex-end;gap:8px;padding:12px 24px 16px;display:flex}.step-history-error{border:1px solid var(--prot-red-border);color:var(--prototype-text);background:var(--prot-red-soft);border-radius:10px;align-items:center;gap:10px;margin:24px;padding:14px;display:flex}.step-history-error>svg{color:var(--prototype-red);flex:none}.step-history-error span{flex:1}.history-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:0 24px 16px;display:flex}.history-search{flex:240px;min-width:200px}.history-search .search-input{width:100%}.history-filters{flex-wrap:wrap;gap:8px;display:flex}.history-empty{text-align:center;color:var(--prototype-muted);margin:0;padding:32px 24px}.history-truncated{color:var(--prototype-muted);margin:0;padding:8px 24px 20px;font-size:.78rem}.history-timeline{flex-direction:column;gap:14px;margin:0;padding:4px 24px 8px;list-style:none;display:flex;position:relative}.history-timeline:before{content:"";background:var(--prototype-border);border-radius:2px;width:2px;position:absolute;top:14px;bottom:14px;left:43px}.history-timeline-item{--history-ev:var(--history-other);grid-template-columns:40px minmax(0,1fr);align-items:start;gap:14px;display:grid;position:relative}.history-ev-created{--history-ev:var(--history-created)}.history-ev-status{--history-ev:var(--history-status)}.history-ev-instructions{--history-ev:var(--history-instructions)}.history-ev-blockage{--history-ev:var(--history-blockage)}.history-ev-resolved{--history-ev:var(--history-resolved)}.history-ev-updated{--history-ev:var(--history-updated)}.history-ev-deleted{--history-ev:var(--history-deleted)}.history-ev-member{--history-ev:var(--history-member)}.history-timeline-icon{z-index:1;background:var(--prototype-panel);border:1px solid var(--prototype-border);width:40px;height:40px;color:var(--history-ev);background:color-mix(in srgb, var(--history-ev) 14%, var(--prototype-panel));border-color:color-mix(in srgb, var(--history-ev) 45%, transparent);border-radius:50%;place-items:center;transition:transform .15s;display:grid;position:relative}.history-timeline-card{background:var(--prototype-panel-soft);border:1px solid var(--prototype-border);border-radius:14px;padding:12px 14px;transition:border-color .15s,transform .15s}.history-timeline-card:hover{border-color:color-mix(in srgb, var(--history-ev) 35%, var(--prototype-border));transform:translateY(-1px)}.history-timeline-item:hover .history-timeline-icon{transform:scale(1.06)}.history-timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.history-ev-badge{letter-spacing:.1em;text-transform:uppercase;background:var(--prototype-panel);border:1px solid var(--prototype-border);color:color-mix(in srgb, var(--history-ev) 80%, var(--prototype-text));background:color-mix(in srgb, var(--history-ev) 14%, transparent);border-color:color-mix(in srgb, var(--history-ev) 40%, transparent);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700}.history-timeline-time{color:var(--prototype-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.74rem}.history-timeline-title{color:var(--prototype-text);margin:8px 0 0;font-size:.92rem;font-weight:600}.history-timeline-author{color:var(--prototype-muted);align-items:center;gap:6px;margin:4px 0 0;font-size:.8rem;display:flex}.history-timeline-detail{color:var(--prototype-muted);margin:8px 0 0;font-size:.8rem}.history-values{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-left:3px solid var(--history-ev);border-radius:8px;flex-direction:column;gap:6px;margin:10px 0 0;padding:8px 10px;list-style:none;display:flex}.history-values li{flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.history-values-field{min-width:74px;color:var(--prototype-muted);font-weight:600}.history-values-old{color:var(--prototype-muted);text-decoration:line-through}.history-values-arrow{color:var(--history-ev);font-weight:700}.history-values-new{color:var(--prototype-text);font-weight:600}.spinner-inline{border:2px solid var(--prototype-border);border-top-color:var(--prototype-accent,#3b82f6);vertical-align:middle;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.onboarding-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onboarding-panel{background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:20px;flex-direction:column;gap:24px;width:100%;max-width:520px;max-height:90vh;padding:36px 32px 28px;display:flex;overflow-y:auto;box-shadow:0 24px 80px #00000080}.onboarding-progress{justify-content:center;gap:10px;display:flex}.onboarding-progress-dot{background:var(--prototype-border);border-radius:50%;width:10px;height:10px;transition:all .3s}.onboarding-progress-dot.active{background:var(--prototype-red);border-radius:5px;width:28px}.onboarding-progress-dot.completed{background:var(--prototype-red);opacity:.5}.onboarding-step-content{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.onboarding-step-icon{background:var(--prot-red-soft);width:80px;height:80px;color:var(--prototype-red);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.onboarding-step-title{color:var(--prototype-text);margin:0;font-size:1.5rem}.onboarding-step-description{color:var(--prototype-muted);max-width:420px;margin:0;font-size:.95rem;line-height:1.6}.onboarding-step-highlights{text-align:left;flex-direction:column;gap:10px;width:100%;max-width:380px;margin:8px 0 0;padding:0;list-style:none;display:flex}.onboarding-step-highlights li{color:var(--prototype-text);align-items:center;gap:10px;font-size:.88rem;display:flex}.onboarding-highlight-icon{color:var(--prototype-red);flex-shrink:0}.onboarding-nav{align-items:center;gap:12px;display:flex}.onboarding-skip{width:100%;color:var(--prototype-muted);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-size:.82rem;transition:color .15s;display:block}.onboarding-skip:hover{color:var(--prototype-text)}.theme-light .onboarding-panel{box-shadow:0 24px 80px #00000026}.theme-light .onboarding-overlay{background:#0006}.phone-field{border:1px solid var(--prototype-border);background:var(--prototype-panel);border-radius:8px;align-items:center;gap:0;display:flex;position:relative;overflow:visible}.phone-country-selector{flex-shrink:0;position:relative}.phone-country-btn{cursor:pointer;color:var(--prototype-text);border:none;border-right:1px solid var(--prototype-border);white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:8px 8px 8px 12px;font-size:.85rem;display:flex}.phone-country-btn:hover{background:var(--prototype-panel-soft)}.phone-flag{font-size:1rem;line-height:1}.phone-code{color:var(--prototype-muted);font-size:.8rem}.phone-country-dropdown{z-index:50;background:var(--prototype-panel);border:1px solid var(--prototype-border);border-radius:8px;min-width:260px;max-height:280px;margin-top:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 24px #00000040}.phone-country-option{cursor:pointer;width:100%;color:var(--prototype-text);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.phone-country-option:hover{background:var(--prototype-panel-soft)}.phone-country-option.active{color:var(--prototype-red);background:#ff001214}.phone-country-name{flex:1}.phone-number-input{color:var(--prototype-text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 12px;font-size:.85rem}.phone-number-input::placeholder{color:var(--prototype-muted);opacity:.6}.theme-light .phone-field{background:#fff;border-color:#d1d5db}.theme-light .phone-country-btn{color:#1f2937;border-color:#d1d5db}.theme-light .phone-country-dropdown{background:#fff;border-color:#d1d5db}.theme-light .phone-country-option,.theme-light .phone-number-input{color:#1f2937}[data-tour-overlay],.joyride-overlay{z-index:9999!important}[data-tour-tooltip],.joyride-tooltip{z-index:10000!important}.joyride-tooltip-custom{background:var(--prototype-panel,#111);border:1px solid var(--prototype-border,#ffffff1a);border-radius:14px;min-width:320px;max-width:380px;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d}.joyride-tooltip-header{justify-content:space-between;align-items:center;padding:12px 16px 0;display:flex}.joyride-tooltip-step-indicator{color:var(--prototype-muted,#ffffff8c);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.joyride-tooltip-close{width:28px;height:28px;color:var(--prototype-muted,#ffffff8c);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.joyride-tooltip-close:hover{background:var(--prot-red-soft,#ff00121f);color:var(--prototype-red,#ff0012)}.joyride-tooltip-body{padding:12px 16px 14px}.joyride-tooltip-title{color:var(--prototype-text,#f4f4f4);margin:0 0 6px;font-size:1rem;font-weight:700;line-height:1.3}.joyride-tooltip-content{color:var(--prototype-muted,#ffffff8c);margin:0;font-size:.85rem;line-height:1.55}.joyride-tooltip-footer{justify-content:space-between;align-items:center;gap:8px;padding:0 16px 14px;display:flex}.joyride-tooltip-skip{color:var(--prototype-muted,#ffffff8c);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:.8rem;font-weight:500;transition:color .15s,background .15s}.joyride-tooltip-skip:hover{color:var(--prototype-text,#f4f4f4);background:#ffffff0f}.joyride-tooltip-nav-buttons{gap:6px;display:flex}.joyride-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.joyride-btn:disabled{opacity:.5;cursor:not-allowed}.joyride-btn-primary{background:var(--prototype-red,#ff0012);color:#fff}.joyride-btn-primary:hover:not(:disabled){background:var(--prot-red-hover,#e00010)}.joyride-btn-secondary{color:var(--prototype-text,#f4f4f4);background:#ffffff14}.joyride-btn-secondary:hover:not(:disabled){background:#ffffff24}.joyride-tooltip-progress{background:#ffffff0f;height:3px}.joyride-tooltip-progress-bar{background:var(--prototype-red,#ff0012);border-radius:0 3px 3px 0;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.joyride-beacon{z-index:10001!important}.theme-light .joyride-tooltip-custom{background:#fff;border-color:#d1d5db;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.theme-light .joyride-tooltip-title{color:#111827}.theme-light .joyride-tooltip-content{color:#6b7280}.theme-light .joyride-tooltip-step-indicator,.theme-light .joyride-tooltip-close{color:#9ca3af}.theme-light .joyride-tooltip-close:hover{color:#ff0012;background:#ff001214}.theme-light .joyride-tooltip-skip{color:#9ca3af}.theme-light .joyride-tooltip-skip:hover{color:#374151;background:#0000000a}.theme-light .joyride-btn-secondary{color:#374151;background:#f3f4f6}.theme-light .joyride-btn-secondary:hover:not(:disabled),.theme-light .joyride-tooltip-progress{background:#e5e7eb}.profile-replay-tour{border:1px dashed var(--prototype-border,#ffffff1a);color:var(--prototype-muted,#ffffff8c);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 18px;font-size:.85rem;font-weight:500;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.profile-replay-tour:hover{border-color:var(--prototype-red,#ff0012);color:var(--prototype-red,#ff0012);background:var(--prot-red-soft,#ff00120f)}.theme-light .profile-replay-tour{color:#6b7280;border-color:#d1d5db}.theme-light .profile-replay-tour:hover{color:#ff0012;background:#ff00120a;border-color:#ff0012}button:not(:disabled),[role=button],select,input[type=checkbox],input[type=radio],input[type=file],:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){cursor:pointer}.task-item:not(.notification-item):not(.read){transition:background .15s,border-color .15s,transform .1s}.task-item:not(.notification-item):not(.read):hover{background:#ff00120d;border-color:#ff001259;transform:translateY(-1px)}.link-button{transition:opacity .15s}.link-button:hover{opacity:.75;text-decoration:underline}.text-button{transition:opacity .15s,color .15s}.text-button:hover{opacity:.8;text-decoration:underline}.avatar-pill{transition:background .15s,box-shadow .15s}.avatar-pill:hover{background:#ff00121a;box-shadow:0 0 0 2px #ff001259}.theme-light .avatar-pill:hover{background:#ff001214;box-shadow:0 0 0 2px #ff001240}.status-badge-wrap{cursor:pointer}.category-chip button{transition:color .15s,transform .15s}.category-chip button:hover{color:var(--prototype-red);transform:scale(1.15)}.modal-overlay,.step-modal-overlay,.attachment-preview-overlay{cursor:pointer}.modal-overlay>.modal-panel,.step-modal-overlay>.step-modal-panel,.attachment-preview-overlay>.attachment-preview-panel{cursor:default}html,body{overflow-x:hidden}.sidebar::-webkit-scrollbar{display:none}.sidebar{scrollbar-width:none}:root{--fs-xs:clamp(.65rem, .6rem + .2vw, .75rem);--fs-sm:clamp(.72rem, .68rem + .2vw, .82rem);--fs-base:clamp(.82rem, .78rem + .25vw, .95rem);--fs-md:clamp(.88rem, .82rem + .3vw, 1.05rem);--fs-lg:clamp(1rem, .9rem + .5vw, 1.3rem);--fs-xl:clamp(1.2rem, 1rem + 1vw, 1.6rem);--fs-2xl:clamp(1.5rem, 1.2rem + 1.5vw, 2.2rem)}.main-panel{max-width:1600px}@media (width<=1200px){.app-shell{grid-template-columns:240px 1fr}.sidebar{padding:20px 16px}.main-panel{--mp-pad-top:20px;--mp-pad-x:24px;padding:var(--mp-pad-top) var(--mp-pad-x) 32px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.project-detail-columns,.detail-quick-links{grid-template-columns:1fr}.project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-input{width:200px}}@media (width<=1024px){.app-shell{grid-template-columns:68px 1fr}.sidebar{align-items:center;padding:16px 10px}.brand-box{border-bottom:none;justify-content:center;padding:10px 0 18px}.brand-box>div{display:none}.brand-logo{width:42px;height:42px}.nav-item{justify-content:center;gap:0;width:44px;height:44px;padding:10px;font-size:0;position:relative}.nav-item .nav-icon{width:auto}.nav-item>span:not(.nav-icon):not(.nav-badge){display:none}.nav-badge{min-width:16px;height:16px;padding:0 4px;font-size:.6rem;position:absolute;top:2px;right:2px}.sidebar-footer{padding:0}.sidebar-user-copy,.sidebar-user-copy strong,.sidebar-user-copy small{display:none}.sidebar-user{justify-content:center;padding:0}.sidebar-user-identity{justify-content:center}.sidebar-logout-btn{display:none}.main-panel{--mp-pad-top:16px;--mp-pad-x:20px;padding:var(--mp-pad-top) var(--mp-pad-x) 28px}.topbar{flex-wrap:wrap}.topbar h1{font-size:var(--fs-xl)}.section-actions h2,.project-detail-topbar h2,.dashboard-heading h2{font-size:var(--fs-lg)}.project-count-sort{flex-wrap:wrap;gap:8px}.search-input{width:160px}}@media (width<=768px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:auto;min-height:100vh}.sidebar{z-index:100;border-right:none;border-bottom:1px solid var(--prototype-border);-ms-overflow-style:none;flex-direction:row;justify-content:flex-start;gap:4px;height:auto;padding:10px 12px;position:sticky;top:0;overflow:auto hidden}.brand-box{display:none}.nav-menu{flex-direction:row;flex:1;justify-content:center;gap:2px}.nav-item{width:auto;height:auto;font-size:var(--fs-xs);white-space:nowrap;gap:6px;padding:8px 12px}.nav-item>span:not(.nav-icon):not(.nav-badge){display:inline}.sidebar-footer{display:none}.main-panel{--mp-pad-top:16px;--mp-pad-x:14px;height:auto;padding:var(--mp-pad-top) var(--mp-pad-x) 28px;overflow:hidden visible}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar h1{font-size:var(--fs-xl)}.topbar-actions{justify-content:flex-end;width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px}.stat-row strong{font-size:1.5rem}.dashboard-heading,.section-actions,.project-detail-topbar{flex-direction:column;align-items:flex-start;gap:12px}.project-detail-actions{flex-wrap:wrap;gap:8px}.project-status-tabs{-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.status-tab{flex:none;min-width:130px;padding:8px 10px}.status-tab span{font-size:var(--fs-xs)}.project-list-item{grid-template-columns:36px 1fr auto;gap:10px;padding:12px 14px}.project-list-icon{width:36px;height:36px;font-size:.8rem}.project-list-copy strong{font-size:var(--fs-base)}.project-detail-columns{grid-template-columns:1fr;gap:14px}.project-detail-page{gap:16px;padding:16px}.project-summary-grid{grid-template-columns:1fr;gap:8px}.summary-item{padding:12px}.detail-quick-links{grid-template-columns:1fr}.step-card{flex-direction:column;align-items:flex-start;gap:10px}.step-card-actions{flex-wrap:wrap;gap:6px;width:100%}.cards-row,.list-grid,.simple-grid,.content-grid{grid-template-columns:1fr}.admin-form{flex-direction:column;align-items:stretch}.staff-row{flex-wrap:wrap;gap:10px}.staff-copy{flex:100%;min-width:0}.search-input{width:100%;min-width:0}.search-bar-inline{flex:1}.project-count-sort{flex-direction:column;align-items:stretch;width:100%}.profile-page{max-width:100%}.profile-header{text-align:center;flex-direction:column;gap:16px;padding:28px 20px}.profile-avatar-hero{width:72px;height:72px}.profile-avatar-initials{font-size:1.3rem}.profile-header-name{font-size:var(--fs-lg)}.profile-field-display{flex-direction:column;align-items:flex-start;gap:8px}.profile-field-actions{width:100%}.product-detail-page{padding:16px}.product-detail-actions{flex-wrap:wrap}.product-card-row{flex-direction:column}.step-modal-overlay{padding:0}.step-modal-panel{border-radius:0;width:100%;height:100%;max-height:100vh}.project-detail-topbar{flex-direction:column;align-items:flex-start}.detail-section,.panel-card{-webkit-overflow-scrolling:touch;overflow-x:auto}th,td{white-space:nowrap;font-size:var(--fs-sm);padding:10px 8px}.product-project-row{grid-template-columns:36px 1fr}.product-project-row>.row-actions{grid-column:1/-1;justify-content:flex-end}.attachment-name{max-width:120px}.attachment-meta{display:none}.project-view-toggle{width:100%}.view-toggle-btn{text-align:center;font-size:var(--fs-xs);flex:1;padding:8px}.client-list-header{display:none}.client-list-row{border-bottom:none;border:1px solid var(--prototype-border);border-radius:10px;grid-template-columns:1fr;gap:6px;margin-bottom:6px;padding:12px 14px}.client-col-email,.client-col-phone,.client-col-address{white-space:normal;font-size:var(--fs-xs)}.form-grid{grid-template-columns:1fr;gap:12px}.step-row{grid-template-columns:1fr;gap:10px}.task-item{grid-template-columns:8px 1fr;gap:10px;padding:10px}.detail-meta{grid-template-columns:1fr;gap:10px}.blockage-row{flex-direction:column;gap:10px}.blockage-actions{align-self:flex-end}.step-assign-grid{grid-template-columns:1fr}.step-modal-tabs{-webkit-overflow-scrolling:touch;padding-bottom:0;overflow-x:auto}.step-modal-tab{font-size:var(--fs-xs);padding:8px 12px}.step-modal-header{flex-wrap:wrap;gap:8px;padding:14px 16px}.step-modal-header h3{font-size:var(--fs-md)}.step-modal-body{padding:14px 16px}.step-modal-info-row{flex-direction:column;align-items:flex-start;gap:4px}.step-modal-info-row strong{min-width:auto}.step-modal-status-confirm{flex-direction:column;gap:6px}}@media (width<=480px){.main-panel{--mp-pad-top:12px;--mp-pad-x:10px;padding:var(--mp-pad-top) var(--mp-pad-x) 24px}.stats-grid{grid-template-columns:1fr;gap:8px}.stat-card{padding:12px}.stat-row strong{font-size:1.3rem}.topbar h1{font-size:var(--fs-lg)}.section-actions h2,.project-detail-topbar h2,.dashboard-heading h2{font-size:var(--fs-md)}.project-list-item{grid-template-columns:1fr auto;gap:8px;padding:10px 12px}.project-list-icon{display:none}.btn{font-size:var(--fs-sm);padding:.7rem 1rem}.btn-small{font-size:var(--fs-xs);padding:.35rem .6rem}.nav-item{gap:4px;padding:6px 8px;font-size:.6rem}.nav-icon svg{width:16px;height:16px}.detail-section,.panel-card{min-width:0;overflow:auto visible}.project-detail-page,.product-detail-page{min-width:0;overflow:hidden}.step-card-actions{flex-wrap:wrap;gap:6px}.attachment-row{gap:6px;padding:4px 6px}.member-list,.project-steps-list,.attachment-list{max-height:none}.product-card{flex-direction:column;align-items:flex-start;gap:10px}.product-card-copy{min-width:0}.product-detail-columns{grid-template-columns:1fr}.phone-field{flex-direction:column}.phone-country-btn{justify-content:flex-start;width:100%}.login-form-panel{width:100%;max-width:400px;margin:0 auto;padding:24px 20px}.blockage-detail blockquote{font-size:var(--fs-sm)}.category-chip-list{flex-wrap:wrap;gap:6px}.modal-panel{width:calc(100vw - 32px);max-width:380px;padding:20px}.login-screen{padding:16px 12px}.login-logo{margin-bottom:24px}.login-heading h2{font-size:var(--fs-xl)}.staff-row{flex-direction:column;align-items:flex-start;gap:10px}.staff-copy{flex:100%;min-width:0}.staff-role,.staff-status,.staff-scope{align-self:flex-start}.client-list-header{display:none}.client-list-row{border-radius:10px;grid-template-columns:1fr;gap:6px;margin-bottom:6px;padding:12px 14px}.client-col-name strong{font-size:var(--fs-base)}.client-col-email,.client-col-phone,.client-col-address{white-space:normal;font-size:var(--fs-xs)}.client-col-actions{justify-content:flex-end}.form-grid{grid-template-columns:1fr;gap:12px}.step-row{grid-template-columns:1fr;gap:10px}.step-index{width:40px;height:40px;font-size:.85rem}.task-item{grid-template-columns:8px 1fr;gap:10px;padding:10px}.task-item span{font-size:var(--fs-xs)}.project-summary-grid{grid-template-columns:1fr;gap:8px}.summary-item{padding:12px}.detail-quick-links{grid-template-columns:1fr}.step-modal-tabs{-webkit-overflow-scrolling:touch;padding-bottom:0;overflow-x:auto}.step-modal-tab{font-size:var(--fs-xs);padding:8px 12px}.step-modal-header{flex-wrap:wrap;gap:8px;padding:14px 16px}.step-modal-header h3{font-size:var(--fs-md)}.step-modal-body{padding:14px 16px}.step-modal-info-row{flex-direction:column;align-items:flex-start;gap:4px}.step-modal-info-row strong{min-width:auto}.step-modal-status-confirm{flex-direction:column;gap:6px}.onboarding-panel{margin:8px;padding:24px 20px 20px}.onboarding-step-title{font-size:var(--fs-lg)}.onboarding-step-description{font-size:var(--fs-sm)}.product-resource-name{font-size:var(--fs-xs)}.step-assign-grid{grid-template-columns:1fr}.blockage-row{flex-direction:column;gap:10px}.blockage-actions{align-self:flex-end}.product-project-row{grid-template-columns:36px 1fr}.product-project-row>.row-actions{grid-column:1/-1;justify-content:flex-end}.assignment-step-row{flex-wrap:wrap}.profile-page{max-width:100%}.profile-header{padding:20px 16px}.profile-section-body{padding:16px}.detail-meta{grid-template-columns:1fr;gap:10px}.toolbar{flex-direction:column;align-items:flex-start;gap:10px}.toolbar-left,.toolbar-right,.project-view-toggle{width:100%}.view-toggle-btn{text-align:center;font-size:var(--fs-xs);flex:1;padding:8px}}@media (width>=1600px){.main-panel{--mp-pad-top:32px;--mp-pad-x:48px;padding:var(--mp-pad-top) var(--mp-pad-x) 48px}.stats-grid{max-width:1400px}.search-input{width:300px}}@media (width>=769px) and (width<=1024px){.project-detail-columns,.content-grid{grid-template-columns:1fr}.detail-quick-links{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.history-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:0 16px 14px}.history-search{flex:auto;min-width:0}.history-filters{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.history-timeline{padding:4px 16px 8px}.history-timeline:before{left:31px}.history-timeline-item{grid-template-columns:32px minmax(0,1fr);gap:10px}.history-timeline-icon{width:32px;height:32px}.history-timeline-head{flex-direction:column;align-items:flex-start;gap:6px}.history-values-field{min-width:0}}@media print{.sidebar,.topbar-actions,.theme-toggle,.profile-menu-wrapper{display:none!important}.app-shell{grid-template-columns:1fr;height:auto}.main-panel{--mp-pad-top:0px;--mp-pad-x:0px;height:auto;padding:0;overflow:visible}}.stock-view-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.stock-view-header-text h2{color:var(--prototype-text);margin:0;font-size:1.6rem;font-weight:800}.stock-view-header-text p{color:var(--prototype-muted);margin:6px 0 0;font-size:.88rem}.stock-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stock-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.stock-toolbar .search-input{flex:220px;min-width:180px;position:relative}.stock-select{appearance:auto;border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-text);cursor:pointer;border-radius:12px;padding:.55rem .75rem;font-size:.82rem;font-weight:600;transition:border-color .2s}.stock-select:focus{border-color:var(--prototype-red);outline:none}.stock-segmented{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.stock-segmented button{color:var(--prototype-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:.45rem .9rem;font-size:.78rem;font-weight:700;transition:background .2s,color .2s}.stock-segmented button:hover{color:var(--prototype-text)}.stock-segmented button.active{background:var(--prototype-red);color:var(--prot-white)}.stock-grid{grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px;display:grid}.stock-card{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);border-radius:18px;flex-direction:column;gap:10px;padding:16px;transition:transform .18s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 10px 25px #00000026}.stock-card:hover{border-color:var(--prototype-red-border);transform:translateY(-3px);box-shadow:0 16px 32px #00000040}.stock-card-visual{border:1px solid var(--prototype-border);background:var(--prototype-panel);height:96px;color:var(--prototype-muted);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.stock-card-chip{border:1px solid var(--prototype-border);background:var(--prototype-panel-soft);color:var(--prototype-text);text-transform:lowercase;border-radius:999px;padding:.3rem .65rem;font-size:.7rem;font-weight:700;position:absolute;top:10px;left:10px}.stock-card-ref{letter-spacing:.08em;text-transform:uppercase;color:var(--prototype-muted);margin:2px 0 0;font-size:.72rem;font-weight:700}.stock-card h3{color:var(--prototype-text);margin:0;font-size:1rem;font-weight:700;line-height:1.35}.stock-card-holder{color:var(--prototype-muted);align-items:center;gap:6px;margin:0;font-size:.8rem;display:flex}.stock-card-qty{border:1px solid var(--prototype-border);background:var(--prototype-panel);color:var(--prototype-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:.8rem;display:flex}.stock-card-qty strong{color:var(--prototype-red);font-weight:800}.stock-card-action{border:1px solid var(--prototype-border);background:var(--prototype-panel);width:100%;color:var(--prototype-text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:.6rem .9rem;font-size:.82rem;font-weight:700;transition:background .2s,border-color .2s,transform .18s;display:inline-flex}.stock-card-action:hover{background:var(--prototype-panel-soft);border-color:var(--prototype-red);color:var(--prototype-red);transform:translateY(-1px)}.stock-card-buttons{gap:8px;display:flex}.stock-card-buttons .stock-card-action{flex:1}.stock-card-buttons .stock-card-action-edit{width:38px;color:var(--prototype-muted);flex:none;padding:.6rem}.stock-card-buttons .stock-card-action-edit:hover{color:var(--prototype-red)}.stock-empty{text-align:center;color:var(--prototype-muted);border:1px dashed var(--prototype-border);border-radius:16px;padding:40px 20px;font-size:.9rem}@media (width<=720px){.stock-view-header-text h2{font-size:1.25rem}.stock-toolbar{flex-direction:column;align-items:stretch}.stock-toolbar .search-input{flex:auto}.stock-segmented{overflow-x:auto}}
