:root{color-scheme:light;--bg:#f4f7fa;--navy:#112741;--deep:#081929;--mint:#18bba9;--text:#1d3349;--muted:#8092a2;--line:#e3eaf0;--light:#f3f8f8;--card:white;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #62ded4;outline-offset:2px}[hidden]{display:none!important}.layout{min-height:100vh;display:grid;grid-template-columns:257px minmax(0,1fr)}.sidebar{background:var(--deep);color:#d3e6ef;min-height:100vh;display:flex;flex-direction:column;padding:23px 16px 17px;position:sticky;top:0;height:100vh}.side-brand{display:flex;align-items:center;gap:11px;font-size:22px;letter-spacing:-1px;font-weight:850;padding:4px 11px 34px;color:#fff}.side-brand img{border-radius:11px}.side-brand small{display:block;color:#7795aa;letter-spacing:2px;font-size:8px;margin-top:3px;font-weight:700}.mint{color:#54e4c7}.side-label{font-size:10px;letter-spacing:1.5px;color:#69889f;padding:9px 13px 13px;font-weight:800}.side-nav{display:grid;gap:6px}.side-nav button{display:flex;align-items:center;gap:13px;border:0;border-radius:9px;background:none;color:#9fb4c3;font-size:13px;text-align:left;padding:13px 14px;transition:.15s}.side-nav button:hover{background:#143047;color:white}.side-nav button.active{color:#58e6c8;background:#173c48;font-weight:700;box-shadow:inset 3px 0 #2fd9bf}.nav-icon{font-family:system-ui;font-size:21px;width:23px;text-align:center}.account-label{padding-top:32px}.side-bottom{margin-top:auto}.help-card{background:linear-gradient(135deg,#1b4654,#0c323d);border:1px solid #2b6770;padding:16px;border-radius:12px;margin-bottom:19px}.help-card>span{font-size:21px;color:#62ead5}.help-card strong,.help-card small{display:block;margin-top:9px}.help-card strong{color:#eafffc;font-size:13px}.help-card small{line-height:1.6;color:#aacbd1;font-size:11px}.help-card button{margin-top:12px;background:transparent;color:#5de7d0;border:none;padding:0;font-size:11px;font-weight:800}.side-profile{border-top:1px solid #294456;padding:16px 2px 3px;display:flex;align-items:center;gap:9px}.profile-dot{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#d9f8f0;color:#079f93;font-size:14px;font-weight:850;flex-shrink:0}.side-profile>div:nth-child(2){min-width:0;flex:1}.side-profile strong{display:block;font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-profile small{font-size:9px;color:#8ea9b8;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.side-profile>button{color:#b4c9d2;border:0;background:none;font-size:21px}.work-area{min-width:0}.app-topbar{height:77px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:0 38px}.breadcrumbs{font-size:12px;color:#8ea1af;font-weight:600}.breadcrumbs span{padding:0 11px;color:#bccbd6}.breadcrumbs b{color:#283f54}.top-actions{display:flex;align-items:center;gap:22px}.date-tag{font-size:12px;color:#71889a}.demo-banner{background:#fff4d6;border-bottom:1px solid #f9dc8b;color:#765d11;font-size:12px;text-align:center;padding:9px 16px;font-weight:700}.page-content{padding:36px 38px 70px;max-width:1510px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:28px}.kicker{font-size:10px;color:#18aaa0;letter-spacing:1.8px;font-weight:850;margin-bottom:8px}.page-heading h1{font-size:28px;letter-spacing:-1px;margin:2px 0 7px;color:#162f48}.page-heading p{color:#8496a5;font-size:13px;margin:0;line-height:1.6}.heading-buttons{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:800;border:1px solid transparent;transition:background .15s,transform .15s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#13bfae;color:white;box-shadow:0 7px 20px #14b8a62b}.btn.primary:hover{background:#0fac9c}.btn.secondary{background:#fff;color:#294457;border:1px solid #dbe5ed}.btn.subtle{background:#eef8f5;color:#0e8d83}.btn.danger{background:#fef1f1;color:#ae4646}.btn.small{padding:8px 11px;font-size:11px}.btn.full{width:100%}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat{background:white;border:1px solid #e7eef2;border-radius:14px;padding:22px 21px;box-shadow:0 5px 22px #16364b07}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#8295a4;font-size:12px}.stat-icon{width:35px;height:35px;border-radius:10px;background:#ebfaf8;display:grid;place-items:center;color:#12b2a4;font-size:20px}.stat strong{display:block;font-size:27px;color:#172e46;letter-spacing:-.7px;margin-top:13px}.stat small{display:block;color:#899dac;font-size:11px;margin-top:5px}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:20px}.panel{border-radius:15px;background:#fff;border:1px solid #e2ebf0;padding:23px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panel-title h2{font-size:16px;letter-spacing:-.4px;margin:0}.panel-title .viewall{border:0;background:none;color:#0caaa0;font-weight:800;font-size:11px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.data-table thead{background:#f6f9fb;color:#8093a5;font-size:10px;text-transform:uppercase;letter-spacing:.8px}.data-table th{padding:14px 12px;font-weight:800;white-space:nowrap}.data-table td{border-bottom:1px solid #eaf0f4;padding:16px 12px;color:#345067;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table td strong{font-weight:750;color:#263f54}.data-table .table-actions{display:flex;gap:6px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;padding:6px 9px;font-size:10px;font-weight:800;border-radius:7px;white-space:nowrap}.pill.brouillon{background:#edf0f4;color:#586a7a}.pill.envoyé,.pill.émise{background:#ebf4fe;color:#4a82ac}.pill.accepté,.pill.payé{background:#e1f8ec;color:#158e64}.pill.facturé{background:#e9f6f5;color:#0e9e91}.pill.refusé{background:#feeff0;color:#b4545c}.pill.partiel{background:#fff4dc;color:#9e751e}.pill.retard{background:#ffefec;color:#b75c4b}.empty{color:#899dab;font-size:13px;padding:28px 7px;line-height:1.8;text-align:center}.empty-icon{font-size:30px;margin-bottom:10px}.task{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f4;align-items:center}.task:last-child{border-bottom:0}.task-check{width:22px;height:22px;border:1px solid #bdcdd6;background:white;border-radius:7px;display:grid;place-items:center;color:#0caf9f;font-weight:850}.task.done .task-check{background:#daf7ef;border-color:#d0efdf}.task.done .task-info strong{text-decoration:line-through;color:#9cadb8}.task-info{flex:1;min-width:0}.task-info strong{font-size:12px;display:block}.task-info small{font-size:10px;color:#8b9eac;display:block;margin-top:5px}.task-when{font-size:10px;color:#8c9eac;white-space:nowrap}.note-box{background:linear-gradient(125deg,#123d83 0%,#155bb4 55%,#287ee3 100%);border-radius:14px;padding:24px;color:#eafffb;overflow:hidden;position:relative}.note-box h2{font-size:17px;margin:12px 0}.note-box p{font-size:12px;color:#e0ecff;line-height:1.8;max-width:330px}.note-box>.shine{font-size:32px;color:#d4e8ff}.note-box .btn{background:#eaf3ff;color:#1055a5;font-weight:800}.tagline{color:#7590a1;font-size:12px;line-height:1.7;margin:0 0 20px}.fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:7px;margin-bottom:15px;min-width:0}.field label{font-size:11px;color:#61798c;font-weight:800}.field input,.field textarea,.field select{border:1px solid #dbe6ec;border-radius:9px;background:#fff;padding:11px 12px;font-size:13px;color:#263c50;width:100%;min-width:0;outline-color:#62d8cb}.field textarea{min-height:85px;resize:vertical;line-height:1.6}.field select{padding-right:20px}.field small{font-size:10px;color:#91a1ad;line-height:1.6}.field.wide{grid-column:1/-1}.settings-grid{display:grid;grid-template-columns:1fr .85fr;gap:20px}.warning-box{border:1px solid #f1ddaa;background:#fff9e9;border-radius:12px;padding:15px;color:#866122;font-size:12px;line-height:1.7;margin:0 0 20px}.info-box{border:1px solid #c8dcfa;background:#edf4ff;border-radius:12px;padding:14px;color:#24558e;font-size:12px;line-height:1.75;margin:12px 0}.tip-list{list-style:none;padding:0;display:grid;gap:13px;font-size:12px;color:#657e90;line-height:1.7}.tip-list li:before{content:'✓';margin-right:9px;color:#0cae9f;font-weight:800}.form-error{background:#fff0f0;color:#ae3434;font-size:12px;border:1px solid #f5c4c4;border-radius:9px;padding:10px;margin-bottom:11px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.text-link{border:0;background:none;color:#0cafa2;font-weight:750;padding:2px}.top-space{margin-top:18px}.assistant-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.assistant-hero{background:linear-gradient(125deg,#123d83 0%,#155bb4 55%,#287ee3 100%);color:white;border-radius:15px;padding:24px;margin-bottom:21px}.assistant-hero>span{font-size:26px}.assistant-hero h2{margin:10px 0;font-size:21px}.assistant-hero p{color:#e0ecff;font-size:12px;line-height:1.8}.lines-header{display:grid;grid-template-columns:minmax(120px,2.8fr) 65px 94px 85px 35px;gap:6px;font-size:10px;color:#8799a5;font-weight:750;margin-bottom:6px}.invoice-line{display:grid;grid-template-columns:minmax(120px,2.8fr) 65px 94px 85px 35px;gap:6px;margin-bottom:8px}.invoice-line input,.invoice-line select{width:100%;padding:10px 8px;border:1px solid #dde7ed;border-radius:8px;min-width:0;font-size:12px}.invoice-line button{border:0;border-radius:8px;background:#ffefef;color:#b3464b;font-weight:850;font-size:19px}.invoice-total{margin-top:16px;background:#f6fafa;border-radius:10px;padding:17px;font-size:13px;text-align:right}.invoice-total strong{display:block;margin-top:8px;font-size:21px}.modal-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:21;max-height:min(92vh,900px);overflow-y:auto;width:min(730px,calc(100vw - 28px));background:#fff;border-radius:16px;box-shadow:0 24px 100px #071b2980;padding:25px}.modal-shade{position:fixed;inset:0;background:#071c2cc9;z-index:20}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:23px}.modal-head h2{font-size:24px;letter-spacing:-.8px;margin:4px 0}.mini-kicker{color:#0eaaa1;font-size:9px;letter-spacing:1.6px;font-weight:800}.close-modal{border:0;background:#f2f6f8;border-radius:8px;color:#547082;font-size:25px;width:36px;height:36px}.mobile-nav{display:none}.auth-page{min-height:100vh;background:#0c1d30;color:white;display:grid;grid-template-columns:1.1fr .9fr}.auth-brand{position:absolute;top:28px;left:36px;display:flex;align-items:center;gap:11px;font-size:26px;font-weight:850;letter-spacing:-1px;z-index:1}.auth-brand img{border-radius:12px}.auth-brand span{color:#59e0cc}.auth-side{display:flex;flex-direction:column;justify-content:center;padding:140px max(35px,9vw) 90px;background:radial-gradient(ellipse 70% 48% at 80% 54%,#19585a,transparent),linear-gradient(135deg,#0c2439,#0b1828)}.auth-side .kicker{color:#4edbc6;text-transform:uppercase}.auth-side h1{font-size:clamp(44px,5.8vw,75px);letter-spacing:-3px;line-height:1.1;margin:27px 0}.auth-side h1 em{font-style:normal;color:#50dfcb}.auth-side p{color:#a6bfca;font-size:15px;line-height:1.8;max-width:380px}.auth-glow{margin-top:56px;padding:18px 20px;border:1px solid #2d636b;background:#133f4a;border-radius:14px;max-width:350px;font-size:13px}.auth-glow span{color:#6aebd4;font-size:22px;margin-right:8px}.auth-card{display:flex;flex-direction:column;justify-content:center;background:#fff;color:#233c50;padding:110px max(35px,8vw) 80px}.auth-head h2{font-size:30px;letter-spacing:-1.2px;margin:12px 0}.auth-head>p{font-size:13px;color:#8da0ad;margin-bottom:37px}.auth-card .field input{padding:14px}.auth-card .btn{padding:14px}.auth-separator{text-align:center;font-size:10px;color:#9eafba;margin:21px auto;position:relative}.auth-switch{font-size:12px;text-align:center;color:#8da0ae;margin-top:25px}.auth-switch button{border:0;background:none;color:#09aa9d;font-weight:800;font-size:12px}.auth-card>small{font-size:10px;color:#98aab6;line-height:1.65;margin-top:25px}.auth-card .form-error{margin-bottom:15px}#toast{position:fixed;bottom:20px;right:20px;max-width:min(400px,calc(100% - 32px));padding:14px 18px;background:#153349;color:white;border-radius:11px;box-shadow:0 12px 50px #0e2c4250;font-size:12px;z-index:60;display:none;line-height:1.5}#toast.visible{display:block}#toast.bad{background:#8e333b}.mobile-only{display:none}
@media(max-width:1100px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:20px 10px}.page-content{padding:30px 23px 60px}.app-topbar{padding:0 23px}.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.assistant-grid{grid-template-columns:1fr}.auth-card{padding-left:5vw;padding-right:5vw}}
@media(max-width:740px){.auth-page{grid-template-columns:1fr;background:#fff}.auth-brand{top:19px;left:20px;font-size:22px}.auth-side{display:none}.auth-card{min-height:100vh;padding:112px 24px 40px}.auth-head h2{font-size:29px}.layout{display:block}.sidebar{display:none}.work-area{min-height:100vh}.app-topbar{height:65px;padding:0 17px}.date-tag{display:none}.page-content{padding:23px 15px 104px}.page-heading{align-items:start;gap:11px;flex-wrap:wrap;margin-bottom:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}.heading-buttons{width:100%}.heading-buttons .btn{flex:1}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.stat{padding:14px 13px;border-radius:12px}.stat-top{font-size:10px}.stat-icon{width:27px;height:27px;font-size:16px}.stat strong{font-size:21px;margin-top:10px}.stat small{font-size:9px}.panel{padding:16px;border-radius:13px}.panel-title h2{font-size:15px}.data-table{min-width:500px}.data-table th,.data-table td{padding:12px 9px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:15;background:white;padding:7px 6px max(8px,env(safe-area-inset-bottom));border-top:1px solid #e3ecf2;box-shadow:0 -5px 21px #123b4d12}.mobile-nav button{background:none;border:0;display:grid;gap:3px;place-items:center;color:#879cab;font-size:9px;padding:4px 2px}.mobile-nav button span{font-size:23px}.mobile-nav button.active{color:#0fac9e;font-weight:800}.fields-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.modal-card{max-height:92dvh;top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:calc(100dvh - 20px);border-radius:19px 19px 0 0;padding:21px 17px max(20px,env(safe-area-inset-bottom))}.modal-head h2{font-size:21px}.lines-header{display:none}.invoice-line{grid-template-columns:1fr 60px 86px 77px 31px;gap:4px}.invoice-line input,.invoice-line select{font-size:11px;padding:9px 4px}.form-actions .btn{flex:1}.mobile-only{display:block}}
@media(max-width:410px){.invoice-line{grid-template-columns:minmax(80px,1fr) 45px 67px 65px 28px;gap:3px}.invoice-line input,.invoice-line select{font-size:10px}.invoice-line button{font-size:16px}.stat strong{font-size:19px}}

/* DEVYPA V2 — chantier, signature et catalogue */
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:15px}.catalog-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:#fff;border:1px solid #e4edf0;border-radius:14px;padding:19px;box-shadow:0 4px 15px #15314a07}.catalog-card h3{font-size:16px;color:#1e3d50;margin:9px 0}.catalog-card b{color:#138b82;font-size:20px}.catalog-card small{font-size:11px;color:#718e9c;font-weight:400}.catalog-card .heading-buttons{display:flex;gap:8px}.catalog-pick{display:flex;flex-wrap:wrap;gap:8px;background:#f2f8f8;border:1px solid #d9ecec;border-radius:10px;padding:10px;margin:10px 0 16px}.catalog-pick select{flex:1;min-width:140px;border:1px solid #d1e3e4;border-radius:8px;background:white;padding:8px;font-size:12px}.btn.signature{background:#e8fbf5;color:#137668;border:1px solid #b8e8dd}#signature-canvas{display:block;max-width:100%;width:100%;aspect-ratio:640/220;border:1px solid #c6d9e3;border-radius:12px;touch-action:none;background:white;cursor:crosshair}#clear-sign{justify-self:start}.consent-label{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.65;color:#38566b}.consent-label input{margin-top:3px;width:19px;height:19px;flex-shrink:0}.deposit-summary{display:grid;grid-template-columns:1fr auto;gap:15px;background:#f1faf8;border-radius:14px;padding:22px;margin-bottom:18px;color:#36596a}.deposit-summary strong{color:#059689;font-size:28px}.deposit-summary b{color:#263f54;font-size:18px}.pill.signé{background:#e1f8ec;color:#148e64}@media(max-width:740px){.catalog-grid{grid-template-columns:1fr}.catalog-pick{flex-direction:column}.catalog-pick select{width:100%}.catalog-pick .btn{width:100%}#signature-canvas{height:auto;min-height:120px}.deposit-summary{padding:15px}}

/* DEVYPA Stripe Connect, adapted for narrow phone screens */
.stripe-cta{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0;}
.stripe-cta .btn{max-width:100%;white-space:normal;line-height:1.4;}
.stripe-footnote{font-size:11px;line-height:1.65;color:#768c9b;margin:12px 0 0;}
#stripe-connect-status code{overflow-wrap:anywhere;font-size:12px;}
@media(max-width:740px){.stripe-cta{flex-direction:column;}.stripe-cta .btn{width:100%;}}

/* Personnalisation visuelle de chaque entreprise : DEVYPA V2.2 */
.branding-panel{grid-column:1/-1;padding:27px 30px}
.branding-pill{font-size:10px;font-weight:800;color:#147b78;background:#ebf9f5;padding:9px 12px;border-radius:999px}
.branding-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.9fr);gap:35px;align-items:start}
.branding-controls{min-width:0}.brand-upload-box{display:flex;align-items:center;gap:17px;border:1px dashed #b2dcd7;border-radius:15px;background:#f7fdfb;padding:21px 18px;margin:17px 0}
.brand-upload-icon{height:65px;width:65px;flex-shrink:0;border-radius:15px;background:#dff6f0;display:grid;place-items:center;font-size:34px;color:#119f94}
.brand-upload-box strong,.brand-upload-box small{display:block}.brand-upload-box strong{font-size:14px;color:#17364d}.brand-upload-box small{font-size:11px;color:#839ca4;line-height:1.6;margin-top:7px}
.branding-actions{display:flex;flex-wrap:wrap;gap:9px}.brand-file-label{cursor:pointer}.branding-state{color:#698a94;font-size:11px;margin:13px 0 24px;min-height:18px}
.brand-color-row{display:flex;gap:20px;align-items:center;font-size:12px;color:#61798c;font-weight:800}
.brand-color-row input{border:1px solid #dce8ef;min-width:60px;width:62px;height:41px;padding:4px;border-radius:9px;background:#fff;cursor:pointer}
.brand-preview-column{background:#f4f8fa;border-radius:15px;padding:20px;min-width:0}
.mini-paper{--brand-accent:#13BFC4;background:#fff;border-radius:13px;box-shadow:0 12px 24px #183e5214;border:1px solid #e0e9ef;padding:0 0 12px;overflow:hidden}
.mini-paper-top{padding:18px;background:#102743;display:flex;align-items:center;gap:12px;min-height:99px;color:white}
.mini-logo-placeholder{height:64px;width:70px;background:#fff;border-radius:10px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;font-weight:850;font-size:24px;color:#17877d}
.mini-logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain;width:100%;height:100%;padding:5px}
.mini-paper-name{display:grid;gap:4px;min-width:0;flex:1}.mini-paper-name b{overflow-wrap:anywhere;font-size:16px}.mini-paper-name small{font-size:9px;color:#b0d1dd;line-height:1.5}
.mini-paper-top>strong{font-size:11px;letter-spacing:1px;color:#d6f0f1;align-self:flex-start}
.mini-paper-content{display:flex;justify-content:space-between;padding:24px 21px 14px;gap:18px}.mini-paper-content span{display:grid;gap:6px;min-width:0;max-width:47%}.mini-paper-content i{font-size:9px;color:var(--brand-accent);font-style:normal;font-weight:850}.mini-paper-content b{font-size:11px;overflow-wrap:anywhere}.mini-paper-content small{font-size:9px;color:#8ba1ad;overflow-wrap:anywhere}
.mini-paper-line{margin:0 21px 15px;height:5px;background:var(--brand-accent);border-radius:5px}.mini-paper-row{display:flex;justify-content:space-between;margin:0 21px;padding:9px 0;border-bottom:1px solid #edf1f4;gap:8px;font-size:10px;color:#486578}.mini-paper-row b{color:#17354a;white-space:nowrap}
.mini-paper-total{background:#f3f9fa;padding:14px 21px;margin:12px 10px 0;display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:850;color:#123148}.mini-paper-total b{font-size:16px}.mini-paper-foot{font-size:9px;color:#94a6b1;padding:0 21px}.branding-hint{font-size:11px;color:#718a95;line-height:1.65}
@media(max-width:1030px){.branding-layout{grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:740px){.branding-panel{padding:19px 16px}.branding-layout{grid-template-columns:1fr;gap:18px}.brand-preview-column{padding:12px}.branding-pill{display:none}.brand-file-label{width:100%}.branding-actions .btn{width:100%}.brand-upload-box{padding:14px}.mini-paper-top{padding:14px}.mini-paper-content{padding:15px}.mini-paper-line{margin:0 15px 15px}.mini-paper-row{margin:0 15px}.mini-paper-name b{font-size:14px}}

/* V2.5 : curseur acompte 0–100 % — utilisable sur iPhone et ordinateur */
.deposit-picker{min-width:0}.deposit-picker>label:first-child{display:block;font-weight:750;margin-bottom:10px}.deposit-picker>label strong{color:#078f87}.deposit-picker .deposit-range{width:100%;height:28px;margin:8px 0 0;accent-color:#08baa9;cursor:pointer;touch-action:pan-y}.deposit-range-scale{display:flex;justify-content:space-between;gap:8px;margin:0 0 12px;color:#647e8e;font-size:12px}.deposit-numeric-label{display:block;font-size:12px;margin-bottom:5px}.deposit-picker input[type=number]{max-width:165px}.deposit-picker small{display:block;margin-top:6px;color:#556f7f}

/* DEVYPA V2.7 — styles premium, en-tête personnalisable et filigrane */
.document-style-picker{display:grid;gap:9px;margin:19px 0 15px;font-size:12px;font-weight:800;color:#536f81}
.document-style-picker select{border:1px solid #cfdee7;border-radius:9px;padding:12px;background:white;color:#23465c;max-width:100%;width:100%}
.document-colors{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0 16px}
.document-colors .brand-color-row{flex:1;min-width:160px;justify-content:space-between;border:1px solid #e1eaee;border-radius:10px;padding:8px 10px}
.document-check{display:flex;align-items:center;gap:10px;margin:15px 0;font-size:12px;font-weight:750;color:#3c6172;line-height:1.4}
.document-check input{width:17px;height:17px;flex-shrink:0;accent-color:#0b9e94}
.watermark-settings{display:grid;gap:8px;padding:14px;background:#f2f8f9;border-radius:11px;color:#536f81;font-size:12px}
.watermark-settings[hidden]{display:none}
.watermark-settings input{width:100%;accent-color:#119e96}
.watermark-settings small{font-size:11px;color:#77919c}
.mini-paper{position:relative;isolation:isolate;--brand-secondary:#102743;--watermark-alpha:.08}
.mini-paper-watermark{position:absolute;z-index:0;top:40%;left:50%;transform:translate(-50%,-15%);width:68%;height:50%;object-fit:contain;pointer-events:none;opacity:var(--watermark-alpha)}
.mini-paper> :not(.mini-paper-watermark){position:relative;z-index:1}
.mini-paper[data-doc-style="premium"] .mini-paper-top{background:white;color:var(--brand-secondary);border-top:7px solid var(--brand-accent);border-bottom:2px solid var(--brand-accent)}
.mini-paper[data-doc-style="premium"] .mini-paper-name small{color:#607d89}
.mini-paper[data-doc-style="premium"] .mini-paper-top>strong{color:var(--brand-secondary)}
.mini-paper[data-doc-style="classic"] .mini-paper-top{background:var(--brand-secondary)}
.mini-paper[data-doc-style="minimal"] .mini-paper-top{background:white;color:var(--brand-secondary);border-bottom:1px solid #d8e7ea}
.mini-paper[data-doc-style="minimal"] .mini-paper-name small{color:#607d89}
.mini-paper[data-doc-style="minimal"] .mini-paper-top>strong{color:var(--brand-secondary)}
.mini-paper[data-doc-style="premium"] .mini-paper-total{background:color-mix(in srgb,var(--brand-accent) 12%,white)}
@media(max-width:740px){.document-colors{display:grid;grid-template-columns:1fr}.document-colors .brand-color-row{min-width:0}}

/* Optional persistent sign-in: never save the password in localStorage. */
.remember-choice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:4px 0 16px;border:1px solid #dce9ed;border-radius:12px;background:#f7fbfc;color:#1e3449;cursor:pointer;line-height:1.4}
.remember-choice[hidden]{display:none!important}
.remember-choice input{width:19px;height:19px;min-width:19px;margin:2px 0 0;accent-color:#29a99e}
.remember-choice span{display:flex;flex-direction:column;gap:4px}
.remember-choice strong{font-size:14px;font-weight:700}
.remember-choice small{font-size:12px;color:#637a8b}

/* Graphique de chiffre d'affaires — accessible sur mobile */
.revenue-panel{margin-bottom:22px}.revenue-total{font-size:26px;color:#102b4e;letter-spacing:-.6px}.revenue-scroll{overflow-x:auto;margin-top:12px}.revenue-scroll svg{display:block;width:100%;min-width:560px;height:auto}.revenue-panel .panel-title small{color:#6b7e93}

/* Photo de profil : bloc dédié et avatar circulaire */
.profile-photo-panel{margin-bottom:20px}.profile-photo-panel .btn{margin-right:8px;margin-bottom:6px}.profile-dot{background-repeat:no-repeat;background-position:center;background-size:cover}

/* Masquer strictement les entrées réservées à l'administration. */
.side-nav [hidden]{display:none!important}.mail-admin-item{padding:16px 0;border-bottom:1px solid #e2ebf0;overflow-wrap:anywhere}.mail-admin-item p{white-space:pre-wrap;font-size:13px;color:#4d6479}.mail-admin-item small{color:#71869a}.mail-admin-item:last-child{border-bottom:0}


/* Password visibility control: touch-friendly on mobile, works for login and signup. */
.password-field{position:relative}
.password-field input{width:100%;padding-right:54px}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#263b4c;font-size:21px;cursor:pointer;touch-action:manipulation}
.password-toggle:hover{background:#eef5f7}
.password-toggle:focus-visible{outline:3px solid #237cbe;outline-offset:1px}

/* DEVYPA brand alignment: blue and white across login and application */
:root{--bg:#f4f8ff;--navy:#0d2851;--deep:#0d2851;--mint:#0876df;--text:#10264b;--muted:#6a7e98;--line:#dce7f5;--light:#edf5ff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#328ff0}
.sidebar{background:#f9fbff;color:#17355c;border-right:1px solid #e0eaf6}
.side-brand,.side-profile strong{color:#112c52}
.side-brand small,.side-label{color:#6883a3}
.mint{color:#0d75d8}
.side-nav button{color:#405d7d}
.side-nav button:hover{background:#e9f3ff;color:#075eb8}
.side-nav button.active{color:#075fc2;background:#e0efff;box-shadow:inset 3px 0 #147fe9}
.help-card{background:#e8f3ff;border-color:#d0e4f9}
.help-card>span,.help-card strong,.help-card button{color:#076bc7}
.help-card small{color:#527193}
.side-profile{border-color:#dce8f6}
.profile-dot{background:#e1efff;color:#086cc9}

.auth-page{background:#f6faff}
.auth-brand{color:#0b2b57}
.auth-brand span{color:#147ee5}
.auth-side{background:radial-gradient(ellipse 70% 48% at 80% 54%,#d6eaff,transparent),linear-gradient(135deg,#f9fcff,#e9f4ff);color:#102b55}
.auth-side .kicker{color:#096cc8}
.auth-side h1 em{color:#147ee5}
.auth-side p{color:#516c8c}
.auth-glow{background:#fff;border-color:#cfe3f9;color:#15426c;box-shadow:0 12px 30px #1c68b514}
.auth-glow span{color:#0875db}
.auth-card{background:#fff;color:#122c50}
.auth-head .mini-kicker{color:#0874d7}
.btn.primary{background:#086bcf;color:#fff;box-shadow:0 7px 20px #086bcf24}
.btn.primary:hover{background:#005bb9}
.btn.subtle{background:#eaf4ff;color:#075db5}
.auth-switch button{color:#096dc9}

/* Consistent visual identity with approved landing reference, limited to authentication */
.auth-page{background:#fff;color:#0b254b}
.auth-brand{top:22px;left:4%;font-size:28px;font-weight:900;letter-spacing:-1px;color:#0c234b;gap:10px}
.auth-brand img{width:42px;height:42px;object-fit:contain;border-radius:0}
.auth-side{position:relative;isolation:isolate;overflow:hidden;background:#edf6ff;padding-left:max(36px,8vw)}
.auth-side:before{content:"";position:absolute;inset:0;z-index:-2;background:url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1300&q=80") center/cover;filter:blur(5px);transform:scale(1.04)}
.auth-side:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(249,252,255,.96),rgba(232,244,255,.89) 70%,rgba(222,239,252,.77))}
.auth-side .kicker{color:#086ac8;letter-spacing:2px;font-weight:800}
.auth-side h1{color:#0d2851;font-size:clamp(44px,5vw,72px)}
.auth-side h1 em{color:#147ee5}
.auth-side p{color:#36577d}
.auth-glow{background:#fff;border:1px solid #cfe3f9;box-shadow:0 16px 32px #163c6720}
.auth-card{background:#fff}
.auth-head h2{color:#0c2852}
.auth-card .field input{border-color:#d5e5f5;border-radius:10px}
.auth-card .btn.primary{background:linear-gradient(110deg,#0871d6,#0058b7);border-radius:10px}
.auth-card .btn.subtle{background:#eaf4ff;color:#075db5;border-radius:10px}
.remember-choice{background:#f5faff;border-color:#dce9f7}
.remember-choice input{accent-color:#0876df}
@media(max-width:800px){.auth-side:before{background-position:center}.auth-brand{top:18px;left:22px;font-size:24px}.auth-brand img{width:36px;height:36px}}

/* Dashboard: keep the empty-state concise, no oversized blank plot */
.revenue-panel{min-height:0!important;height:auto!important}
.revenue-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:145px;margin-top:16px;border:1px dashed #cddff2;border-radius:14px;background:#f7fbff;padding:20px}
.revenue-empty-icon{font-size:27px;color:#1376d2;margin-bottom:7px}
.revenue-empty strong{color:#12335b;font-size:15px}
.revenue-empty p{font-size:12px;color:#647f9e;margin:7px 0 0}
.revenue-scroll svg{max-height:235px}

/* Full revenue chart with visible month labels and selectable range */
.revenue-scroll svg{max-height:none!important;min-width:700px}
.revenue-period-label{display:flex;align-items:center;gap:8px;color:#6b7e93;font-size:12px}
.revenue-period-label select{padding:8px 11px;border:1px solid #dce6f4;border-radius:8px;background:#fff;color:#17477e;font:inherit;cursor:pointer}

.devypa-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;margin-top:9px;border-radius:10px;border:1px solid #e0eaf5;background:#f7fbff}.devypa-notice strong{display:block;color:#193f6c;font-size:13px}.devypa-notice small{display:block;margin-top:5px;color:#58728e;font-size:12px}.devypa-notice.danger{border-left:4px solid #dc4545}.devypa-notice.warning{border-left:4px solid #e6a22b}.devypa-notice.success{border-left:4px solid #19a576}

.notification-top{position:relative;display:flex;align-items:center}
.notification-bell{position:relative;background:#f0f6ff;border:1px solid #dce9fa;border-radius:11px;cursor:pointer;padding:9px 12px;font-size:19px;line-height:1.2}
.notification-count{position:absolute;top:-7px;right:-8px;min-width:19px;height:19px;line-height:19px;text-align:center;padding:0 3px;border-radius:20px;background:#dc3545;color:#fff;font-size:11px;font-weight:700;box-sizing:border-box}
.notification-count[hidden],.notification-menu[hidden]{display:none!important}
.notification-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(360px,calc(100vw - 26px));max-height:430px;overflow:auto;z-index:120;background:#fff;border:1px solid #dbe6f4;border-radius:14px;box-shadow:0 18px 45px #173f7033;padding:10px}
.notification-menu-head{display:flex;justify-content:space-between;align-items:center;padding:10px 8px 13px;border-bottom:1px solid #eaf0f7}
.notification-menu-head button{background:none;border:0;color:#155bd5;cursor:pointer;font-size:12px}
.notification-menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:#f5f9ff;border:0;border-radius:8px;padding:12px 9px;margin-top:6px;cursor:pointer}
.notification-menu-item.is-read{background:#fff}
.notification-menu-item strong,.notification-menu-item small{display:block}
.notification-menu-item strong{font-size:13px;color:#193f6c}
.notification-menu-item small{margin-top:4px;font-size:12px;color:#607790;line-height:1.4}
.notification-indicator{width:8px;height:8px;flex-shrink:0;border-radius:50%;margin-top:4px;background:#e6a22b}
.notification-indicator.danger{background:#dc4545}.notification-indicator.success{background:#19a576}
.notification-empty{padding:14px;color:#607790;font-size:13px}

/* Subscription TEST controls belong in settings, not above the dashboard. */
.billing-settings-panel{margin:18px 28px;padding:22px;border:1px solid #c7dafa;border-radius:16px;background:#fff;color:#12365f;box-shadow:0 6px 24px rgba(25,72,130,.055)}
.billing-settings-panel[hidden]{display:none!important}
.billing-settings-panel strong{font-size:17px}
.billing-settings-panel p{margin:10px 0 16px;color:#59728e}
.billing-settings-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.billing-settings-actions select,.billing-settings-actions button{min-height:42px;padding:10px 14px;border:1px solid #b9d2ef;border-radius:9px;background:#fff;color:#12365f;font:inherit}
.billing-settings-actions button{background:#086bd0;border-color:#086bd0;color:#fff;font-weight:700;cursor:pointer}
.billing-settings-actions button:disabled{opacity:.5;cursor:not-allowed}
.billing-settings-panel small{color:#6b819d}
@media(max-width:700px){.billing-settings-panel{margin:12px;padding:16px}.billing-settings-actions>*{flex:1 1 140px}}

.form-error.form-success{background:#eaf8ef;color:#176c3c;border:1px solid #a6dfb9;font-weight:650}
