:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f8fa;--foreground:#17202a;--muted:#5d6875;--panel:#fff;--panel-muted:#eef3f2;--line:#d8dee6;--accent:#136f63;--accent-soft:#e2f4f1;--warning:#9f5a00;--danger:#9d2735}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fffffff0}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1120px;margin:0 auto;padding:16px 24px;display:flex}.brand{flex-direction:column;gap:2px;display:flex}.brand strong{font-size:18px}.brand span{color:var(--muted);font-size:13px}.environment-badge{border:1px solid var(--line);color:#52606d;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.environment-badge-local{background:#eef1f5}.environment-badge-staging{color:#8a4b00;background:#fff1db;border-color:#efc36f}.environment-badge-production{color:var(--danger);background:#fde5e9;border-color:#e5a2ac}.nav{color:var(--muted);align-items:center;gap:14px;font-size:14px;display:flex}.nav a:hover{color:var(--foreground)}.topbar-context{text-align:right;gap:2px;min-width:180px;display:grid}.topbar-context span{color:var(--muted);font-size:12px}.topbar-context strong{font-size:13px}.page{max-width:1120px;margin:0 auto;padding:32px 24px 56px}.page-heading{gap:8px;margin-bottom:24px;display:grid}.page-heading h1{margin:0;font-size:32px;line-height:1.15}.page-heading p{max-width:760px;color:var(--muted);margin:0;line-height:1.6}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:18px}.panel h2,.panel h3{margin:0 0 10px}.muted{color:var(--muted)}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:8px 12px;font-weight:650;display:inline-flex}.button.secondary{color:var(--accent);background:#fff}.button:disabled{cursor:progress;opacity:.64}button.button{font:inherit}.list{gap:12px;display:grid}.project-link{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:16px;display:block}.project-link:hover{border-color:var(--accent)}.project-link-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-link-heading h2{margin:0}.compact-metrics{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin:14px 0 0;display:grid}.compact-metrics.single-column{grid-template-columns:1fr}.compact-metrics dt{font-size:12px}.compact-metrics dd{margin:3px 0 0;font-size:16px;font-weight:700}.split{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;display:grid}.context-strip{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.context-strip span{color:var(--muted);font-size:13px}.project-business-header{grid-template-columns:minmax(0,1fr) minmax(280px,520px);align-items:start;gap:18px;display:grid}.project-business-header h2{margin:10px 0 6px}.project-business-metrics,.project-dce-metrics{margin:0}.project-dce-workspace{gap:16px;margin-top:16px;display:grid}.project-dce-overview,.project-dce-document,.project-dce-blocked-candidates,.project-dce-open-points,.project-business-actions{margin-top:0}.project-dce-point-strip{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.project-dce-point-pill,.project-dce-empty,.project-dce-status,.project-dce-severity{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.project-dce-point-pill,.project-dce-empty{color:#39544b;background:#f5f8f6;border:1px solid #d5dfd9}.project-dce-status{color:#33423d;background:#f4f7f5;border:1px solid #d5dfd9}.project-dce-status-integre-au-dce,.project-dce-status-confirme{color:#116039;background:#e7f5ed;border-color:#bddacb}.project-dce-status-a-affecter,.project-dce-status-a-completer,.project-dce-status-a-confirmer,.project-dce-status-a-chiffrer{color:#7a4a00;background:#fff6df;border-color:#ead2a4}.project-dce-status-exclu-du-dce,.project-dce-status-hors-consultation{color:#52606d;background:#f2f4f7;border-color:#d8dde4}.project-dce-lot-list{gap:10px;margin-top:14px;display:grid}.project-dce-lot{border:1px solid var(--line);background:#fff;border-radius:8px}.project-dce-lot summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:grid}.project-dce-lot summary strong{overflow-wrap:anywhere;min-width:0}.project-dce-lot summary>span:not(.project-dce-status):not(.project-dce-lot-code){color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.project-dce-lot-code{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:900}.project-dce-lot-body{border-top:1px solid var(--line);padding:12px}.project-dce-lot-note{color:#52606d;background:#f7f8fa;border:1px solid #d8dde4;border-radius:8px;margin:0 0 12px;padding:10px 12px}.project-dce-chapter{gap:10px;display:grid}.project-dce-chapter+.project-dce-chapter{margin-top:16px}.project-dce-chapter h3{margin:0;font-size:16px}.project-dce-table{border-collapse:collapse;width:100%;min-width:820px}.project-dce-blocked-table{min-width:1120px}.project-dce-blocked-table td{line-height:1.45}.project-dce-blocked-table td small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:block}.project-dce-reason-list,.project-dce-action-list{flex-wrap:wrap;gap:6px;display:flex}.project-dce-reason-list span,.project-dce-action-list span{color:#33423d;background:#f7f8fa;border:1px solid #d8dde4;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;line-height:1.25;display:inline-flex}.project-dce-reason-list small{flex-basis:100%}.project-dce-blocked-lot-list{margin-top:14px}.project-dce-table th,.project-dce-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.project-dce-table th{color:var(--muted);font-size:12px}.project-dce-article-row-muted{background:#f8fafb}.project-dce-inline-note{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.project-dce-open-point-list{gap:10px;margin-top:14px;display:grid}.project-dce-open-point{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px;display:grid}.project-dce-open-point p,.project-dce-open-point small{color:var(--muted);margin:4px 0 0;line-height:1.45}.project-dce-open-point small{grid-column:1/-1}.project-dce-severity-information{color:#52606d;background:#f2f4f7;border:1px solid #d8dde4}.project-dce-severity-attention{color:#7a4a00;background:#fff6df;border:1px solid #ead2a4}.project-dce-severity-critique{color:var(--danger);background:#fde5e9;border:1px solid #f2bdc6}.dce-interface-review-panel{margin-top:16px}.dce-interface-review-summary,.dce-interface-filter-tabs,.dce-interface-actions{flex-wrap:wrap;gap:8px;display:flex}.dce-interface-review-summary{justify-content:flex-end}.dce-interface-metric{color:#39544b;white-space:nowrap;background:#f5f8f6;border:1px solid #d5dfd9;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.dce-interface-filter-tabs{margin:14px 0}.dce-interface-filter-tabs button{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;font:inherit;background:#fff;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:750}.dce-interface-filter-tabs button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dce-interface-review-table{border-collapse:collapse;width:100%;min-width:1180px}.dce-interface-review-table th,.dce-interface-review-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.dce-interface-review-table th{color:var(--muted);font-size:12px}.dce-interface-review-table textarea,.dce-interface-review-table select{border:1px solid var(--line);width:100%;color:var(--foreground);font:inherit;border-radius:6px;padding:7px 9px}.dce-interface-review-table textarea{resize:vertical;min-width:260px}.dce-interface-review-table select{min-width:150px}.dce-interface-status-validated{color:#116039;background:#e7f5ed;border-color:#bddacb}.dce-interface-status-to_review{color:#7a4a00;background:#fff6df;border-color:#ead2a4}.dce-interface-status-ignored{color:#52606d;background:#f2f4f7;border-color:#d8dde4}.dce-interface-inline-note{color:var(--accent);margin-top:4px;font-size:12px;font-weight:800;display:block}.dce-interface-warning-list{gap:4px;min-width:180px;margin:0;padding-left:16px;display:grid}.dce-interface-warning-list li{color:var(--muted);font-size:12px;line-height:1.35}.dce-interface-actions{min-width:220px}.dce-interface-debug{margin-top:10px}.dce-interface-debug summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:800}.dce-interface-debug dl{grid-template-columns:max-content minmax(0,1fr);gap:4px 8px;margin:8px 0 0;display:grid}.dce-interface-debug dt,.dce-interface-debug dd{color:var(--muted);margin:0;font-size:12px}.dce-interface-debug dd{overflow-wrap:anywhere}.project-review-drawer,.project-assistance-drawer{border:1px dashed var(--line);background:#fbfcfd;border-radius:8px;margin-top:16px}.project-review-drawer summary,.project-assistance-drawer summary{min-height:38px;color:var(--muted);cursor:pointer;align-items:center;padding:9px 12px;font-size:13px;font-weight:800;display:inline-flex}.project-review-drawer[open],.project-assistance-drawer[open]{background:#fff}.project-review-drawer .validation-workspace,.project-assistance-content{border-top:1px solid var(--line);padding:14px}.project-review-drawer .validation-workspace{margin-top:0}.project-assistance-content{gap:16px;display:grid}.project-assistance-block h3{margin:0 0 12px}.project-assistance-content .project-files{margin-top:0}.validation-workspace{gap:16px;margin-top:16px;display:grid}.upload-metadata-panel,.storage-error,.project-files{margin-top:16px}.project-file-list{gap:10px;margin-top:14px;display:grid}.project-file-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.project-file-row div{min-width:0}.project-file-row strong{margin-top:6px;display:block}.project-file-row p{margin:4px 0 0}.project-file-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.file-kind-pill{color:#52606d;background:#eef1f5;border-radius:999px;align-items:center;min-height:26px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.validation-toolbar,.panel-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.validation-toolbar h2,.panel-heading-row h2{margin-bottom:4px}.validation-toolbar p,.panel-heading-row p{margin:0}.validation-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.status-pill,.permission-pill,.line-status,.warning-item-heading span{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-pill-valid,.line-status-accepted,.warning-item-treated .warning-item-heading span{color:#116039;background:#e4f5ec}.status-pill-partial,.line-status-pending,.warning-item-heading span{color:#8a4b00;background:#fff1db}.status-pill-invalid,.line-status-rejected{color:var(--danger);background:#fde5e9}.status-pill-not-run{color:#52606d;background:#eef1f5}.permission-pill-owner,.permission-pill-admin{color:#116039;background:#e4f5ec}.permission-pill-member{color:#284c93;background:#e8f0ff}.permission-pill-viewer,.permission-pill-none{color:#52606d;background:#eef1f5}.validation-message{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:12px 14px;font-weight:650}.validation-message-error{border-color:var(--danger);color:var(--danger);background:#fde5e9}.table-scroll{overflow-x:auto}.dpgf-validation-table{border-collapse:collapse;width:100%;min-width:1080px}.dpgf-validation-table th,.dpgf-validation-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.dpgf-validation-table th{color:var(--muted);font-size:13px}.dpgf-validation-table .numeric{text-align:right;white-space:nowrap}.validation-row-accepted td{background:#f5fbf8}.validation-row-rejected td{background:#fff7f8}.compact-actions,.note-control{align-items:center;gap:8px;display:flex}.compact-actions{flex-wrap:wrap}.compact-button{min-height:32px;padding:6px 9px}.danger-button{border-color:var(--danger);color:var(--danger)}.note-control input{border:1px solid var(--line);min-width:180px;min-height:34px;color:var(--foreground);font:inherit;border-radius:6px;padding:7px 9px}.note-control input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.cctp-note{margin:12px 0}.cctp-note input{width:min(100%,520px)}.cctp-preview{border:1px solid var(--line);white-space:pre-wrap;background:#fbfcfd;border-radius:6px;max-height:520px;margin:14px 0 0;padding:12px;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.warning-list{gap:12px;max-height:720px;padding-right:2px;display:grid;overflow:auto}.warning-item{border:1px solid var(--line);border-radius:8px;padding:12px}.warning-item-treated{background:#f5fbf8}.warning-item-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.warning-item p{margin:8px 0 10px;line-height:1.5}.upload-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:16px;display:grid}.upload-panel,.upload-result{gap:16px;display:grid}.field{gap:8px;display:grid}.field label{font-weight:700}.field input[type=file]{max-width:100%}.json-textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:360px;color:var(--foreground);background:#fbfcfd;border-radius:6px;padding:12px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.json-textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.result-success{gap:8px;display:grid}.server-state{border-left:3px solid var(--line);gap:4px;padding-left:12px;display:grid}.server-state-ok{border-color:var(--accent)}.server-state-unavailable{border-color:var(--danger)}.upload-message{margin:0;font-weight:700}.code-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.error-list{border-left:3px solid var(--danger);color:var(--danger);gap:8px;padding-left:12px;display:grid}.error-list ul{margin:0;padding-left:18px}.auth-panel{gap:16px;display:grid}.auth-tabs{border:1px solid var(--line);background:var(--panel-muted);border-radius:8px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.auth-tabs button{min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-weight:700}.auth-tabs button.active{background:var(--panel);color:var(--foreground);box-shadow:0 1px 2px #0f172a1a}.auth-form{gap:12px;display:grid}.auth-form label{color:var(--foreground);gap:6px;font-weight:700;display:grid}.auth-form label span{font-size:13px}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--foreground);font:inherit;border-radius:6px;padding:8px 10px}.auth-form input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.auth-checkbox{grid-template-columns:none;align-items:center;gap:8px!important;font-weight:600!important;display:flex!important}.auth-checkbox input{width:16px;height:16px}.auth-mode-note{margin:0}.account-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.organization-create-row{gap:10px;display:flex}.organization-create-row input{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--foreground);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.organization-create-row input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.organization-list{gap:10px;display:grid}.organization-item{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.organization-item div{gap:3px;display:grid}.plugin-token-panel{grid-column:1/-1}.plugin-token-create-row,.plugin-token-row,.plugin-token-once-box{align-items:center;gap:10px;display:grid}.plugin-token-create-row{grid-template-columns:minmax(0,1fr) auto}.plugin-token-create-row input{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--foreground);font:inherit;border-radius:6px;padding:8px 10px}.plugin-token-list{gap:10px;display:grid}.plugin-token-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;padding:12px}.plugin-token-row>div{gap:3px;min-width:0;display:grid}.plugin-token-row span,.plugin-token-once-box code{overflow-wrap:anywhere}.plugin-token-once-box{border:1px solid var(--accent);background:var(--accent-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.plugin-token-once-box>div{gap:8px;min-width:0;display:grid}.plugin-token-once-box code{font-size:12px}.public-landing{background:linear-gradient(135deg, #14706024, transparent 34%), linear-gradient(315deg, #be593421, transparent 38%), var(--background);min-height:100dvh;color:var(--text)}.public-landing-nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:24px;display:flex}.public-landing-nav a{color:var(--text);font-weight:700;text-decoration:none}.public-landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:48px;max-width:1120px;min-height:calc(100dvh - 92px);margin:0 auto;padding:24px 24px 72px;display:grid}.public-landing-copy{gap:18px;max-width:680px;display:grid}.public-landing-copy h1{letter-spacing:0;margin:0;font-size:6rem;line-height:.92}.public-landing-tagline{max-width:680px;margin:0;font-size:1.35rem;font-weight:800;line-height:1.35}.public-landing-text{color:var(--muted);max-width:640px;margin:0;font-size:1.05rem;line-height:1.65}.public-landing-actions{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.public-landing-signal{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.public-landing-signal span{aspect-ratio:1.45;border:1px solid var(--line);background:#ffffffb8;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex;box-shadow:0 18px 55px #2330371f}@media (max-width:760px){.topbar-inner,.page{padding-left:16px;padding-right:16px}.topbar-inner{flex-direction:column;align-items:flex-start}.topbar-context{text-align:left}.split,.project-business-header,.project-dce-lot summary,.project-dce-open-point{grid-template-columns:1fr}.project-dce-lot summary>span:not(.project-dce-status):not(.project-dce-lot-code),.project-dce-status,.project-dce-severity{width:fit-content}.validation-toolbar,.panel-heading-row,.warning-item-heading{flex-direction:column}.validation-toolbar-actions{justify-content:flex-start}.note-control{flex-direction:column;align-items:stretch}.note-control input{width:100%;min-width:0}.project-link-heading{flex-direction:column}.upload-layout,.account-layout{grid-template-columns:1fr}.public-landing-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:48px}.public-landing-copy h1{font-size:3.7rem}.context-strip,.project-file-row,.project-file-meta,.organization-create-row,.organization-item,.plugin-token-create-row,.plugin-token-row,.plugin-token-once-box{flex-direction:column;grid-template-columns:1fr;align-items:stretch}}
