:root{--color-surface: #ffffff;--color-surface-soft: #f8fafc;--color-surface-muted: #f1f5f9;--color-text: #0f172a;--color-text-soft: #475569;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-primary: #243c84;--color-primary-hover: #1d326f;--color-success: rgb(46, 141, 16);--color-success-soft: #dcfce7;--color-warning: #f59e0b;--color-warning-soft: #fef3c7;--color-danger: rgb(248, 2, 0);--color-danger-soft: #fef2f2;--color-info-soft: #eef2ff;--font-size-title-xl: 2.75rem;--font-size-title-lg: 1.6rem;--font-size-title-md: 1.5rem;--font-size-title-sm: 1.05rem;--font-size-subtitle-lg: .98rem;--font-size-subtitle-md: .95rem;--font-size-description: .93rem;--font-size-meta: .92rem;--font-size-label: 1rem;--font-size-label-sm: .95rem;--font-size-caption: .78rem;--font-size-error: .84rem;--font-size-button: .95rem;--font-size-action-icon: .95rem;--line-height-title: 1.35;--line-height-body: 1.5;--line-height-compact: 1.2;--content-max-width: 1400px;--field-min-height: 44px;--select-trigger-width: 2.8rem;--action-btn-size-sm: 32px;--action-btn-size-md: 38px;--page-btn-size: 34px;--space-2xs: .2rem;--space-xs: .35rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.25rem;--space-2xl: 1.5rem;--space-3xl: 2.25rem;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 16px;--radius-pill: 999px;--shadow-card-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-card-md: 0 4px 18px rgba(15, 23, 42, .06);--shadow-card-lg: 0 8px 24px rgba(15, 23, 42, .08);--shadow-hover-primary: 0 8px 18px rgba(36, 60, 132, .18);--shadow-hover-neutral: 0 8px 18px rgba(51, 65, 85, .18);--shadow-hover-soft: 0 10px 24px rgba(15, 23, 42, .08);--transition-fast: .15s ease;--transition-base: .2s ease;--table-font-size-header: 1rem;--table-font-size-cell: .92rem;--table-font-size-meta: .9rem;--table-font-size-legend: .92rem;--table-font-size-badge: .8rem;--table-font-weight-header: 700;--table-font-weight-cell: 400;--table-font-weight-badge: 700;--table-font-weight-legend-label: 700;--table-text-color: var(--color-text);--table-text-muted: var(--color-text-muted);--table-text-soft: var(--color-text-soft);--table-border-color: var(--color-border);--table-surface: var(--color-surface);--table-surface-soft: var(--color-surface-soft);--table-surface-muted: var(--color-surface-muted);--table-gap-xs: .2rem;--table-gap-sm: .45rem;--table-gap-md: .7rem;--table-gap-lg: 1rem;--table-gap-xl: 1.5rem;--table-padding-sm: .35rem .7rem;--table-padding-md: .7rem .8rem;--table-padding-lg: 1rem 1.1rem;--table-actions-column-width: 190px;--table-status-column-width: 70px;--table-cell-ellipsis-width: 220px;--table-action-gap: 4px;--table-status-dot-size: 12px;--table-status-dot-ring: 3px;--table-page-btn-size: 34px;--table-page-size-select-width: 68px;--table-page-size-select-height: 34px;--table-radius-sm: var(--radius-sm);--table-radius-md: var(--radius-md);--table-radius-lg: var(--radius-lg);--table-radius-xl: var(--radius-xl);--table-radius-pill: var(--radius-pill);--table-badge-padding: .35rem .7rem;--table-badge-line-height: 1.2;--submission-card-radius: var(--radius-xl);--submission-card-padding: 1rem 1.1rem;--grid-card-min-width: 320px;--card-border-color: #cacaca;--card-hover-translate-y: -2px;--meta-item-bg: var(--color-surface-soft);--control-height-sm: 34px;--control-min-width-sm: 68px;--control-font-size-sm: .92rem;--control-font-weight-medium: 500;--control-font-weight-semibold: 600;--control-focus-ring-soft: 0 0 0 2px rgba(148, 163, 184, .15);--color-hover-soft: var(--color-surface-muted);--color-success-contrast: var(--color-success);--filter-item-min-width: 260px;--filter-item-max-width-lg: 520px;--filter-item-min-width-lg: 340px;--filter-grid-min-width: 220px;--panel-surface-gradient-start: var(--color-surface);--panel-surface-gradient-end: var(--color-surface-soft);--panel-surface-gradient-muted-end: var(--color-surface-muted);--icon-box-size-md: 42px;--icon-box-bg-primary-soft: rgba(36, 60, 132, .1);--shadow-soft-sm: 0 4px 14px rgba(15, 23, 42, .04);--shadow-soft-md: 0 6px 18px rgba(15, 23, 42, .05);--separator-dashed-color: var(--color-border);--font-size-panel-title-sm: 1rem;--font-size-panel-subtitle-sm: .88rem}.card{width:100%;max-width:100%;min-width:0;margin:0 auto 2rem;border-radius:12px;background-color:#fff;box-shadow:0 6px 20px #0f172a1a;padding:2.5rem;overflow-x:clip}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.panel-title{margin:0;font-size:var(--font-size-title-lg);font-weight:700;color:var(--color-text)}.panel-subtitle{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:var(--font-size-subtitle-md)}.panel-actions{display:flex;align-items:center;gap:var(--space-md)}.template-page{width:100%;padding:var(--space-2xl)}.template-panel{width:calc(100% - 2rem);max-width:100%;margin:0 auto;padding:0;min-width:0}.header-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.header-actions,.header-text,.top-right-actions,.panel-actions{min-width:0}.w-full{width:100%}.hierarchy-stack-wrapper{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--surface-border, #e5e7eb)}@media (max-width: 768px){.card{padding:1.25rem}}.action-btns{border:none;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;padding:0;margin:1px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.action-btns.retour,.action-btns.annuler,.action-btns.delete{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--font-size-button);transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.action-btns.retour{border:none;border-radius:var(--radius-pill);padding:.75rem 1.2rem;background:var(--color-primary);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.action-btns.success{border:none;border-radius:var(--radius-pill);padding:.75rem 1.2rem;gap:20px;background:var(--color-success);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.action-btns.danger{border:none;border-radius:var(--radius-pill);padding:.75rem 1.2rem;background:var(--color-danger);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.action-btns.warning{border:none;border-radius:var(--radius-pill);padding:.75rem 1.2rem;background:var(--color-warning);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.action-btns.delete{border:none;border-radius:var(--radius-pill);padding:.75rem 1.2rem;background:var(--color-danger);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.action-btns.annuler{border:none;border-radius:var(--radius-md);padding:.75rem 1.2rem;background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.action-btns.validate{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);border:none;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;padding:0;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);background:var(--color-success);color:#fff}.action-btns.view{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);border:none;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;padding:0;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);background:var(--color-primary);color:#fff}.action-btns.edit{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);border:none;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;padding:0;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);background:var(--color-warning);color:#fff}.action-btns.delete{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);border:none;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;padding:0;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);background:var(--color-danger);color:#fff}.action-btns.history{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);border:none;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;padding:0;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);background:#969697;color:#fff}.action-btns i{font-size:var(--font-size-action-icon);line-height:1}.action-btns:hover:not(:disabled){transform:translateY(-1px)}.action-btns:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.action-btns.file-type-btn,.file-download-btn,.back-square-btn{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);border:none;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:#fff;text-decoration:none;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.file-download-btn{width:var(--action-btn-size-sm);height:var(--action-btn-size-sm);flex-shrink:0;box-shadow:0 4px 10px #0f172a1f}.back-square-btn{border:1px solid #bfd0f5;background:#eef4ff;color:#2563eb}.back-square-btn:hover,.file-download-btn:hover,.action-btns.file-type-btn:hover{transform:translateY(-1px)}.file-download-btn.pdf,.action-btns.file-type-btn.pdf{background:#e53935}.file-download-btn.doc,.action-btns.file-type-btn.doc{background:#3b6ff5}.file-download-btn.excel,.action-btns.file-type-btn.excel{background:#16a34a}.file-download-btn.ppt,.action-btns.file-type-btn.ppt{background:#ea580c}.file-download-btn.other,.action-btns.file-type-btn.other{background:#64748b}.file-download-btn.disabled{opacity:.7;pointer-events:none}.state-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);color:var(--color-text-soft);background:var(--color-surface-soft)}.state-box.error{color:var(--color-danger);background:var(--color-danger-soft);border-color:#fecaca}.state-box.success{color:var(--color-success);background:var(--color-success-soft);border-color:#bbf7d0}.state-box.empty{color:var(--color-text-soft)}.state-box.warning{background:var(--color-warning-soft, #fef3c7);color:var(--color-warning-contrast, #92400e);border:1px solid #fde68a}:root{--table-font-size-header-text: var(--table-font-size-header);--table-font-size-cell-text: var(--table-font-size-cell);--table-font-size-legend-text: var(--table-font-size-legend);--table-font-weight-header-text: var(--table-font-weight-header);--table-font-weight-cell-text: var(--table-font-weight-cell);--table-line-height-header: 1.35;--table-line-height-cell: 1.4;--table-header-text-color: var(--table-text-color);--table-cell-text-color: var(--table-text-color);--table-legend-text-color: var(--table-text-soft)}.template-p-table td,.submissions-p-table td,.traitement-p-table td{font-size:var(--table-font-size-cell);font-weight:var(--table-font-weight-cell);color:var(--table-text-color)}.header-text{display:inline-block;font-size:var(--table-font-size-header-text);font-weight:var(--table-font-weight-header-text);line-height:var(--table-line-height-header);color:var(--table-header-text-color)}.cell-clamp{display:inline-block;font-size:var(--table-font-size-cell-text);font-weight:var(--table-font-weight-cell-text);line-height:var(--table-line-height-cell);color:var(--table-cell-text-color)}.legend-text{font-size:var(--table-font-size-legend-text);color:var(--table-legend-text-color)}.template-p-table th,.template-p-table td,.submissions-p-table th,.submissions-p-table td,.traitement-p-table th,.traitement-p-table td{text-align:left;vertical-align:middle;font-size:var(--table-font-size-cell);color:var(--table-text-color)}.template-p-table th,.submissions-p-table th,.traitement-p-table th{font-size:var(--table-font-size-header);font-weight:var(--table-font-weight-header);color:var(--table-text-color)}.actions-column{width:var(--table-actions-column-width);text-align:center;font-size:var(--table-font-size-header-text);font-weight:var(--table-font-weight-header-text)}.status-column{width:var(--table-status-column-width);text-align:center;font-size:var(--table-font-size-header-text);font-weight:var(--table-font-weight-header-text)}.table-text-left{text-align:left!important}.table-actions{display:flex;justify-content:center;align-items:center;gap:var(--table-action-gap);flex-wrap:nowrap}.status-dot{display:inline-block;width:var(--table-status-dot-size);height:var(--table-status-dot-size);border-radius:50%;vertical-align:middle;box-shadow:0 0 0 var(--table-status-dot-ring) #0f172a0a}.status-dot.draft{background:#94a3b8}.status-dot.pending{background:var(--color-warning)}.status-dot.approved{background:var(--color-success)}.status-dot.denied,.status-dot.rejected,.status-dot.correction{background:var(--color-danger)}.status-dot.unknown{background:#cbd5e1}.table-legend{display:flex;align-items:center;flex-wrap:wrap;gap:var(--table-gap-lg);margin-top:var(--space-lg);padding-top:.9rem;border-top:1px solid var(--table-border-color);color:var(--table-text-soft);font-size:var(--table-font-size-legend)}.legend-label{font-weight:var(--table-font-weight-legend-label);color:var(--table-text-soft)}.legend-item{display:inline-flex;align-items:center;gap:var(--table-gap-sm)}.cell-ellipsis{display:inline-block;max-width:var(--table-cell-ellipsis-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submissions-card{margin-top:var(--space-2xl)}.submission-list{display:flex;flex-direction:column;gap:var(--table-gap-lg);min-width:0}.submission-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--table-gap-lg);padding:var(--submission-card-padding);border:1px solid var(--table-border-color);border-radius:var(--submission-card-radius);background:var(--table-surface);min-width:0}.submission-main{flex:1;min-width:0}.submission-top{display:flex;align-items:center;flex-wrap:wrap;gap:var(--table-gap-md);margin-bottom:var(--table-gap-sm);color:var(--table-text-color);min-width:0}.submission-id{min-width:0;overflow-wrap:anywhere;word-break:break-word}.submission-meta{display:flex;flex-wrap:wrap;gap:var(--table-gap-lg);color:var(--table-text-muted);font-size:var(--table-font-size-meta);min-width:0}.submission-meta span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.submission-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;justify-content:flex-end;min-width:0}.status-badge{display:inline-flex;align-items:center;border-radius:var(--table-radius-pill);padding:var(--table-badge-padding);font-size:var(--table-font-size-badge);font-weight:var(--table-font-weight-badge);line-height:var(--table-badge-line-height);white-space:normal;text-align:center;overflow-wrap:anywhere;word-break:break-word}.status-badge.draft{background:#e2e8f0;color:#334155}.status-badge.pending{background:#fef3c7;color:var(--color-danger)}.status-badge.approved{background:#dcfce7;color:var(--color-success)}.status-badge.rejected{background:#fee2e2;color:var(--color-danger)}.pagination-bar{margin-top:var(--space-3xl);padding-top:var(--space-lg);border-top:1px solid var(--table-border-color);display:flex;flex-direction:column;align-items:center;justify-content:center}.pagination-controls{margin-top:var(--space-3xl);display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}.pagination-info{color:var(--table-text-soft);font-size:var(--table-font-size-legend)}.page-size-box{display:flex;align-items:center;gap:var(--space-sm);margin-left:var(--space-md)}.page-size-box label{font-size:var(--table-font-size-meta);color:var(--table-text-soft);font-weight:500}.page-size-box select{min-width:var(--table-page-size-select-width);height:var(--table-page-size-select-height);border:1px solid var(--color-border-strong);border-radius:var(--table-radius-sm);padding:0 .75rem;background:var(--table-surface);color:#334155;font-size:var(--table-font-size-meta);outline:none;cursor:pointer}.page-size-box select:focus{border-color:#94a3b8;box-shadow:0 0 0 2px #94a3b826}.page-btn,.page-number{min-width:var(--table-page-btn-size);height:var(--table-page-btn-size);border:none;background:transparent;color:var(--table-text-muted);border-radius:var(--table-radius-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--table-font-size-header);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.page-btn:hover:not(:disabled),.page-number:hover:not(.active){background:var(--table-surface-muted);color:#334155}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-number.active{background:#e8f7ef;color:var(--color-success);font-weight:700}.page-btn.first,.page-btn.prev,.page-btn.next,.page-btn.last{font-size:1rem;font-weight:600}.documents-page,.detail-shell{display:flex;flex-direction:column;gap:var(--space-xl)}.page-title,.filters-title,.card-title,.document-title,.description-title{margin:0;color:var(--color-text)}.page-title{font-size:1.35rem;font-weight:700}.filters-title{margin-bottom:var(--space-lg);font-size:var(--font-size-title-sm);font-weight:700}.documents-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-xl);align-items:start}.filters-panel,.cards-panel,.document-card,.detail-card{border-radius:var(--radius-xl);background:var(--color-surface);min-width:0}.filters-panel{background:var(--color-surface-soft);padding:var(--space-lg);box-shadow:var(--shadow-card-sm);overflow:hidden}.cards-panel{padding:var(--space-xl);box-shadow:var(--shadow-card-lg)}.filter-group{margin-bottom:var(--space-lg)}.filter-actions{margin-top:var(--space-md)}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);align-items:stretch}.document-card{min-height:174px;border:1px solid #e5eaf3;background:var(--color-surface-soft);box-shadow:var(--shadow-card-sm);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.document-card:hover{border-color:#d6deeb;box-shadow:var(--shadow-hover-soft);transform:translateY(-1px)}.document-card-body{height:100%;min-height:174px;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-lg)}.selection-row,.card-meta-line,.card-actions-row,.bulk-selection-bar,.bulk-left,.bulk-actions,.detail-topbar,.detail-title-wrap,.top-right-actions,.history-header{display:flex;align-items:center;gap:var(--table-action-gap);min-width:0}.selection-row,.card-meta-line,.bulk-selection-bar,.detail-topbar{justify-content:space-between}.bulk-selection-bar{padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-soft);flex-wrap:wrap}.bulk-select-all{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:600;color:var(--color-text)}.bulk-selection-text{color:var(--color-text-muted);font-size:var(--font-size-meta)}.card-title{margin:0 0 var(--space-lg);color:#06183d;font-size:.96rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-author,.card-year{min-width:0;display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:1.2}.card-year{flex-shrink:0;padding:.18rem .55rem;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-soft);font-weight:700}.card-description{margin:0;color:var(--color-text-soft);font-size:.86rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-actions-row{justify-content:flex-end;flex-wrap:wrap;margin-top:var(--space-lg)}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);padding:.3rem .65rem;font-size:var(--font-size-badge, .8rem);font-weight:700;line-height:1.2;white-space:nowrap}.status-pill.draft{background:#e2e8f0;color:#334155}.status-pill.pending{background:#fef3c7;color:#92400e}.status-pill.approved{background:#dcfce7;color:#166534}.status-pill.rejected,.status-pill.denied{background:#fee2e2;color:#991b1b}.status-pill.correction{background:#ffedd5;color:#9a3412}.detail-card-status{display:flex;justify-content:flex-end;margin-bottom:var(--space-md)}.detail-title-wrap{gap:.9rem}.document-title{color:#102754;font-size:1.05rem;font-weight:700;line-height:1.35;word-break:break-word}.detail-card{border:1px solid #dde4ef;padding:var(--space-lg) var(--space-lg) 1.15rem;box-shadow:var(--shadow-card-sm)}.detail-fields-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:3rem;row-gap:.85rem;align-items:start}.field-item{min-width:0;display:grid;grid-template-columns:190px minmax(0,1fr);gap:var(--space-lg);align-items:start}.field-item--full{grid-column:1/-1}.field-spacer{visibility:hidden}.field-value{color:var(--color-text);font-size:var(--font-size-subtitle-md);line-height:1.55;word-break:break-word}.value-separator{color:var(--color-text-muted);font-weight:500}.detail-separator{margin:var(--space-lg) 0 .9rem;border-top:1px dashed var(--color-border-strong)}.description-block{display:flex;flex-direction:column;gap:var(--space-sm)}.description-title{color:#102754;font-size:1rem;font-weight:700}.description-text{margin:0;color:var(--color-text-soft);line-height:1.6;white-space:pre-wrap;word-break:break-word}.chips-wrap{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.mini-chip{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:.2rem .6rem;background:var(--color-surface-muted);color:var(--color-text-soft);font-size:var(--font-size-caption);font-weight:600}.document-history-block{display:flex;flex-direction:column;gap:var(--space-md)}.history-state{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface-soft);color:var(--color-text-soft)}.history-state.error{color:var(--color-danger);background:var(--color-danger-soft)}.history-state.empty{color:var(--color-text-muted)}.history-comment{display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.rubrique-option-label{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.template-p-table .cell-libelle,.template-p-table .cell-description{vertical-align:top}.template-p-table .full-libelle{display:block;white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:normal;line-height:1.45}.template-p-table .matched-description-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;line-height:1.45}.table-responsive-wrapper{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.table-responsive-wrapper .p-datatable{min-width:760px}.table-responsive-wrapper .p-datatable-wrapper{overflow:visible}.responsive-p-table{width:100%}.responsive-p-table th,.responsive-p-table td{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.responsive-p-table .actions-column{width:160px;min-width:160px;text-align:center}.responsive-p-table .table-actions{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:nowrap}@media (max-width: 1100px){.documents-layout,.cards-grid{grid-template-columns:1fr}}@media (max-width: 768px){.detail-fields-grid{grid-template-columns:1fr}.field-item{grid-template-columns:1fr;gap:var(--space-xs)}.field-spacer{display:none}.detail-topbar,.bulk-selection-bar{align-items:flex-start;flex-direction:column}.top-right-actions,.bulk-actions{width:100%;justify-content:flex-end}}.detail-popup{padding:.25rem 0}.detail-grid{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.detail-row{display:grid;grid-template-columns:260px 1fr;border-bottom:1px solid #e2e8f0}.detail-row:last-child{border-bottom:none}.detail-label{padding:1rem 1.1rem;font-weight:700;color:#0f172a;background:#f8fafc;border-right:1px solid #e2e8f0}.detail-value{padding:1rem 1.1rem;color:#334155;word-break:break-word;background:#fff}.detail-actions{display:flex;justify-content:flex-end;margin-top:1.25rem}.confirm-box{padding:.5rem 0}.confirm-text{margin:0 0 1.5rem;color:#0f172a;font-size:1rem;line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem}.admin-review-box{padding:.5rem 0}.review-field{margin-bottom:1.5rem}.review-label{display:block;margin-bottom:.9rem;font-size:1.05rem;font-weight:700;font-style:italic;color:#0f172a}.review-radio-group{display:flex;flex-wrap:wrap;gap:2rem;align-items:center}.review-radio-item{display:inline-flex;align-items:center;gap:.55rem;color:#0f172a;font-size:1rem}.review-textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:.9rem 1rem;font:inherit;resize:vertical;outline:none;background:#fff}.review-textarea:focus{border-color:#243c84;box-shadow:0 0 0 3px #243c8414}.review-actions{display:flex;justify-content:flex-end;gap:.75rem}.delete-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#0f172a73}.delete-modal{width:min(520px,100%);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:0 24px 60px #0f172a3d;overflow:hidden}.review-modal{width:min(680px,100%)}.delete-modal-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.delete-modal-header h3{margin:0;color:var(--color-text);font-size:var(--font-size-title-sm);font-weight:700}.delete-modal-body{padding:var(--space-xl);color:var(--color-text-soft);line-height:1.6}.delete-doc-title{margin:var(--space-md) 0 0;color:var(--color-text);font-weight:700;word-break:break-word}.delete-modal-actions{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-surface-soft)}.p-dialog.access-edit-dialog{overflow:hidden;border:1px solid rgba(0,104,183,.14);border-radius:18px;background:#fff;box-shadow:0 28px 80px #0f172a47}.p-dialog.access-edit-dialog .p-dialog-header{padding:18px 22px;border-bottom:1px solid var(--line, #e5e7eb);background:linear-gradient(135deg,#fff,#f4f9fd);color:var(--blue-dark, #00549a)}.p-dialog.access-edit-dialog .p-dialog-title{font-size:20px;font-weight:900}.p-dialog.access-edit-dialog .p-dialog-header-actions button{border:1px solid var(--line, #e5e7eb);border-radius:50%;background:#fff;color:var(--muted, #64748b)}.p-dialog.access-edit-dialog .p-dialog-content{max-height:min(72vh,680px);overflow-y:auto;padding:22px;background:#fff}@media (max-width: 720px){.p-dialog.access-edit-dialog .p-dialog-header,.p-dialog.access-edit-dialog .p-dialog-content{padding:16px}}.field-block{display:flex;flex-direction:column;gap:.45rem;min-width:0}.field-label,.filter-label{display:block;margin-bottom:.45rem;font-size:var(--font-size-label-sm);font-weight:700;color:var(--color-text);min-width:0}.field-label{display:flex;align-items:flex-start;gap:.25rem;margin-bottom:0}.field-label-text{min-width:0;overflow-wrap:anywhere;word-break:break-word}.required-star{color:var(--color-danger);flex-shrink:0}.field-description{margin:0;font-size:var(--font-size-label-sm);color:var(--color-text-muted);min-width:0;overflow-wrap:anywhere;word-break:break-word}.field-input{width:100%;max-width:100%;min-height:var(--field-min-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:.75rem .9rem;font-size:var(--font-size-label);background:var(--color-surface);color:var(--color-text);min-width:0;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field-input::placeholder{color:#94a3b8}.field-input:hover{border-color:#94a3b8}.field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #243c8414;background:var(--color-surface)}.field-textarea{min-height:110px;resize:vertical}.field-error{color:var(--color-danger);font-size:var(--font-size-error);margin-top:.15rem}select.field-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem}.status-select,.status-select .p-select,.dynamic-select,.dynamic-select .p-select{width:100%;max-width:100%}.status-select .p-select,.dynamic-select .p-select{min-height:var(--field-min-height);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);background:var(--color-surface);transition:border-color .18s ease,box-shadow .18s ease;overflow:hidden}.status-select .p-select:hover,.dynamic-select .p-select:hover{border-color:#94a3b8}.status-select .p-select.p-focus,.dynamic-select .p-select.p-focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #243c8414}.status-select .p-select-label,.dynamic-select .p-select-label{display:flex;align-items:center;min-width:0;max-width:100%;padding:.75rem 2.4rem .75rem .9rem;color:var(--color-text);font-size:var(--font-size-label);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-select .p-select-dropdown,.dynamic-select .p-select-trigger,.status-select .p-select-trigger{width:var(--select-trigger-width);flex-shrink:0;color:var(--color-text-muted)}.dynamic-select .p-select-clear-icon,.status-select .p-select-clear-icon{right:2.2rem}.dynamic-multiselect,.dynamic-multiselect .p-multiselect{width:100%;max-width:100%;word-break:break-word}.dynamic-multiselect .p-multiselect{min-height:var(--field-min-height);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);overflow:hidden;background:var(--color-surface);transition:border-color .18s ease,box-shadow .18s ease}.dynamic-multiselect .p-multiselect:hover{border-color:#94a3b8}.dynamic-multiselect .p-multiselect.p-focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #243c8414}.dynamic-multiselect .p-multiselect-label-container{min-width:0}.dynamic-multiselect .p-multiselect-label{display:block;min-width:0;max-width:100%;min-height:var(--field-min-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.75rem 2.4rem .75rem .9rem}.dynamic-multiselect .p-multiselect-trigger{width:var(--select-trigger-width);flex-shrink:0}.dynamic-multiselect .p-multiselect-clear-icon{right:2.2rem}.p-select-overlay,.p-multiselect-panel{max-width:min(90vw,42rem);word-break:break-word}.p-select-overlay .p-select-header,.p-multiselect-panel .p-multiselect-header{min-width:0}.p-select-overlay .p-select-filter,.p-multiselect-panel .p-multiselect-filter{width:100%;min-width:0}.p-select-overlay .p-select-option,.p-multiselect-panel .p-multiselect-item{min-width:0;max-width:100%;overflow:hidden;white-space:normal;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.p-select-overlay .p-select-option-label{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.p-select-overlay{border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:0 14px 30px #0f172a1f;overflow:hidden}.p-select-list-container{padding:.35rem}.p-select-option{border-radius:var(--radius-md);margin:.15rem 0;padding:.8rem .85rem}.p-select-option:hover{background:var(--color-surface-soft)}.p-select-option.p-select-option-selected{background:#22c55e24;color:var(--color-text)}.select-option-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;white-space:normal;word-break:break-word;max-width:100%}.p-multiselect-panel .p-multiselect-item>*,.p-select-overlay .p-select-option>*{min-width:0;max-width:100%}.document-form{width:100%}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}@media (max-width: 768px){.form-grid-2{grid-template-columns:1fr}}.field-block{margin-bottom:var(--space-xl)}.form-grid-2 .field-block{margin-bottom:0}.field-block>label,.filter-group>label{display:block;margin-bottom:.45rem;font-size:var(--font-size-label-sm);font-weight:700;color:var(--color-text)}.required-star{color:var(--color-danger);font-weight:700}.field-hint{margin-top:.35rem;font-size:var(--font-size-error);color:var(--color-text-muted)}.select-wrapper{position:relative;display:block;width:100%}.select-wrapper .field-input{padding-right:2.5rem}.select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-muted)}.select-icon i{font-size:.8rem}.file-input-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);width:100%;min-width:0}.file-input{display:none}.file-label{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--field-min-height);padding:.45rem 1rem;border-radius:var(--radius-pill);border:1px dashed var(--color-primary);color:var(--color-primary);background:var(--color-surface);cursor:pointer;font-size:var(--font-size-button);font-weight:600}.file-label:hover{background:var(--color-surface-soft)}.file-name{min-width:0;color:var(--color-text-muted);font-size:var(--font-size-error);overflow-wrap:anywhere}.form-actions-row,.filter-actions,.delete-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-md);flex-wrap:wrap}.form-actions-row{margin-top:var(--space-2xl)}html[lang=ar]{font-size:15px;--font-size-caption: .88rem;--font-size-error: .9rem;--table-font-size-cell: .95rem;--table-font-size-meta: .9rem;--table-font-size-legend: .92rem;--table-font-size-badge: .86rem;--control-font-size-sm: .95rem}html[lang=ar] body{font-family:Tahoma,Segoe UI,Noto Sans Arabic,Noto Kufi Arabic,Arial,sans-serif;font-size:1rem;line-height:1.55;letter-spacing:normal}html[lang=ar] button,html[lang=ar] input,html[lang=ar] select,html[lang=ar] textarea{font-family:inherit;letter-spacing:normal}html[lang=ar] .page-shell h1,html[lang=ar] .page-shell h2,html[lang=ar] .page-shell h3,html[lang=ar] .page-shell h4{line-height:1.4;letter-spacing:normal}html[lang=ar] .page-shell p,html[lang=ar] .page-shell label,html[lang=ar] .page-shell input,html[lang=ar] .page-shell select,html[lang=ar] .page-shell textarea,html[lang=ar] .page-shell button,html[lang=ar] .page-shell .primary-btn,html[lang=ar] .page-shell .secondary-btn,html[lang=ar] .page-shell .danger-btn,html[lang=ar] .page-shell .warning-btn{font-size:.95rem!important;line-height:1.5!important}html[lang=ar] .page-shell small,html[lang=ar] .page-shell th,html[lang=ar] .page-shell .badge,html[lang=ar] .page-shell .role-badge,html[lang=ar] .page-shell .section-kicker,html[lang=ar] .page-shell .step-badge,html[lang=ar] .page-shell .field-hint,html[lang=ar] .page-shell .field-error,html[lang=ar] .page-shell .date-boundary-hint,html[lang=ar] .page-shell .task-subline,html[lang=ar] .page-shell .stats-grid .stat-card>span,html[lang=ar] .page-shell .info-card span,html[lang=ar] .page-shell .date-mini-box span,html[lang=ar] .page-shell .compact-date-card .date-delta,html[lang=ar] .page-shell .compact-date-card .date-delta span,html[lang=ar] .page-shell .view-switcher button,html[lang=ar] .page-shell .issue-head,html[lang=ar] .page-shell .duration-head,html[lang=ar] .page-shell .duration-cell small,html[lang=ar] .page-shell .timeline-column span{font-size:.88rem!important;line-height:1.5;letter-spacing:normal!important}html[lang=ar] .page-shell .hero-content span,html[lang=ar] .page-shell .project-table-title p,html[lang=ar] .page-shell .form-block-head p,html[lang=ar] .page-shell .summary-box p,html[lang=ar] .page-shell .floating-task-tooltip p{font-size:.95rem!important;line-height:1.65!important}html[lang=ar] .page-shell .project-tabs span,html[lang=ar] .page-shell .section-kicker,html[lang=ar] .page-shell .info-card span,html[lang=ar] .page-shell .date-mini-box span,html[lang=ar] .page-shell .compact-date-card .date-delta,html[lang=ar] .page-shell .issue-head,html[lang=ar] .page-shell .duration-head{text-transform:none;letter-spacing:normal!important}html[dir=rtl] .page-shell{direction:rtl;text-align:start}html[dir=rtl] .page-shell th,html[dir=rtl] .page-shell td,html[dir=rtl] .page-shell label,html[dir=rtl] .page-shell input,html[dir=rtl] .page-shell select,html[dir=rtl] .page-shell textarea{text-align:start}html[dir=rtl] .page-shell input[type=date],html[dir=rtl] .page-shell input[type=number],html[dir=rtl] .page-shell input[type=time]{direction:ltr;text-align:left}html[dir=rtl] .page-shell bdi,html[dir=rtl] .page-shell [dir=auto]{unicode-bidi:plaintext}html[dir=rtl] .page-shell .p-component,html[dir=rtl] .page-shell .p-dialog,html[dir=rtl] .page-shell .p-datatable,html[dir=rtl] .page-shell .p-select,html[dir=rtl] .page-shell .p-datepicker,html[dir=rtl] .page-shell .p-picklist,html[dir=rtl] .page-shell .p-tree,html[dir=rtl] .p-datepicker,html[dir=rtl] .p-select-overlay,html[dir=rtl] .p-dialog,html[dir=rtl] .p-confirmdialog,html[dir=rtl] .p-toast,html[dir=rtl] .swal2-container{direction:rtl;text-align:start}html[dir=rtl] .page-shell .drawer:not(.open){transform:translate(-105%)}html[dir=rtl] .page-shell .p-tree-node-label,html[dir=rtl] .page-shell .p-select-option,html[dir=rtl] .page-shell .p-picklist-option,html[dir=rtl] .page-shell .fc-event-title{unicode-bidi:plaintext}html[dir=rtl] .page-shell .pi-chevron-left,html[dir=rtl] .page-shell .pi-arrow-left,html[dir=rtl] .page-shell .bi-chevron-left,html[dir=rtl] .page-shell .bi-arrow-left,html[dir=rtl] .page-shell .pi-chevron-right,html[dir=rtl] .page-shell .pi-arrow-right,html[dir=rtl] .page-shell .bi-chevron-right,html[dir=rtl] .page-shell .bi-arrow-right{transform:scaleX(-1)}html[lang=ar] .page-shell .p-component,html[lang=ar] .page-shell .fc,html[lang=ar] .page-shell .annuaire-list-table,html[lang=ar] .page-shell .template-p-table{font-family:Tahoma,Segoe UI,Noto Sans Arabic,Noto Kufi Arabic,Arial,sans-serif;font-size:.95rem;line-height:1.5}html[dir=rtl] .top-header,html[dir=rtl] .top-header .user-area,html[dir=rtl] .top-header .user-card{direction:ltr}html[dir=rtl] .top-header .page-title,html[dir=rtl] .top-header .user-card small,html[dir=rtl] .top-header .user-card strong,html[dir=rtl] .top-header .user-area>a span{unicode-bidi:plaintext}html[lang=ar] .main-nav a{font-family:Tahoma,Segoe UI,Noto Sans Arabic,Noto Kufi Arabic,Arial,sans-serif;font-size:14px!important;line-height:1.35!important;letter-spacing:normal!important}@media (max-width: 1200px){html[lang=ar] .main-nav a{font-size:11px!important;line-height:1.3!important}}html[dir=rtl] .page-shell .kibo-timeline,html[dir=rtl] .page-shell .timeline-scroll,html[dir=rtl] .page-shell .timeline-header,html[dir=rtl] .page-shell .timeline-body{direction:ltr;text-align:left}:root{--blue: #0068b7;--blue-dark: #00549a;--blue-soft: #eef6ff;--green: #74b62a;--green-dark: #4d8e17;--green-soft: #f0f9e8;--orange: #ff7900;--orange-dark: #c55500;--orange-soft: #fff3e8;--red: #b42318;--red-soft: #fff1f0;--text: #162033;--muted: #64748b;--line: #e5e7eb;--line-soft: #edf2f7;--card: #ffffff;--bg: #f6f8fb;--shadow: 0 8px 24px rgba(15, 23, 42, .08);--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box}html{font-size:14px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}button,input,select,textarea{font-family:inherit}.page-stack{display:grid;gap:16px}.panel,.app-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:18px}.panel.compact{padding:12px}.section-head,.detail-header,.gantt-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head{margin-bottom:15px}.section-head.align-start{align-items:flex-start}.section-head h2,.section-head h3{color:var(--blue);margin:0 0 6px;font-weight:800}.section-head p,.help-text,.muted{color:var(--muted);margin:0}.detail-header,.gantt-header{padding:22px;margin-bottom:16px}.detail-header h2,.gantt-header h2{color:var(--blue-dark);font-size:28px;margin:8px 0 4px}.detail-header p,.gantt-header p{margin:0;color:var(--muted)}.actions,.form-actions,.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.form-actions{justify-content:flex-end;margin-top:16px}.right{text-align:end}.empty{text-align:center;color:var(--muted);padding:26px}.loading{text-align:center;padding:18px;color:var(--muted)}.error{color:var(--red);background:var(--red-soft);border:1px solid #ffd4d0;padding:10px 12px;border-radius:var(--radius-sm)}.success{color:#16803c;background:#ecfdf3;border:1px solid #bbf7d0;padding:10px 12px;border-radius:var(--radius-sm)}.btn,.primary-btn,.secondary-btn,.danger-btn,.warning-btn,.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm);padding:10px 16px;font-weight:800;text-decoration:none;border:0;cursor:pointer;min-height:38px}button:disabled{opacity:.58;cursor:not-allowed}.primary-btn{background:var(--blue);color:#fff}.primary-btn:hover{background:var(--blue-dark)}.secondary-btn{background:var(--blue-soft);color:var(--blue-dark)}.danger-btn{background:var(--red-soft);color:var(--red)}.warning-btn{background:var(--orange-soft);color:var(--orange-dark)}.btn-outline{border:1px solid #fff;color:#fff;background:transparent}.icon-btn,.icon-action,.icon-danger,.icon-warning{border:0;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none}.icon-btn{background:var(--green-soft);color:var(--green-dark)}.icon-action{background:var(--blue-soft);color:var(--blue)}.icon-danger{background:var(--red-soft);color:var(--red)}.icon-warning{background:var(--orange-soft);color:var(--orange-dark)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:var(--blue-soft);color:var(--blue-dark);white-space:nowrap}.badge.type,.badge.green{background:var(--green-soft);color:var(--green-dark)}.badge.late,.badge.orange{background:var(--orange-soft);color:var(--orange-dark)}.badge.done{background:#ecfdf3;color:#16803c}.badge.danger{background:var(--red-soft);color:var(--red)}.progress{width:120px;height:8px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:4px}.progress.fluid{width:100%}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue))}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.filters,.form-strip,.task-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;margin-bottom:14px}label{display:grid;gap:6px;color:#334155;font-weight:700;font-size:13px}input,select,textarea{border:1px solid #d7dce3;border-radius:var(--radius-sm);padding:0 10px;background:#fff;color:var(--text);outline:none}input,select{height:38px}textarea{padding-top:10px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0068b71f}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:start;background:#f1f5f9;color:#334155;padding:13px;font-size:12px}td{padding:13px;border-bottom:1px solid var(--line-soft);color:#263244;vertical-align:middle}tr:hover td{background:#fbfdff}.actions-cell{text-align:end;white-space:nowrap}.subtask{color:var(--blue-dark);padding-inline-start:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.stat-card span{text-transform:uppercase;font-size:12px;font-weight:800;color:var(--muted)}.stat-card strong{display:block;font-size:36px;margin-top:8px}.stat-card small{color:var(--muted)}.stat-card.blue strong{color:var(--blue)}.stat-card.green strong{color:var(--green)}.stat-card.orange strong{color:var(--orange)}.stat-card.dark strong{color:var(--text)}@media (max-width: 1100px){.grid.four,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.section-head,.detail-header,.gantt-header{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}}.app-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:#0f172a61;display:grid;place-items:center;padding:24px}.app-dialog{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;border:1px solid var(--line);box-shadow:0 24px 80px #0f172a38;padding:22px}.app-dialog-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.app-dialog-header h3{margin:0;color:var(--text)}.app-dialog-header p{margin:6px 0 0;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.full{grid-column:1/-1}.relative-cell{position:relative}.mini-dropdown{position:absolute;z-index:50;top:calc(100% + 6px);inset-inline-start:0;min-width:170px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 38px #0f172a24;padding:8px}.mini-dropdown button{width:100%;border:0;background:transparent;text-align:start;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--text);font-weight:700}.mini-dropdown button:hover{background:#f1f5f9}.progress-dropdown{min-width:230px;display:grid;gap:10px}.progress-dropdown input[type=range]{width:100%}.primary-btn.small{min-height:34px;padding:7px 12px;font-size:12px}.clickable-badge{border:0;cursor:pointer}.progress-click{width:100%;border:0;background:transparent;display:grid;gap:4px;text-align:start;cursor:pointer;padding:0}.task-title-cell{display:flex;align-items:center;gap:8px}.task-subline{display:block;color:var(--muted);font-size:11px;margin-top:2px}.tree-toggle{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--blue)}.tree-toggle:hover{background:#f8fafc}.collaborators-box{display:grid;gap:14px}.ldap-results{display:grid;gap:8px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px;background:#f8fafc}.ldap-user-option{width:100%;border:1px solid transparent;background:#fff;border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:start}.ldap-user-option:hover{border-color:#0068b747;background:var(--blue-soft)}.ldap-user-option.selected{border-color:#74b62a73;background:var(--green-soft)}.ldap-user-option strong{display:block;color:var(--text)}.ldap-user-option small{display:block;color:var(--muted);margin-top:2px}.selected-collaborators{display:flex;gap:8px;flex-wrap:wrap}.collaborator-chip{display:inline-flex;align-items:center;gap:6px;background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;padding:6px 8px 6px 10px;font-size:12px;font-weight:800}.collaborator-chip button{border:0;background:transparent;color:inherit;cursor:pointer;display:inline-grid;place-items:center}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.team-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px}.team-card span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:6px}.team-card strong{display:block;color:var(--text)}.team-card small{color:var(--muted)}.team-card.chef{background:var(--blue-soft);border-color:#0068b72e}.user-avatar{width:38px;height:38px;border-radius:999px;display:inline-grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-size:13px;font-weight:900;letter-spacing:.03em;box-shadow:0 8px 18px #0068b72e}.user-avatar.small{width:28px;height:28px;font-size:10px;box-shadow:none}.swal-on-top{z-index:999999!important}.app-page-title{margin:42px 0 28px;padding:0;background:transparent;border:0;box-shadow:none}.app-page-title h1{margin:0;color:var(--blue);font-size:30px;font-weight:800;line-height:1.15;letter-spacing:.04em}.app-page-title p{margin:10px 0 0;color:var(--muted);font-size:14px;font-weight:700}.page-title-underline,.title-underline{display:block;width:74px;height:3px;margin-top:12px;border-radius:999px;background:linear-gradient(90deg,var(--blue),rgba(0,104,183,.35))}.hero-card{position:relative;height:100px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;background:#fff;margin-bottom:16px}.hero-card img{width:100%;height:100%;object-fit:cover;display:block}.hero-card:after{content:"";position:absolute;inset:0}.hero-content{position:absolute;inset-inline-start:38px;bottom:18px;color:var(--blue);z-index:1;max-width:960px}.eyebrow{display:inline-flex;background:var(--green-soft);color:var(--green-dark);padding:5px 11px;border-radius:999px;font-size:12px;font-weight:900;margin-bottom:10px;letter-spacing:.08em}.hero-content h2{font-size:32px;margin:0 0 7px;font-weight:800}.hero-content p,.hero-content span{display:block;margin:0;color:var(--muted);font-weight:700}.section-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.section-kicker{display:inline-flex;margin-bottom:5px;color:var(--green-dark);font-size:11px;font-weight:900;letter-spacing:.08em}.registry-panel{overflow:hidden}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide,.grid .wide,.grid .full,.form-grid .full{grid-column:1/-1}.grid label,.form-grid label,.filters label{display:block;color:var(--text);font-size:13px;font-weight:800}.grid label input,.grid label select,.grid label textarea,.form-grid label input,.form-grid label select,.form-grid label textarea,.filters label input,.filters label select,.filters label textarea{display:block;width:100%;margin-top:7px}.grid label>span:not(.select-wrap),.form-grid label>span:not(.select-wrap),.filters label>span:not(.input-icon):not(.select-wrap){display:inline;color:var(--red)}.grid label .select-wrap,.form-grid label .select-wrap{display:block;margin-top:7px}.grid label .select-wrap select,.form-grid label .select-wrap select{margin-top:0}.filter-toggle-btn{gap:8px}.filter-toggle-btn .filter-chevron{font-size:12px;margin-inline-start:2px}.filters-collapse{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;pointer-events:none;transition:grid-template-rows .22s ease,opacity .18s ease,margin-top .18s ease}.filters-collapse.open{grid-template-rows:1fr;opacity:1;margin-top:14px;pointer-events:auto}.filters-collapse-inner{overflow:hidden}.filters label,.filters input,.filters select{width:100%}.filters button{white-space:nowrap}.input-icon{position:relative;display:block}.input-icon i{position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-icon input{padding-inline-start:34px}.stats-grid{display:grid;gap:14px;margin-bottom:16px}.stats-grid .stat-card{position:relative;overflow:hidden;min-height:86px;padding:16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stats-grid .stat-card:after{content:"";position:absolute;width:70px;height:70px;inset-inline-end:-32px;top:-32px;border-radius:999px;background:#0068b714}.stats-grid .stat-card>i{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--blue-soft);color:var(--blue);margin:0;position:relative;z-index:1}.stats-grid .stat-card>span{min-height:auto;margin:0;color:var(--muted);font-size:12px;font-weight:900;position:relative;z-index:1}.stats-grid .stat-card>strong{display:block;margin:0;padding-inline-end:25px;font-size:30px;line-height:1;text-align:end;justify-self:end;font-variant-numeric:tabular-nums;position:relative;z-index:1}.stats-grid .stat-card>small{display:none}.stat-card.stat-total strong{color:var(--text)}.stat-card.stat-blue strong,.stat-card.stat-blue i,.stat-card.stat-active strong,.stat-card.stat-active i,.stat-card.stat-today strong,.stat-card.stat-today i{color:var(--blue)}.stat-card.stat-green strong,.stat-card.stat-green i,.stat-card.stat-done strong,.stat-card.stat-done i{color:var(--green)}.stat-card.stat-orange strong,.stat-card.stat-orange i,.stat-card.stat-upcoming strong,.stat-card.stat-upcoming i,.stat-card.stat-planned strong,.stat-card.stat-planned i{color:var(--orange)}.stat-card.stat-late strong,.stat-card.stat-late i{color:var(--red)}.stat-card.stat-green i,.stat-card.stat-done i,.stat-card.stat-active i{background:var(--green-soft)}.stat-card.stat-orange i,.stat-card.stat-upcoming i,.stat-card.stat-planned i{background:var(--orange-soft)}.stat-card.stat-late i{background:#fee2e2}.badge.type{background:var(--blue-soft);color:var(--blue-dark);font-weight:900}.badge.green,.badge.done,.badge.active{background:#dcfce7;color:#166534}.badge.late,.badge.danger{background:#fee2e2;color:#991b1b}.badge.orange,.badge.planned{background:var(--orange-soft);color:var(--orange-dark)}.progress{height:8px;border-radius:999px;background:#e5edf6;overflow:hidden;min-width:88px}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green))}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.pagination-info{color:var(--muted);font-size:13px;font-weight:700}.pagination-info strong{color:var(--text)}.pagination-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pagination-actions label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.pagination-actions select{height:34px;min-width:72px}.secondary-btn.small,.primary-btn.small{min-height:34px;padding:7px 12px;font-size:12px}.page-btn{width:34px;height:34px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:9px;font-weight:900;cursor:pointer}.page-btn:hover{background:var(--blue-soft);color:var(--blue-dark)}.page-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.loading-state{display:grid;place-items:center;gap:10px;min-height:240px;border:1px dashed var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);color:var(--muted);text-align:center;margin-top:16px}.loading-state strong{color:var(--text);font-size:16px}.loading-state small{font-weight:700}.loading-spinner{width:42px;height:42px;border-radius:999px;border:4px solid var(--blue-soft);border-top-color:var(--blue);animation:sharedSpin .8s linear infinite}.spin-icon{animation:sharedSpin .8s linear infinite}@keyframes sharedSpin{to{transform:rotate(360deg)}}.user-avatar,.company-avatar{border-radius:999px;display:inline-grid;place-items:center;color:#fff;font-weight:900;letter-spacing:.03em;border:2px solid rgba(255,255,255,.95);box-shadow:0 5px 14px #0f172a24}.user-avatar{flex:0 0 auto;width:42px;height:42px;font-size:13px}.user-avatar.small{width:34px;height:34px;font-size:11px}.user-avatar.mini{width:24px;height:24px;font-size:9px;border-width:1px;box-shadow:none}.company-avatar{flex:0 0 auto;width:38px;height:38px;font-size:12px;border-radius:13px}@media (max-width: 900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.app-page-title{margin:30px 0 22px}.app-page-title h1{font-size:24px}.hero-card{height:auto;min-height:84px;padding:18px 20px;display:flex;align-items:center}.hero-card>img{position:absolute;inset:0;width:100%;height:100%}.hero-content{position:relative;inset:auto;width:100%;max-width:none;padding:0}.hero-content h2{margin:0 0 4px;font-size:22px;line-height:1.25}.hero-content p,.hero-content span{font-size:13px;line-height:1.45}.stats-grid{grid-template-columns:1fr}.stats-grid .stat-card{min-height:78px}.section-head-actions{width:100%;justify-content:flex-start}.section-head-actions button,.section-head-actions a{width:100%;justify-content:center}.pagination-bar{align-items:flex-start;flex-direction:column}}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.visitor-heading,.page-heading-card{position:relative;overflow:hidden;padding:22px 22px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.visitor-heading:before,.page-heading-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--green))}.page-heading h1{margin:0 0 6px;color:var(--blue-dark);font-size:30px;font-weight:900;line-height:1.1}.page-heading p{margin:0;color:var(--muted);font-size:14px}.heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:900;text-decoration:none}.visitor-form,.enhanced-project-form,.shared-form-stack{display:grid;gap:16px}.form-panel,.form-block,.team-form-block,.info-panel{position:relative;overflow:hidden}.form-panel:before,.form-block:before,.team-form-block:before,.info-panel:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--green))}.form-block,.team-form-block{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding-block:18px;padding-inline:22px 18px}.form-shell{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#f8fbff 62%,var(--green-soft))}.form-shell:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--green))}.section-head.compact,.form-block-head{margin-bottom:14px}.form-block-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.section-head.compact h2,.form-block-head h3,.info-panel h3{margin:3px 0 4px;color:var(--blue);font-size:18px;font-weight:900}.section-head.compact h2{font-size:24px}.section-head.compact p,.form-block-head p{margin:0;color:var(--muted);font-size:13px}.step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-size:11px;font-weight:900}.form-grid,.grid{display:grid;gap:18px 14px;align-items:start;width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid:last-child{margin-bottom:0}.form-grid>label,.form-grid>.cin-field,.grid>label,.grid>.full,.grid>.wide{min-width:0}.form-grid .wide,.form-grid .full,.grid .wide,.grid .full,.full{grid-column:1/-1}.form-grid label,.search-picker label,.enhanced-project-form .grid label,.app-dialog label,.quick-popup label{display:block;color:var(--text);font-size:13px;font-weight:800}.form-grid label input,.form-grid label select,.form-grid label textarea,.search-picker label input,.enhanced-project-form .grid label input,.enhanced-project-form .grid label textarea,.enhanced-project-form .grid label select,.app-dialog label input,.app-dialog label select,.app-dialog label textarea,.quick-popup label input,.quick-popup label select,.quick-popup label textarea{display:block;width:100%;margin-top:7px}.form-grid label span,.search-picker label span,.enhanced-project-form .grid label>span:not(.select-wrap){display:inline;color:var(--red)}.form-grid input,.form-grid select,.form-grid textarea,.enhanced-project-form input,.enhanced-project-form select,.enhanced-project-form textarea{width:100%;min-width:0;box-sizing:border-box}.field-hint{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.invalid-field{border-color:#dc2626!important;box-shadow:0 0 0 4px #dc26261a!important}.field-error{display:block;margin-top:4px;color:#dc2626;font-size:11px;font-weight:800}.select-wrap{position:relative;display:block;width:100%;margin-top:7px}.select-wrap:after{content:"\f282";font-family:bootstrap-icons;position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);color:var(--blue-dark);font-size:12px;pointer-events:none}.select-wrap select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;height:40px;margin-top:0!important;padding-block:0;padding-inline:14px 42px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fff,#f8fbff);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.select-wrap select:hover{border-color:#0068b759;background:#fff}.select-wrap select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px #0068b71f}.sticky-actions,.enhanced-project-form .form-actions{position:sticky;bottom:10px;z-index:5;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 30px #0f172a1f}.form-actions,.dialog-actions,.action-buttons{display:flex;justify-content:flex-end;align-items:center;gap:10px}.existing-toggle{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;border:1px solid rgba(0,104,183,.15);border-radius:12px;background:#f8fafc;font-weight:900;color:var(--text);cursor:pointer}.existing-toggle input{width:17px;height:17px;accent-color:var(--blue)}.search-picker,.chef-picker,.task-assignee-picker{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.selected-user-card,.selected-chef-card,.selected-task-assignee{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid rgba(0,104,183,.18);border-radius:14px;padding:12px}.selected-chef-card,.selected-task-assignee{display:flex}.selected-user-card.visitor-selected{border-color:#74b62a59;background:linear-gradient(135deg,#fff,var(--green-soft))}.selected-user-card.employee-selected,.selected-chef-card{border-color:#0068b74d;background:linear-gradient(135deg,#fff,var(--blue-soft))}.selected-user-card.empty-card,.empty-chef,.empty-assignee{opacity:.82;background:#fff}.selected-user-card span:not(.user-avatar),.selected-chef-card span:not(.user-avatar){display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:3px}.selected-user-card strong,.selected-chef-card strong,.selected-task-assignee strong{display:block;color:var(--text);font-size:14px}.selected-user-card small,.selected-chef-card small,.selected-task-assignee small{color:var(--muted);font-size:11px}.picker-results,.ldap-results,.task-assignee-results{display:grid;gap:8px;max-height:292px;overflow:auto;padding-inline-end:4px}.task-assignee-results{max-height:210px;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}.picker-option,.ldap-user-option,.user-picker-option,.task-assignee-option{width:100%;border:1px solid transparent;border-radius:13px;background:#fff;color:var(--text);text-align:start;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.picker-option,.task-assignee-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px}.task-assignee-option{display:flex;justify-content:space-between;padding:9px 10px}.ldap-user-option,.user-picker-option{padding:11px 12px}.picker-option:hover,.ldap-user-option:hover,.user-picker-option:hover,.task-assignee-option:hover{border-color:#0068b740;background:#fbfdff;transform:translateY(-1px)}.picker-option.selected,.user-picker-option.selected,.task-assignee-option.selected{border-color:#74b62a73;background:var(--green-soft)}.user-picker-option.chef-selected{border-color:#ff790073;background:var(--orange-soft)}.picker-option i{color:var(--green-dark);opacity:0}.picker-option.selected i{opacity:1}.picker-option-text strong,.ldap-user-option strong,.user-line strong{display:block;font-size:13px;color:var(--text)}.picker-option-text small,.ldap-user-option small,.user-line small{display:block;color:var(--muted);margin-top:2px;font-size:12px}.picker-title-row,.task-assignee-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.picker-title-row h4{margin:0 0 4px;color:var(--text);font-size:15px;font-weight:900}.picker-title-row p,.task-assignee-header p{margin:0;color:var(--muted);font-size:12px}.task-assignee-header label{margin:0;color:#334155;font-weight:800;font-size:13px}.user-line{display:flex;align-items:center;gap:10px;min-width:0}.user-line>div{min-width:0}.user-line.compact{gap:8px}.user-line.compact strong{font-size:12px;color:var(--text);white-space:nowrap}.picker-loading-state,.picker-empty-state,.ldap-loading-state,.ldap-empty-state{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px dashed rgba(0,104,183,.25);border-radius:14px;background:linear-gradient(135deg,#fff,#f8fbff);color:var(--muted)}.picker-loading-state strong,.picker-empty-state strong,.ldap-loading-state strong,.ldap-empty-state strong{display:block;color:var(--text);font-size:13px;font-weight:900}.picker-loading-state small,.picker-empty-state small,.ldap-loading-state small,.ldap-empty-state small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:700}.picker-empty-state,.ldap-empty-state{justify-content:center;flex-direction:column;text-align:center}.picker-empty-state i,.ldap-empty-state i{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-size:20px}.mini-spinner{width:34px;height:34px;border-radius:999px;border:4px solid rgba(0,104,183,.14);border-top-color:var(--blue);flex:0 0 auto;animation:sharedSpin .75s linear infinite}.user-picker-actions,.selected-collaborators{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chef-select-btn,.collab-select-btn{border:0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.chef-select-btn{background:var(--orange-soft);color:var(--orange-dark)}.chef-select-btn.active{background:var(--orange);color:#fff}.collab-select-btn{background:var(--blue-soft);color:var(--blue-dark)}.collab-select-btn.active{background:var(--green);color:#fff}.collaborator-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:12px;font-weight:900}.collaborator-chip button{width:22px;height:22px;border:0;border-radius:999px;display:inline-grid;place-items:center;background:#1665341f;color:var(--green-dark);cursor:pointer}.project-detail-hero,.detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;overflow:hidden;background:#fff}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.info-card{display:grid;gap:8px}.info-card-accent{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#f8fbff)}.info-card-accent:after{content:"";position:absolute;width:118px;height:118px;inset-inline-end:-46px;top:-46px;border-radius:999px;background:#0068b714;pointer-events:none;z-index:0}.info-card-accent>*{position:relative;z-index:1}.info-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%}.info-card-head>div>span,.info-card span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.info-card-head>div>strong,.info-card strong{display:block;color:var(--blue-dark);font-size:24px;line-height:1.1;font-weight:900;margin-top:6px}.info-card small{color:var(--muted);font-size:12px;font-weight:700}.info-card small b{color:var(--text);font-weight:900}.quick-card-btn,.static-card-icon{position:relative;z-index:3;flex:0 0 38px;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;margin:0;border:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#eff6fff5;color:#0066b3;cursor:pointer;line-height:1;transition:background .16s ease,color .16s ease,transform .16s ease}.quick-card-btn i,.static-card-icon i{display:block;width:16px;height:16px;font-size:16px;line-height:1;color:inherit}.quick-card-btn:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px)}.static-card-icon{cursor:default;pointer-events:none}.progress-card>.info-icon{display:none}.budget-progress{margin:2px 0 0}.text-panel,.team-panel,.tasks-panel{padding-inline-start:22px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.summary-box{min-height:86px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.summary-box h4{margin:0 0 8px;color:var(--text);font-size:13px;font-weight:900}.summary-box p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.info-list{display:grid;gap:10px;margin:0}.info-list div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.info-list div:last-child{border-bottom:0;padding-bottom:0}.info-list dt{color:var(--muted);font-size:12px;font-weight:900}.info-list dd{margin:0;color:var(--text);font-weight:800}.action-panel{margin-bottom:16px;border-color:#ff790038;background:linear-gradient(135deg,#fff,var(--orange-soft))}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.team-card{border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:12px}.team-card.chef{background:linear-gradient(135deg,#fff,var(--blue-soft));border-color:#0068b738}.team-card.chef .user-avatar{background:linear-gradient(135deg,var(--blue-dark),var(--blue))}.quick-popup-backdrop{position:fixed;inset:0;z-index:2000;background:#0f172a42;display:grid;place-items:center;padding:20px}.quick-popup{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 80px #0f172a47;padding:18px;display:grid;gap:14px;animation:quickPopupIn .14s ease-out}.quick-popup-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.quick-popup-header h3{margin:0;color:var(--text);font-size:18px;font-weight:900}.quick-popup-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.quick-popup-actions{display:flex;justify-content:flex-end;gap:10px}.expense-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.expense-summary span{color:var(--muted);font-size:12px;font-weight:900}.expense-summary strong{color:var(--text);font-size:18px;font-weight:900}.expense-summary.total{background:var(--green-soft);border-color:#74b62a42}@keyframes quickPopupIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1100px){.grid.four,.grid.three,.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:1fr}}@media (max-width: 1000px){.project-detail-hero,.detail-hero{flex-direction:column}.detail-header .actions{justify-content:flex-start}}@media (max-width: 800px){.page-heading{align-items:stretch;flex-direction:column}.heading-actions{justify-content:flex-start}.selected-user-card,.form-grid,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.picker-title-row,.task-assignee-header{flex-direction:column}.form-actions,.dialog-actions,.action-buttons{justify-content:stretch;flex-direction:column-reverse}.form-actions a,.form-actions button,.dialog-actions button,.action-buttons button,.user-picker-actions{width:100%;justify-content:center}}@media (max-width: 720px){.info-grid{grid-template-columns:1fr}.detail-header .actions a,.detail-header .actions button{width:100%;justify-content:center}.info-list div{grid-template-columns:1fr;gap:4px}}.loading-state,.app-loading-state{display:grid;place-items:center;gap:10px;min-height:220px;padding:24px;margin-top:16px;border:1px dashed var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);color:var(--muted);text-align:center}.loading-state strong,.app-loading-state strong{color:var(--text);font-size:16px;font-weight:900}.loading-state small,.app-loading-state small{display:block;color:var(--muted);font-size:12px;font-weight:700}.loading-spinner,.app-loading-spinner{width:42px;height:42px;border-radius:999px;border:4px solid var(--blue-soft);border-top-color:var(--blue);animation:appSpin .8s linear infinite}.table-loading-state{min-height:210px}.page-loading-state{min-height:320px}.inline-loading-state,.ldap-loading-state,.picker-loading-state{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px dashed rgba(0,104,183,.25);border-radius:14px;background:linear-gradient(135deg,#fff,#f8fbff);color:var(--muted)}.mini-spinner{width:34px;height:34px;border-radius:999px;border:4px solid rgba(0,104,183,.14);border-top-color:var(--blue);flex:0 0 auto;animation:appSpin .75s linear infinite}.spin-icon{animation:appSpin .8s linear infinite}@keyframes appSpin{to{transform:rotate(360deg)}}.form-block-head,.section-head.compact>div{display:flex;align-items:flex-start;gap:12px}.form-block-head .step-badge,.section-head.compact .step-badge{flex:0 0 auto;margin-top:0}.form-block-head h3,.section-head.compact h2,.section-head.compact h3{margin-top:0}.enhanced-visit-form,.enhanced-project-form{display:grid;gap:16px}.team-card .user-line{display:flex;align-items:center;gap:12px;min-width:0}.team-card .user-line>div,.selected-chef-card>div,.selected-user-card>div{min-width:0}.team-card .user-avatar,.selected-chef-card .user-avatar,.selected-task-assignee .user-avatar,.collaborator-chip .user-avatar{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0;border-radius:999px;overflow:hidden;box-sizing:border-box;color:#fff;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap}.team-card .user-avatar{width:44px;height:44px;min-width:44px;max-width:44px;flex-basis:44px;font-size:13px;font-weight:900;letter-spacing:.03em;border:2px solid rgba(255,255,255,.95);box-shadow:0 8px 18px #0f172a29}.team-card.chef .user-avatar{width:46px;height:46px;min-width:46px;max-width:46px;flex-basis:46px}.team-card .user-line span:not(.user-avatar){display:block;margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:900;line-height:1.25;text-transform:uppercase}.team-card .user-line strong{display:block;color:var(--text);font-size:13px;font-weight:900;line-height:1.25}.picker-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.picker-pagination>span{color:var(--muted);font-size:12px;font-weight:800;text-align:center}.picker-pagination>span strong{color:var(--text);font-weight:900}.picker-pagination>span small{color:var(--muted);font-size:11px;font-weight:700}@media (max-width: 720px){.picker-pagination{align-items:stretch;flex-direction:column}.picker-pagination button{width:100%;justify-content:center}}html[dir=rtl] body{text-align:end}html[dir=rtl] .bi-arrow-left,html[dir=rtl] .bi-arrow-right,html[dir=rtl] .bi-chevron-left,html[dir=rtl] .bi-chevron-right{display:inline-block;transform:rotate(180deg)}
