:root{color:#1b2430;font-synthesis:none;text-rendering:optimizelegibility;--red:#a7191f;--red-dark:#7f1117;--ink:#17202a;--muted:#667381;--line:#dde3e9;--surface:#fff;--surface-soft:#f7f9fb;--success:#137a4c;--warning:#9a6700;--danger:#b42318;--shadow:0 18px 48px #131f2d14;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f4f6f8;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.site-header{border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand,.admin-brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;letter-spacing:-.06em;background:linear-gradient(145deg,#bf252d,#8c1117);border-radius:12px;place-items:center;width:48px;height:48px;font-weight:900;display:grid;box-shadow:0 8px 22px #a7191f3d}.brand strong,.admin-brand strong{font-size:15px;display:block}.brand small,.admin-brand small{color:var(--muted);margin-top:2px;display:block}.header-actions{align-items:center;gap:18px;display:flex}.reference{color:var(--red-dark);background:#f7e9ea;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.text-link{color:var(--red);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.page-shell{width:min(1420px,100% - 40px);margin:0 auto;padding:42px 0 64px}.hero{grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:28px;margin-bottom:28px;display:grid}.hero.compact{color:#fff;min-height:210px;box-shadow:var(--shadow);background:radial-gradient(circle at 88% 20%,#ffffff21,#0000 27%),linear-gradient(125deg,#151d27,#263443 64%,#8d161c 150%);border-radius:28px;padding:38px 44px}.hero h1{letter-spacing:-.035em;max-width:820px;margin:8px 0 16px;font-size:clamp(32px,4vw,52px);line-height:1.04}.hero p{color:#ffffffc7;max-width:760px;margin:0;font-size:17px;line-height:1.65}.eyebrow{color:#ef9da2;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.hero-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;padding:24px}.hero-card strong{margin-bottom:8px;font-size:20px;display:block}.hero-card span{color:#ffffffb3;line-height:1.45}.application-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:28px;display:grid}.step-panel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #e8edf1;border-radius:22px;padding:18px;position:sticky;top:100px}.step-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.step-list li button{text-align:left;cursor:pointer;width:100%;color:var(--muted);background:0 0;border:0;border-radius:14px;align-items:flex-start;gap:12px;padding:13px 12px;display:flex}.step-list li button:disabled{cursor:default}.step-list li.active button{color:var(--ink);background:#f8eaeb}.step-list li.done button{color:var(--ink)}.step-number{border:1px solid var(--line);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.step-list li.active .step-number{background:var(--red);border-color:var(--red);color:#fff}.step-list li.done .step-number{color:var(--success);background:#e3f4eb;border-color:#b5dfc8}.step-list strong{font-size:14px;display:block}.step-list small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.35;display:block}.save-box{background:var(--surface-soft);border-radius:14px;align-items:center;gap:10px;margin:18px 2px 10px;padding:14px;display:flex}.save-box strong{font-size:12px;display:block}.save-box small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:10px;display:block}.save-indicator{background:#b8c0c8;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #b8c0c82e}.save-indicator.saving{background:#d18d00;animation:1s infinite pulse}.save-indicator.saved{background:var(--success)}.save-indicator.error{background:var(--danger)}.form-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #e6ebef;border-radius:24px;overflow:hidden}.form-card.locked{opacity:.92}.form-card-head{border-bottom:1px solid var(--line);padding:28px 34px 18px}.form-card-head>div:first-child{align-items:baseline;gap:13px;display:flex}.form-card-head span{color:var(--red);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.form-card-head h2{margin:0;font-size:26px}.progress{background:#edf1f4;border-radius:999px;height:5px;margin-top:20px;overflow:hidden}.progress span{background:linear-gradient(90deg, var(--red), #dc5359);border-radius:inherit;height:100%;transition:width .25s;display:block}#application-form{padding:32px 34px 28px}.section-intro{margin-bottom:24px}.section-intro h3,.subsection h3{margin:0 0 8px;font-size:20px}.section-intro p,.subsection p{color:var(--muted);margin:0;line-height:1.55}.subsection{border-top:1px solid var(--line);margin:34px 0 18px;padding-top:26px}.form-grid{gap:18px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:8px;min-width:0;display:grid}.field.wide{grid-column:1/-1}.field>span{color:#394553;font-size:13px;font-weight:750}.field input,.field select,.field textarea,.table-toolbar input,.table-toolbar select,.email-list input{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd5dd;border-radius:12px;outline:none;padding:12px 13px;transition:border .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:98px}.field input:focus,.field select:focus,.field textarea:focus,.table-toolbar input:focus,.table-toolbar select:focus,.email-list input:focus{border-color:#c5474d;box-shadow:0 0 0 4px #a7191f17}.field input[readonly]{color:#71808e;background:#f1f4f6}.input-action{display:flex}.input-action input{border-radius:12px 0 0 12px}.input-action button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:0 12px 12px 0;padding:0 16px;font-weight:750}.check-field{cursor:pointer;align-items:flex-start;gap:11px;padding:10px 0;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--red);margin-top:2px}.check-field span{color:#384554;line-height:1.5}.contact-card{background:var(--surface-soft);border:1px solid #e8edf1;border-radius:18px;margin-bottom:22px;padding:22px}.contact-card h3{margin:0 0 18px;font-size:17px}.email-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:16px;display:grid}.summary-card{background:#fafcfd;border:1px solid #dce3e9;border-radius:16px;gap:5px;padding:22px;display:grid}.summary-card span{color:var(--muted)}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.choice-card{cursor:pointer;background:#fff;border:1px solid #d5dde4;border-radius:16px;gap:12px;padding:18px;display:flex;position:relative}.choice-card.selected{border-color:var(--red);background:#fff6f6;box-shadow:0 0 0 3px #a7191f12}.choice-card input{accent-color:var(--red);margin-top:3px}.choice-card strong,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:5px}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.upload-card{background:#fbfcfd;border:1px dashed #bcc7d0;border-radius:17px;padding:19px}.upload-card>div:first-child strong,.upload-card>div:first-child span{display:block}.upload-card>div:first-child span{color:var(--muted);margin-top:4px;font-size:12px}.upload-button{background:var(--ink);color:#fff;cursor:pointer;border-radius:10px;margin-top:15px;padding:9px 13px;font-size:12px;font-weight:800;display:inline-flex}.upload-button input{display:none}.file-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.file-row span,.file-row small{overflow-wrap:anywhere;display:block}.file-row small{color:var(--muted);margin-top:3px}.file-row button{width:28px;height:28px;color:var(--red);cursor:pointer;background:#f5dfe1;border:0;border-radius:50%}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.review-grid article{border:1px solid var(--line);border-radius:15px;gap:6px;padding:18px;display:grid}.review-grid h4{color:var(--red);text-transform:uppercase;letter-spacing:.07em;margin:0 0 4px;font-size:12px}.review-grid span{color:var(--muted);font-size:13px}.consent-box{border:1px solid var(--line);background:#f7f9fb;border-radius:16px;margin-top:24px;padding:20px}.signature-placeholder{color:#fff;background:linear-gradient(135deg,#202b36,#354553);border-radius:16px;margin-top:22px;padding:22px}.signature-placeholder span,.signature-placeholder strong{display:block}.signature-placeholder span{color:#ef9da2;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}.signature-placeholder strong{margin-top:8px;font-size:18px}.signature-placeholder p{color:#ffffffb8;margin:8px 0 0}.form-navigation{border-top:1px solid var(--line);justify-content:space-between;gap:16px;margin-top:34px;padding-top:24px;display:flex}.nav-right{gap:10px;display:flex}.button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:linear-gradient(135deg,var(--red),#c7353c);color:#fff;box-shadow:0 9px 20px #a7191f2e}.button.secondary{background:var(--ink);color:#fff}.button.ghost{color:#344250;background:#edf1f4}.button.small{padding:8px 12px;font-size:12px}.button.full{width:100%}.alert{border-radius:13px;margin-bottom:20px;padding:14px 17px;font-weight:650;line-height:1.45}.alert.error{color:#8f1d15;background:#ffebe9;border:1px solid #ffc9c4}.alert.success{color:#11663f;background:#e9f8ef;border:1px solid #bfe8cf}.alert.info{color:#245481;background:#eaf3ff;border:1px solid #c6dcfa}.site-footer{color:#ffffffa6;background:#17202a;justify-content:space-between;gap:20px;padding:26px clamp(20px,5vw,72px);font-size:12px;display:flex}.admin-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#15202b;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.admin-brand{color:#fff;padding:4px 8px 24px}.admin-brand .brand-mark{width:42px;height:42px}.admin-brand small{color:#ffffff8c}.admin-brand.large{justify-content:center}.admin-sidebar nav{gap:7px;display:grid}.admin-sidebar nav button{color:#ffffff9e;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:12px 13px;font-weight:700}.admin-sidebar nav button.active{color:#fff;background:#ffffff1a}.admin-sidebar nav button small{float:right;color:#ef9da2}.admin-user{border-top:1px solid #ffffff1f;margin-top:auto;padding:18px 8px 0}.admin-user span{color:#ffffffb8;overflow-wrap:anywhere;font-size:12px;display:block}.admin-user button{color:#ef9da2;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0}.admin-main{min-width:0;padding:36px clamp(24px,4vw,60px) 60px}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.admin-header h1{letter-spacing:-.03em;margin:7px 0 9px;font-size:clamp(28px,3vw,42px)}.admin-header p{color:var(--muted);margin:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card,.admin-card,.detail-card{background:#fff;border:1px solid #e3e9ee;border-radius:18px;box-shadow:0 10px 30px #1623300d}.stat-card{padding:20px}.stat-card span,.stat-card small{color:var(--muted);display:block}.stat-card strong{margin:10px 0 4px;font-size:30px;display:block}.admin-card{overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;gap:13px;padding:17px;display:flex}.search-box{flex:1;max-width:620px;display:flex}.search-box input{border-radius:11px 0 0 11px}.search-box button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:0 11px 11px 0;padding:0 16px;font-weight:800}.table-toolbar select{width:auto;min-width:210px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:920px}.data-table th{text-align:left;color:#64717f;text-transform:uppercase;letter-spacing:.07em;background:#f7f9fb;padding:13px 16px;font-size:11px}.data-table td{border-top:1px solid #edf0f3;padding:15px 16px;font-size:13px}.data-table tbody tr{cursor:pointer;transition:background .15s}.data-table tbody tr:hover{background:#fbf5f5}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);margin-top:4px}.empty-cell{text-align:center;color:var(--muted);padding:50px!important}.status-pill,.agency-pill{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-pill.large{padding:9px 13px;font-size:12px}.status-draft{color:#586674;background:#edf1f4}.status-submitted,.status-commercial_review{color:#285f9b;background:#e7f1ff}.status-missing_documents{color:#8b5b00;background:#fff2d9}.status-approved,.status-ebp_created,.status-signed{color:#176942;background:#e4f6eb}.status-rejected{color:#9b251d;background:#ffe7e5}.status-ready_for_signature,.status-accounting_review,.status-ebp_pending,.status-ebp_processing{color:#6941a5;background:#f1e9ff}.agency-pill.toulouse{color:#205f9b;background:#e8f2ff}.agency-pill.pessac{color:#8f1d24;background:#fbe6e8}.agency-pill.manual{color:#8b5b00;background:#fff2d9}.detail-header .back-button{color:var(--red);cursor:pointer;background:0 0;border:0;margin-bottom:18px;padding:0;font-weight:800;display:block}.detail-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px;display:grid}.detail-content{gap:18px;display:grid}.detail-card{padding:22px}.detail-card h2{margin:0 0 18px;font-size:18px}.detail-card.sticky{position:sticky;top:24px}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px;margin:0;display:grid}.detail-list div{min-width:0}.detail-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.detail-list dd{overflow-wrap:anywhere;margin:5px 0 0}.file-list{gap:10px;display:grid}.file-list a{border:1px solid var(--line);border-radius:12px;justify-content:space-between;gap:12px;padding:13px;text-decoration:none;display:flex}.file-list span,.file-list small{display:block}.file-list small{color:var(--muted);margin-top:3px}.file-list strong{color:var(--red);font-size:12px}.card-title-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tariff-grid label{background:#f7f9fb;border-radius:12px;padding:13px}.tariff-grid label>span{margin-bottom:8px;font-weight:800;display:block}.tariff-grid label>div{grid-template-columns:90px 1fr;gap:8px;display:grid}.tariff-grid input{border:1px solid #ccd5dd;border-radius:9px;width:100%;min-width:0;padding:9px}.timeline{gap:14px;margin:0;padding:0;list-style:none;display:grid}.timeline li{gap:12px;display:flex}.timeline li>span{background:var(--red);border-radius:50%;width:10px;height:10px;margin-top:4px;box-shadow:0 0 0 4px #f7e6e7}.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:4px}.routing-summary{background:#f7f9fb;border-radius:12px;margin:18px 0;padding:15px}.routing-summary span,.routing-summary strong,.routing-summary small{display:block}.routing-summary span{color:var(--muted);text-transform:uppercase;font-size:11px}.routing-summary strong{margin:5px 0}.routing-summary small{color:var(--muted);line-height:1.45}.login-page,.center-screen{background:radial-gradient(circle at 50% 10%,#a7191f1f,#0000 33%),#15202b;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;background:#fff;border-radius:24px;width:min(430px,100%);padding:34px;box-shadow:0 25px 70px #00000038}.login-card h1{margin:28px 0 8px}.login-card>p{color:var(--muted);margin-bottom:24px}.login-card form{text-align:left;gap:16px;display:grid}.login-card .text-link{margin-top:20px;display:inline-block}.loader{border:3px solid #a7191f33;border-top-color:var(--red);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.center-screen{color:#fff;align-content:center}.loading-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f4f6f8a6;place-items:center;display:grid;position:fixed;inset:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@media (max-width:1100px){.hero{grid-template-columns:1fr}.hero-card{max-width:440px}.application-layout{grid-template-columns:1fr}.step-panel{position:static}.step-list{grid-template-columns:repeat(5,minmax(0,1fr))}.step-list li button{text-align:center;justify-items:center;display:grid}.step-list small,.save-box{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}.detail-card.sticky{position:static}}@media (max-width:760px){.site-header{height:68px;padding:0 16px}.brand small,.reference{display:none}.page-shell{width:min(100% - 20px,1420px);padding-top:14px}.hero.compact{border-radius:20px;padding:28px 22px}.hero h1{font-size:33px}.form-card-head,#application-form{padding-left:19px;padding-right:19px}.step-panel{padding:10px;overflow-x:auto}.step-list{min-width:530px}.form-grid.two,.form-grid.three,.choice-grid,.upload-grid,.review-grid,.email-list,.detail-list,.tariff-grid{grid-template-columns:1fr}.form-navigation{align-items:stretch}.nav-right{flex:1;justify-content:flex-end}.nav-right .button{flex:1}.site-footer{flex-direction:column}.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;align-items:center;gap:12px;height:auto;padding:12px 16px;position:static}.admin-sidebar nav{display:none}.admin-sidebar .admin-brand{padding:0}.admin-user{text-align:right;border:0;margin:0 0 0 auto;padding:0}.admin-main{padding:24px 14px 50px}.admin-header{flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.table-toolbar{flex-direction:column}.table-toolbar select{width:100%}}@media (max-width:480px){.header-actions .text-link{font-size:12px}.hero.compact{padding:24px 18px}.stats-grid{grid-template-columns:1fr}.form-navigation{flex-direction:column}.nav-right{width:100%}}
