:root{color:#1b2533;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;gap:8px;border:1px solid #cfd7df;background:#fff;color:#1b2533;border-radius:6px;padding:8px 11px;cursor:pointer}button.primary{background:#0f766e;border-color:#0f766e;color:#fff;justify-content:center}button.danger-button{color:#b91c1c;border-color:#fecaca;background:#fff7f7}button.danger-button:hover{background:#fee2e2}button.danger-button.solid{color:#fff;border-color:#b91c1c;background:#b91c1c}button.ghost{background:transparent}button:disabled{opacity:.45;cursor:not-allowed}input,select{border:1px solid #cbd5df;border-radius:6px;padding:9px 10px;background:#fff;min-width:0}textarea{border:1px solid #cbd5df;border-radius:6px;padding:9px 10px;background:#fff;min-width:0;resize:vertical}label{display:grid;gap:6px;color:#52606d;font-size:.88rem}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;color:#64748b;letter-spacing:0;background:#f8fafc}td small{display:block;color:#64748b;margin-top:3px}td a{display:inline-flex;align-items:center;gap:4px;color:#0f766e;text-decoration:none}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f7faf9,#eef2f6);padding:20px}.login-panel{width:min(430px,100%);background:#fff;border:1px solid #dce3ea;border-radius:8px;padding:28px;display:grid;gap:16px;box-shadow:0 18px 45px #0f172a14}.brand-row{display:flex;gap:12px;align-items:center;color:#0f766e}.brand-row h1{margin:0;font-size:1.7rem;color:#172033}.brand-row p{margin:2px 0 0;color:#64748b}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}aside{background:#172033;color:#fff;padding:22px 16px}.side-brand{font-weight:700;font-size:1.2rem;margin-bottom:24px}nav{display:grid;gap:6px}nav button{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;color:#cbd5e1}nav button.active,nav button:hover{background:#233047;color:#fff}.workspace{padding:24px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}header h2{margin:0;font-size:1.6rem}header p{margin:4px 0 0;color:#64748b}.stack{display:grid;gap:18px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wide-left{grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr)}.clickable-row{cursor:pointer}.clickable-row:hover,.dashboard-row:hover td{background:#f8fafc}.link-button{border:0;background:transparent;color:#0f766e;padding:0;text-decoration:underline;font-weight:700}.link-button:hover{color:#0b5f59}.crm-title{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:14px 16px}.crm-title h2{margin:0;font-size:1.35rem}.crm-title p{margin:4px 0 0;color:#64748b}.partner-header{background:linear-gradient(180deg,#fff,#fbfcfd);border:1px solid #dbe3ea;border-radius:16px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;box-shadow:0 14px 34px #0f172a0f}.partner-header-main{display:grid;gap:8px}.partner-header-main h2{margin:0;font-size:1.85rem;line-height:1.15}.partner-header-main p{margin:0;color:#64748b}.partner-header-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#475569;font-size:.82rem}.partner-header-meta span{display:inline-flex;align-items:center;min-height:24px}.partner-header-meta strong{color:#1b2533;margin-left:4px}.metric-pill,.status-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;border:1px solid #dbe3ea;background:#f8fafc;color:#334155;padding:4px 9px;font-size:.78rem;font-weight:700;white-space:nowrap}.metric-pill.health-success,.status-pill.actif{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.metric-pill.health-warning,.status-pill.suspendu{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.metric-pill.health-danger,.status-pill.archive{border-color:#fecaca;background:#fef2f2;color:#991b1b}.partner-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.partner-importance-row{display:flex;align-items:center;gap:8px;margin-top:8px;color:#64748b;font-size:.86rem}.importance-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.importance-badge.stratégique{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}.importance-badge.haute{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.importance-badge.moyenne{background:#fef9c3;color:#854d0e;border-color:#fde68a}.importance-badge.basse{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.section-title{display:grid;margin-bottom:10px}.section-title h3{margin:0;font-size:.95rem;color:#334155;text-transform:uppercase;letter-spacing:.04em}.offer-summary{display:grid;gap:4px}.offer-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.offer-kpi-card{background:#fff;border:1px solid #dbe3ea;border-radius:16px;padding:17px;display:grid;gap:9px;min-height:136px;box-shadow:0 10px 24px #0f172a0b}.offer-kpi-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#64748b;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.offer-kpi-top i{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:#475569}.offer-kpi-card strong{font-size:2.05rem;line-height:1;color:#172033}.offer-kpi-card small{color:#64748b;font-size:.84rem}.offer-kpi-card em{justify-self:start;font-style:normal;font-size:.78rem;border-radius:999px;padding:3px 8px;background:#eef2f7;color:#475569}.offer-kpi-card.success{border-color:#bbf7d0}.offer-kpi-card.success .offer-kpi-top i{background:#dcfce7;color:#166534}.offer-kpi-card.success strong{color:#166534}.offer-kpi-card.warning{border-color:#fed7aa}.offer-kpi-card.warning .offer-kpi-top i{background:#ffedd5;color:#9a3412}.offer-kpi-card.warning strong{color:#b45309}.offer-kpi-card.danger{border-color:#fecaca}.offer-kpi-card.danger .offer-kpi-top i{background:#fee2e2;color:#991b1b}.offer-kpi-card.danger strong{color:#b91c1c}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.overview-grid .panel:last-child{grid-column:1 / -1}.crm-board-header{background:#fff;border:1px solid #dbe3ea;border-radius:16px;padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;box-shadow:0 10px 24px #0f172a0b}.crm-board-header h2{margin:0;font-size:1.35rem}.crm-board-header p{margin:4px 0 0;color:#64748b}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(340px,1fr));gap:20px;align-items:start;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;padding-bottom:16px;-webkit-overflow-scrolling:touch}.kanban-column{background:#f8fafc;border:1px solid #dbe3ea;border-radius:16px;min-width:340px;min-height:240px;padding:16px;box-sizing:border-box}.kanban-column-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 14px;border-bottom:1px solid #e2e8f0;margin-bottom:12px}.kanban-column-head h3{margin:0;font-size:.92rem;text-transform:uppercase;letter-spacing:.04em;color:#475569}.kanban-column-head span{display:inline-flex;min-width:26px;height:24px;border-radius:999px;background:#e2e8f0;align-items:center;justify-content:center;color:#334155;font-weight:700;font-size:.78rem}.kanban-card-list{display:grid;gap:12px;min-width:0}.kanban-card{width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box;background:#fff;border:1px solid #dbe3ea;border-radius:14px;padding:14px;display:grid;gap:11px;box-shadow:0 8px 20px #0f172a0d;cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;min-width:0}.kanban-card-head strong{min-width:0;color:#111827;font-size:.96rem;line-height:1.25;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card>small{color:#64748b}.kanban-card p{margin:0;color:#475569;font-size:.86rem;line-height:1.4;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-meta{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.kanban-card-meta span{display:inline-flex;max-width:100%;border-radius:999px;padding:3px 7px;background:#f1f5f9;color:#475569;font-size:.74rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-task-list{display:grid;gap:7px;min-width:0;padding-top:2px}.kanban-task{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 9px;color:#1b2533;font-size:.84rem;border-top:1px solid #eef2f7;padding-top:8px;min-width:0}.kanban-task input{margin-top:3px}.kanban-task span{display:grid;gap:2px;cursor:text;min-width:0;word-break:break-word;line-height:1.35}.kanban-task button{grid-column:2;justify-self:start;min-width:26px;min-height:24px;height:auto;padding:0 7px;justify-content:center;font-size:.72rem}.task-ignored{color:#64748b;text-decoration:line-through}.danger-text{color:#b91c1c;font-weight:800}.kanban-task small,.linked-task-row small{color:#64748b;font-size:.78rem;line-height:1.3;word-break:break-word}.kanban-card-actions,.card-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0;border-top:1px solid #eef2f7;padding-top:10px}.kanban-card-actions button,.card-actions button{min-height:28px;padding:6px 9px;font-size:.78rem;max-width:100%}.kanban-expand{width:fit-content;max-width:100%;justify-self:start;min-height:28px;padding:6px 9px;font-size:.78rem;color:#0f766e;background:#ecfdf5;border-color:#bbf7d0}.linked-tasks{padding:16px;display:grid;gap:10px}.linked-task-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#fbfcfd}.linked-task-row span{display:grid;gap:3px}.afifly-panel{padding:16px;display:grid;gap:14px}.afifly-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.afifly-toolbar label{min-width:min(280px,100%)}.afifly-toolbar small{color:#64748b;font-size:.78rem}.afifly-debug{width:fit-content;max-width:100%;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:5px 10px;display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;font-weight:700}.afifly-calendar{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}.afifly-day{min-width:170px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:10px;display:grid;gap:8px}.afifly-day.has-availability{border-color:#86efac;background:#f0fdf4}.afifly-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.afifly-day-head strong{font-size:.9rem}.afifly-day-head span{color:#64748b;font-size:.75rem}.afifly-slots{display:grid;gap:6px}.afifly-slot{border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:7px;display:grid;gap:2px}.afifly-slot.available{border-color:#22c55e;background:#dcfce7}.afifly-slot strong{font-size:.8rem;line-height:1.25}.afifly-slot small{color:#475569;font-size:.74rem;line-height:1.25;word-break:break-word}.afifly-undated{border:1px dashed #cbd5e1;border-radius:12px;padding:12px;display:grid;gap:8px;background:#f8fafc}.tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #dbe3ea}.tabs button{border-color:transparent;border-radius:6px 6px 0 0;background:transparent;white-space:nowrap;color:#475569}.tabs button.active{background:#fff;border-color:#dbe3ea;border-bottom-color:#fff;color:#0f766e}.panel{background:#fff;border:1px solid #dbe3ea;border-radius:8px;overflow:visible;min-width:0}.panel-head{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0}.panel h3{margin:0;font-size:1rem}.panel>p,.analysis{padding:0 16px 16px}.dashboard-table-container{max-height:72vh}.dashboard-offer-table{min-width:1680px;width:max-content;table-layout:fixed;border-collapse:separate;border-spacing:0}.dashboard-offer-table .dashboard-row:hover td,.dashboard-offer-table .dashboard-row:hover td:first-child{background:#f8fafc}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;position:relative}.table-scroll:after{content:"";position:sticky;right:0;top:0;float:right;width:28px;height:0;pointer-events:none;box-shadow:-18px 0 18px #0f172a14}.scroll-hint{position:sticky;left:0;display:inline-flex;padding:7px 10px;color:#64748b;font-size:.78rem;background:#fff;z-index:6}.table-scroll table,.data-table{width:max-content;min-width:max-content;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{background:#fff;white-space:nowrap}.data-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc}.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;z-index:3;background:#fff;box-shadow:8px 0 14px #0f172a14}.data-table thead th:first-child{z-index:5;background:#f8fafc}.data-table th.table-actions,.data-table td.table-actions,.sticky-actions{position:sticky;right:0;background:#fff;z-index:4;border-left:1px solid #dbe3ea;box-shadow:-8px 0 14px #0f172a14}.data-table thead th.table-actions,thead .sticky-actions{z-index:6;background:#f8fafc}.data-table .clickable-row:hover td,.data-table .clickable-row:hover td:first-child,.data-table .clickable-row:hover td.table-actions,.product-table .clickable-row:hover .sticky-actions{background:#f8fafc}.product-table{min-width:1180px;table-layout:fixed}.product-table th,.product-table td{white-space:normal}.product-table .col-product{width:230px}.product-table .col-type{width:120px}.product-table .col-money{width:132px}.product-table .col-listed{width:116px}.product-table .col-rate{width:112px}.product-table .col-status{width:142px}.sticky-actions{width:150px;min-width:150px}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap}.row-actions button{width:34px;height:34px;justify-content:center;padding:0;flex:0 0 auto}.padded{padding:0 16px 16px}.analysis.compact{padding-top:0}.summary-list{padding:16px;display:grid;gap:10px;color:#475569}.summary-list.inline{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-list span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px}.detail-grid{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.detail-grid span{display:grid;gap:6px;color:#64748b;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.detail-grid strong{color:#1b2533;font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.kpi{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:15px;display:grid;gap:9px}.kpi span{color:#64748b;font-size:.82rem;text-transform:uppercase}.kpi strong{font-size:1.45rem}.kpi.warn strong{color:#b45309}.badge{display:inline-flex;border-radius:999px;padding:3px 8px;background:#eef2f7;color:#334155;font-size:.78rem}.badge.critique{background:#fee2e2;color:#991b1b}.badge.moyenne{background:#fef3c7;color:#92400e}.badge.faible{background:#dcfce7;color:#166534}.right{text-align:right}.muted{color:#64748b}.muted-block,.error-block,.success-block{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:20px}.error,.error-block{color:#b91c1c}.success-block{color:#047857;border-color:#bbf7d0;background:#f0fdf4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f172a6b}.confirm-dialog{width:min(430px,100%);background:#fff;border:1px solid #dbe3ea;border-radius:14px;padding:20px;box-shadow:0 24px 60px #0f172a38}.confirm-dialog h3{margin:0;font-size:1.12rem}.confirm-dialog p{margin:10px 0 18px;color:#475569;line-height:1.5}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.compact-form,.profile-form{padding:16px;display:grid;gap:10px}.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.readonly-margin{border:1px solid #cbd5df;border-radius:6px;background:#f8fafc;padding:8px 10px;display:grid;gap:3px;min-height:61px}.readonly-margin span,.readonly-margin small{color:#64748b;font-size:.78rem}.readonly-margin strong{font-size:1rem;color:#1b2533}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form button,.partner-edit-form .full-row{grid-column:1 / -1}.partner-edit-form .actions button{grid-column:auto}.filters,.actions{display:flex;gap:8px;flex-wrap:wrap}.active-filter{background:#0f766e;border-color:#0f766e;color:#fff}.negative{color:#b91c1c;font-weight:600}.positive{color:#166534;font-weight:600}.bars{padding:16px;display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:110px 1fr 210px;align-items:center;gap:12px}.bar-row div{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bar-row i{display:block;height:100%;background:#0f766e}.bar-row strong{font-weight:600;text-align:right}.benchmark-sheet-container{max-height:70vh;border-top:1px solid #e2e8f0;overflow-y:auto}.benchmark-sheet{display:table;width:max-content;min-width:max-content;border-collapse:separate;border-spacing:0;white-space:normal}.benchmark-sheet th,.benchmark-sheet td{min-width:170px;height:44px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;vertical-align:middle}.benchmark-sheet thead th{position:sticky;top:0;z-index:4;background:#f8fafc}.benchmark-sheet .sheet-corner,.benchmark-sheet .sheet-row-header{position:sticky;left:0;z-index:5;width:260px;min-width:260px;max-width:260px;background:#fff;box-shadow:8px 0 14px #0f172a14}.benchmark-sheet thead .sheet-corner{z-index:6;background:#f8fafc}.sheet-head-cell,.sheet-row-title,.sheet-cell-content{display:flex;align-items:center;gap:6px}.sheet-head-cell{justify-content:center;min-width:170px}.sheet-head-cell span,.sheet-row-title span{min-width:0;overflow:hidden;text-overflow:ellipsis}.sheet-row-title{justify-content:flex-start}.sheet-head-cell button,.sheet-row-title button{width:28px;height:28px;padding:0;flex:0 0 auto;justify-content:center}.sheet-row-title select{width:96px;padding:5px 6px;font-size:.78rem}.sheet-cell{padding:0}.sheet-cell input{width:100%;height:42px;border:0;outline:2px solid #0f766e;padding:0 10px;background:#fff;font:inherit}.sheet-cell-content{min-height:42px;padding:0 8px;justify-content:space-between}.sheet-cell-content span{min-width:0;overflow:hidden;text-overflow:ellipsis}.sheet-cell-content select{width:74px;padding:4px;font-size:.75rem;flex:0 0 auto}.benchmark-sheet .color-green{background:#dcfce7}.benchmark-sheet .color-orange{background:#ffedd5}.benchmark-sheet .color-red{background:#fee2e2}.benchmark-sheet .color-gray{background:#f1f5f9}.file-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #cbd5df;border-radius:6px;padding:8px 12px;background:#fff;color:#1b2533;font-size:.9rem;cursor:pointer}.file-button input{display:none}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}aside{position:static}nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:16px}header{align-items:flex-start;flex-direction:column}.two-col,.wide-left{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}table{white-space:nowrap}.dashboard-offer-table,.product-table,.benchmark-sheet{display:table;overflow:visible;white-space:normal}.profile-form,.detail-grid,.summary-list.inline,.form-grid-3,.crm-title,.partner-header{grid-template-columns:1fr}.partner-header-actions{justify-content:flex-start}.offer-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(3,minmax(340px,1fr))}.crm-board-header{align-items:flex-start;flex-direction:column}.bar-row{grid-template-columns:1fr}.bar-row strong{text-align:left}}@media (max-width: 560px){nav{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.offer-kpi-grid{grid-template-columns:1fr}}
