.auth{max-width:520px;margin:36px auto}header{gap:20px}header>div:last-child{text-align:right;overflow-wrap:anywhere}.price{font-size:25px;font-weight:750;color:#087f72}button:disabled{opacity:.6;cursor:wait}.card{overflow-wrap:anywhere}input,select,textarea{min-width:0}#nav a{max-width:100%}#auth button{width:100%}small{line-height:1.5}button:focus-visible,a:focus-visible{outline:3px solid #eaa941;outline-offset:3px}@media(max-width:600px){header{padding:22px 18px}nav{padding:14px;gap:7px}nav button,nav a{padding:10px 12px;font-size:13px}.auth{margin:20px auto}header>div:last-child{max-width:45%;font-size:13px}h2{font-size:22px}}
.client-public{background:#f7f5f3;color:#272a2e}.client-public header{background:#fff;border-bottom:1px solid #eadfdb;padding:20px max(24px,calc((100vw - 1000px)/2));min-height:110px;color:#29282b}.client-public header .brand-service{font-size:14px;text-align:right;line-height:1.6}.client-public header small{color:#766d69}.brand-logo{width:220px;height:85px;overflow:hidden;flex-shrink:0;position:relative;border-radius:6px}.brand-logo img{position:absolute;width:510px;max-width:none;left:-197px;top:-35px}.client-public main{max-width:1000px;padding-top:28px}.client-public main>.banner{background:#eee9e5;border:0;color:#665b55;font-size:12px;line-height:1.6}.client-public #app>h2{font-size:clamp(30px,5vw,46px);letter-spacing:-1.4px;margin:34px 0 10px;line-height:1.15}.client-public #app>.muted{font-size:17px;line-height:1.65;max-width:620px;color:#746b65}.client-public .journey{display:flex;gap:24px;padding:22px 0;color:#756b65;font-size:13px}.journey b{color:#b42527;padding-right:6px}.client-public .card{border-color:#e7ded8;box-shadow:0 12px 40px #44251c08;border-radius:20px;padding:32px}.client-public .section-title{display:flex;align-items:center;gap:12px}.section-title>span{background:#fae9e6;border-radius:10px;color:#a72024;padding:9px;font-weight:700}.client-public h3{font-size:20px}.client-public label{font-size:14px;margin-top:23px}.client-public input,.client-public select,.client-public textarea{border-color:#d9cfca;padding:14px;border-radius:10px;font-size:16px}.client-public textarea{min-height:120px}.client-public button{background:#b42527;font-weight:650;min-height:48px}.client-public button.secondary{background:#f0e9e5;color:#713b37}.client-public button:hover{filter:brightness(.94)}.client-public input:focus,.client-public select:focus,.client-public textarea:focus{outline:2px solid #b42527;outline-offset:2px}.client-public #questions{border-left:3px solid #ecd4cc;padding-left:18px}.client-public #questions:empty{display:none}.client-public input[type=checkbox]{accent-color:#b42527;min-width:18px;min-height:18px;vertical-align:middle}.client-public #client>label:has([type=checkbox]){font-weight:400;line-height:1.7}.client-public .client-note{font-size:12px;color:#786c65;line-height:1.65}.client-public .price{color:#a62025}.client-public footer{line-height:1.9}.review-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:600px){.client-public header{padding:16px;gap:8px}.client-public header .brand-service{font-size:11px}.brand-logo{width:170px;height:74px}.brand-logo img{width:425px;left:-165px;top:-27px}.client-public main{padding:18px}.client-public .card{padding:20px}.client-public .journey{gap:10px;font-size:11px;justify-content:space-between}.client-public #client>button,.review-actions button{width:100%}}@media print{.client-public .card{box-shadow:none}.client-public .journey{display:none}.client-public .price{color:#222}}
.section-title>span{flex:0 0 38px;white-space:nowrap;text-align:center}.section-title h3{line-height:1.35}

/* Original logo from volta-electricite.ch, displayed without cropping. */
.client-public .brand-logo{width:200px;height:86px;overflow:visible;border-radius:0}.client-public .brand-logo img{position:static;display:block;width:100%;height:100%;object-fit:contain;max-width:100%}@media(max-width:600px){.client-public .brand-logo{width:165px;height:71px}}

/* Requests become readable stacked cards on phones, rather than squeezed columns. */
@media screen and (max-width:700px){
 .request-list{padding:0!important;border:0;background:transparent;box-shadow:none;overflow:visible}
 .request-list table,.request-list tbody{display:block;width:100%}
 .request-list thead{display:none}
 .request-list tr{display:block;background:white;border:1px solid #dde6e8;border-radius:15px;padding:18px;margin:16px 0}
 .request-list td{display:block;padding:8px 0;border:0;overflow-wrap:break-word;word-break:normal;line-height:1.5}
 .request-list td[data-label]::before{content:attr(data-label);display:block;color:#667c85;font-size:12px;font-weight:600;margin-bottom:3px}
 .request-list td:first-child b{font-size:18px}
 .request-list td:last-child{padding-top:14px}
 .request-list td:last-child button{width:100%;white-space:nowrap;min-height:46px}
 .request-list .tag{display:inline-block;white-space:normal;overflow-wrap:normal}
 #app>.grid{gap:10px;grid-template-columns:minmax(0,1fr)}
 #app>.grid>.card{margin:4px 0}
 #app>.row input,#app>.row select{min-width:0!important;max-width:100%}
}
@media screen and (max-width:700px){#app>.row input,#app>.row select{flex:1 1 100%!important;width:100%}}

/* Business dashboard: native SVG, no external chart dependency. */
.stats-dashboard{margin:24px 0 30px}.stats-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.stats-heading h2{margin:7px 0;font-size:27px;letter-spacing:-.7px}.stats-heading p{margin:6px 0}.stats-eyebrow{font-size:11px;font-weight:750;letter-spacing:1.5px;color:#087f72}.stats-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:18px}.stats-layout .card{margin:0;overflow-wrap:normal;min-width:0}.stats-chart{padding:24px!important}.stats-chart h3{margin:0 0 15px}.stats-chart-body{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.stats-donut{position:relative;width:210px;max-width:100%;flex:0 0 210px}.stats-donut svg{display:block;width:100%}.stats-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.stats-center strong{font-size:36px;letter-spacing:-1px}.stats-center span{font-size:13px;color:#617581}.stats-legend{list-style:none;padding:0;margin:0;flex:1;min-width:180px}.stats-legend li{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f5;font-size:14px}.stats-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stats-legend strong{margin-left:auto;text-align:right;font-size:20px;white-space:nowrap}.stats-legend small{display:block;font-size:12px;color:#617581;font-weight:400}.stats-note{font-size:12px;line-height:1.6;color:#617581;margin:20px 0 0}.stats-kpis{display:grid;gap:12px}.stats-kpi{display:flex;flex-direction:column;gap:7px;padding:19px 22px!important}.stats-kpi>span{font-size:13px;font-weight:650;color:#526b77}.stats-kpi>strong{font-size:32px;line-height:1.15}.stats-kpi em{font-size:17px;font-style:normal;color:#617581;font-weight:500}.stats-kpi small{color:#617581;font-size:12px}.stats-success{background:#edf8f5;border-color:#bee1d7}.stats-success>strong{color:#087f72}.stats-kpi progress{width:100%;height:7px;accent-color:#087f72;border:0}.stats-kpi progress::-webkit-progress-bar{background:#e8eef2;border-radius:8px}.stats-kpi progress::-webkit-progress-value{background:#087f72;border-radius:8px}@media(max-width:850px){.stats-layout{grid-template-columns:minmax(0,1fr)}.stats-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.stats-heading h2{font-size:24px}.stats-heading button{width:100%}.stats-chart{padding:20px!important}.stats-chart-body{flex-direction:column;gap:8px}.stats-donut{flex-basis:auto;width:200px}.stats-legend{width:100%;min-width:0}.stats-kpis{grid-template-columns:minmax(0,1fr)}.stats-kpi{gap:6px}.stats-dashboard{margin-top:18px}}@media print{.stats-layout{break-inside:avoid}.stats-donut{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.stats-kpi>.stats-money{font-size:clamp(22px,3vw,30px);overflow-wrap:anywhere}.stats-money em{display:block;margin-top:5px}@media(min-width:601px) and (max-width:850px){.stats-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Refined business workspace: destinations above, work below. */
.business{background:#f4f7f8;color:#19343c;--ink:#19343c;--accent:#087f72;--line:#dce7e8}
.business header{padding:24px max(24px,calc((100vw - 1152px)/2));background:linear-gradient(115deg,#143c42,#205650);align-items:center}
.business header h1{font-size:30px;letter-spacing:-1.2px}.business header small{font-size:12px}.business #companyName{font-weight:650}
.business #nav{position:sticky;top:0;z-index:20;padding:12px max(24px,calc((100vw - 1152px)/2));display:flex;gap:10px;background:#ffffffed;backdrop-filter:blur(16px);box-shadow:0 4px 20px #19343c06}
.business #nav:empty{display:none}.nav-primary,.nav-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.nav-actions{margin-left:auto}
.business #nav button,.business #nav a{font-size:13px;padding:11px 13px;min-height:44px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.business #nav .secondary{background:transparent;color:#526b73}.business #nav .active{background:#e3f3ed;color:#076859;box-shadow:inset 0 -2px #087f72}
.nav-icon{font-size:18px;line-height:1}.business #nav a{background:#193f43}.business #logout{color:#8b4d52!important}
.business main{padding-top:22px}.business main>.banner{background:transparent;border:0;border-left:3px solid #b7cdce;border-radius:0;padding:4px 12px;color:#647c83;font-size:12px;margin:0 0 25px;line-height:1.6}
.business h2{font-size:28px;letter-spacing:-.8px;line-height:1.2}.business h3{letter-spacing:-.3px}.business .muted{line-height:1.65}
.business .card{border-radius:18px;box-shadow:0 5px 22px #19343c04;border-color:var(--line)}
.business .request-summary{gap:12px;margin-bottom:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.business .request-summary .card{margin:0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:none;background:#edf3f3}
.business .request-summary small{font-weight:600;color:#526b73}.business .request-summary .metric{font-size:26px}
.business .request-list{padding:10px 22px}.business th{padding-top:18px;padding-bottom:18px;letter-spacing:.6px;font-size:11px}.business td{padding-top:20px;padding-bottom:20px;line-height:1.5}
.business tbody tr:last-child td{border-bottom:0}.business .tag{font-weight:600;line-height:1.5}.business .empty-state{text-align:center;padding:46px 18px}.empty-state>span{display:inline-grid;place-items:center;font-size:30px;color:#087f72;background:#eaf5f1;width:60px;height:60px;border-radius:18px}.empty-state p{max-width:440px;margin:12px auto}
.business input,.business select,.business textarea{border-color:#c7d7d9;border-radius:10px;min-height:46px}.business input[type=checkbox]{min-height:auto;accent-color:var(--accent)}
button,.button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;color:inherit}
button,.button{color:white}.business button,.business .button{font-weight:600;min-height:44px}.business button:active:not(:disabled),.business .button:active{transform:scale(.975)}
.business input:focus,.business select:focus,.business textarea:focus{outline:2px solid #087f72;outline-offset:2px;border-color:#087f72;box-shadow:0 0 0 5px #087f7210}
.business button:focus-visible,.business a:focus-visible{outline:3px solid #d9912d;outline-offset:3px}.business .stats-dashboard{margin-top:0}.business .stats-success{background:linear-gradient(120deg,#e7f6ef,#f3faf7)}
.business footer{margin-top:30px;border-top:1px solid var(--line);line-height:1.7}.business .timeline p{padding:6px 0}.business button:disabled{transform:none;box-shadow:none}
@media(hover:hover){.business button:hover:not(:disabled),.business .button:hover{transform:translateY(-1px);box-shadow:0 5px 12px #153b4015}.business button.secondary:hover,.business #nav .secondary:hover{background:#e5eeef}.business #nav .active:hover{background:#d2ece2}.business tbody tr:hover{background:#f5faf8}.business input:hover,.business textarea:hover,.business select:hover{border-color:#8eaeae}}
@media(max-width:1100px){.business #nav{padding:10px 20px}.nav-actions{margin-left:0;width:100%;border-top:1px solid #edf2f3;padding-top:8px}.business #nav .nav-actions button,.business #nav .nav-actions a{font-size:12px;min-height:36px;padding:8px 12px}}
@media(max-width:700px){.business header{padding:18px}.business header h1{font-size:26px}.business #nav{padding:8px 12px;gap:6px}.nav-primary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%}.business #nav .nav-primary button{flex-direction:column;gap:4px;padding:8px 2px;font-size:10px;border-radius:9px;min-width:0}.nav-actions{justify-content:space-between;gap:4px;padding-top:6px}.business #nav .nav-actions button,.business #nav .nav-actions a{font-size:11px;padding:7px 8px}.business main{padding:18px 15px}.business h2{font-size:25px}.business .request-summary{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.business .request-summary .card{padding:12px 9px;flex-direction:column;align-items:start;gap:6px;border-radius:12px}.business .request-summary small{font-size:11px;line-height:1.4}.business .request-summary .metric{font-size:24px}.business .request-list tr{box-shadow:0 4px 18px #153b4006;padding:16px 18px}.business .request-list td{padding:7px 0}.business .row h2{width:100%;margin:10px 0}.business .grid{min-width:0}.business .empty-state{padding:28px 14px}.business .stats-kpi{padding:20px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.business #app{transform:none!important;opacity:1!important}.business .card{box-shadow:none;background:white}.business main{padding:0}}
.configuration-tabs{margin-bottom:26px}.configuration-tabs h2{margin:6px 0 18px}.configuration-switch{display:inline-flex;gap:5px;padding:5px;border:1px solid #dae5e6;background:#eaf0f1;border-radius:13px}.business .configuration-switch button{background:transparent;color:#526b73;font-size:13px}.business .configuration-switch .active{background:white;color:#076859;box-shadow:0 2px 6px #19343c12}.configuration-tabs~.row h2,.configuration-tabs+h2{font-size:23px}
.material-toolbar{margin-bottom:14px;max-width:450px}.material-toolbar label{margin-top:0}.material-toolbar p{font-size:12px;margin:8px 0}.business .material-row{display:grid;grid-template-columns:minmax(150px,2.5fr) minmax(90px,1fr) minmax(110px,1fr) auto;gap:14px;align-items:center;border:0;border-bottom:1px solid #e0e8e9;border-radius:0;box-shadow:none;margin:0;padding:12px 0;background:transparent}.business .material-row[hidden]{display:none}.material-field{min-width:0}.material-field label{font-size:11px;color:#60777e;margin:0;font-weight:500}.business .material-field input,.business .material-field select{margin-top:4px;min-height:40px;padding:9px;font-size:14px}.business .material-example{font-size:12px;font-weight:400;white-space:nowrap;margin:16px 0 0}.business .material-remove{font-size:12px;min-height:38px;margin-top:16px;color:#97494c;background:#f8eeee}.business #materialRows{margin-bottom:22px}.business #materialRows:empty::after{content:'Aucun article. Ajoutez votre premier élément ci-dessous.';display:block;padding:24px 0;color:#647c83}
@media(max-width:700px){.nav-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.business #nav .nav-primary button{font-size:11px}.configuration-switch{display:flex}.business .configuration-switch button{flex:1;font-size:12px;padding:10px 8px}.business .material-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding:14px 0}.material-field:first-child{grid-column:1/-1}.business .material-example{margin:0;white-space:normal}.business .material-remove{margin:0;justify-self:end}.business #materialForm{padding:16px}.business .material-field input,.business .material-field select{font-size:16px}.business #materialForm>button{margin-bottom:8px}}
.business footer:empty{display:none}

/* Volta red identity, shared with the public client journey. */
.business{background:#f8f6f5;color:#302a2b;--ink:#302a2b;--accent:#b42527;--line:#e9dfdc}
.business header{background:linear-gradient(115deg,#681c23,#a82229);color:white}.business header small{color:#f1c9c9}
.business #nav{background:#fffdfcf2;border-color:#e9dfdc;box-shadow:0 4px 20px #681c2306}
.business #nav .secondary{color:#796765}.business #nav .active{background:#fbe9e6;color:#a02025;box-shadow:inset 0 -2px #b42527}.business #nav a{background:#b42527}
.business button,.business .button{background:#b42527;color:white}.business button.secondary{background:#f2e9e6;color:#7d3937}
.business main>.banner{border-left-color:#d9bfba;color:#806f69}.business .muted,.business small,.business footer{color:#7d6e69}
.business .request-summary .card{background:#f1eae7;border-color:#e5d9d5}.business .request-summary small{color:#78605b}.business .metric,.business .price{color:#b42527}
.business th{color:#806c67}.business td,.business th{border-color:#eee4e0}.business .tag{background:#f9e9e5;color:#963335}
.business input,.business select,.business textarea{color:#302a2b;border-color:#dcccc6}.business input:focus,.business select:focus,.business textarea:focus{outline-color:#b42527;border-color:#b42527;box-shadow:0 0 0 5px #b4252710}
.business .stats-eyebrow{color:#aa2428}.business .stats-success{background:linear-gradient(120deg,#fbe7e3,#fff7f3);border-color:#edccc5}.business .stats-success>strong{color:#aa2428}.business .stats-kpi>span{color:#7c5e59}.business .stats-kpi small,.business .stats-kpi em,.business .stats-center span,.business .stats-legend small,.business .stats-note{color:#7d6e69}
.business .stats-kpi progress{accent-color:#b42527}.business .stats-kpi progress::-webkit-progress-value{background:#b42527}.business .stats-kpi progress::-webkit-progress-bar{background:#f0e3de}
.business .configuration-switch{background:#f1e9e6;border-color:#e6d8d2}.business .configuration-switch button{background:transparent;color:#7d625b}.business .configuration-switch .active{background:white;color:#aa2428;box-shadow:0 2px 6px #68231c12}
.business .empty-state>span{color:#b42527;background:#fbeae5}.business .timeline{border-color:#db9a90}.business .material-row{border-color:#ecdfda}.business .material-field label{color:#7d6e69}.business .material-remove{color:#97494c;background:#f8eeee}
@media(hover:hover){.business button:hover:not(:disabled),.business .button:hover{box-shadow:0 5px 12px #8b28231a;filter:brightness(.97)}.business button.secondary:hover,.business #nav .secondary:hover{background:#f3e4de}.business #nav .active:hover{background:#f7d9d1}.business tbody tr:hover{background:#fff7f3}.business input:hover,.business textarea:hover,.business select:hover{border-color:#bd9690}}
@media(max-width:700px){.business #app>.request-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.business #app>.request-summary>.card{margin:0}.business .request-list td[data-label]::before{color:#806c67}}
@media(min-width:701px){.business .material-row:not(:first-child) .material-field label{font-size:0}.business .material-row:not(:first-child) .material-example,.business .material-row:not(:first-child) .material-remove{margin-top:0}.business .material-row:not(:first-child){padding:8px 0}.business .material-row:not(:first-child) .material-field input,.business .material-row:not(:first-child) .material-field select{margin-top:0}}
/* Official Volta logo, identical to the client page, without cropping. */
.business header{background:#fff;color:#793337;border-bottom:1px solid #eadfdb}.business header small{color:#806c67}.business header .brand-logo{width:200px;height:86px;overflow:visible;border-radius:0}.business header .brand-logo img{position:static;display:block;width:100%;height:100%;object-fit:contain;max-width:100%}@media(max-width:600px){.business header .brand-logo{width:165px;height:71px}}
/* Company name already appears in the logo; keep the workspace label only. */
.business header #companyName,.business header #companyName+br{display:none}

/* Dense request list: more dossiers visible without sacrificing touch targets. */
.business .request-list{padding:4px 16px;border-radius:12px}
.business .request-list th{padding:10px 8px;font-size:10px}
.business .request-list td{padding:8px;font-size:13px;line-height:1.35}
.business .request-list td small{font-size:11px}
.business .request-list td button{padding:7px 12px;min-height:36px;font-size:12px}
.business .request-list .tag{font-size:11px;padding:4px 8px}
@media(max-width:700px){
 .business .request-list tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px;margin:8px 0;border-radius:11px}
 .business .request-list td{padding:0;min-width:0;font-size:12px;line-height:1.4}
 .business .request-list td[data-label]::before{display:none}
 .business .request-list td:first-child{grid-column:1;grid-row:1}
 .business .request-list td:first-child b{font-size:14px}
 .business .request-list td:nth-child(2){grid-column:1;grid-row:2}
 .business .request-list td:nth-child(3){grid-column:1;grid-row:3;color:#806c67;font-size:11px}
 .business .request-list td:nth-child(4){grid-column:1;grid-row:4}
 .business .request-list td:last-child{grid-column:2;grid-row:1/5;align-self:center;padding:0}
 .business .request-list td:last-child button{min-height:44px;width:auto;padding:10px 12px}
}
.business #nav .nav-primary button{position:relative}.business .unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:#b42527;color:#fff;font-size:11px;font-weight:750;line-height:1;box-shadow:0 0 0 2px white}@media(max-width:700px){.business .unread-badge{position:absolute;top:1px;right:5px;min-width:17px;height:17px;font-size:10px;padding:0 4px}}
/* Smartphone-style notification badge. */
.business #nav .unread-badge{background:#188447;color:#fff;box-shadow:0 0 0 2px #fff,0 2px 5px #14532d25}
/* Workflow colors retain explicit text labels; no information relies on color alone. */
.business .request-status{border:1px solid transparent;font-weight:650}
.business .request-status[data-status="Nouvelle"]{background:#e4efff;color:#204d91;border-color:#bfd5f5}
.business .request-status[data-status="À contacter"]{background:#fff0d8;color:#855008;border-color:#f2d29b}
.business .request-status[data-status="En discussion"]{background:#eee7fc;color:#674199;border-color:#d8c7ef}
.business .request-status[data-status="Visite prévue"]{background:#dff3f7;color:#176271;border-color:#b5dfe6}
.business .request-status[data-status="Devis envoyé par l’entreprise"]{background:#e8eafa;color:#454b95;border-color:#cbd0ed}
.business .request-status[data-status="Gagnée"]{background:#e9f3d9;color:#4d681b;border-color:#c9dfa6}
.business .request-status[data-status="Réalisée"]{background:#dff3e6;color:#17653b;border-color:#acd9bc}
.business .request-status[data-status="Perdue"]{background:#fce3e4;color:#98393e;border-color:#ecbfc2}
.business .request-status[data-status="Non réalisée"]{background:#eceef1;color:#525c6b;border-color:#d1d6de}
/* Invoice review: compact on desktop, labelled fields on mobile. */
.local-invoice-label{color:#177143;font-weight:650}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-line{display:grid;grid-template-columns:minmax(180px,3fr) repeat(4,minmax(65px,1fr)) minmax(75px,1fr) 36px;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid #ece5e5}.invoice-line label{font-size:.75rem;margin:0;min-width:0}.invoice-line input,.invoice-line select{width:100%;min-width:0;padding:8px}.invoice-remove{padding:8px!important;margin-bottom:0!important}.invoice-source{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font-size:.8rem;background:#faf7f7;padding:12px}#invoiceExtraction{margin:16px 0;padding:12px;border:1px solid #e8dddd;border-radius:10px}#invoiceExtraction summary{cursor:pointer;font-weight:600}#invoiceForm>label:has(input[type=checkbox]){display:flex;gap:10px;align-items:flex-start}#invoiceForm input[type=checkbox]{flex:none;margin-top:3px}#invoiceForm button{margin-top:10px}@media(max-width:760px){.invoice-line{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-line .invoice-description{grid-column:1/-1}.invoice-remove{justify-self:end}.invoice-meta{grid-template-columns:1fr 1fr}#invoiceExtraction{padding:10px}}
.vat-settings{margin-top:12px;padding:12px 16px;background:#fff;border:1px solid #e8dddd;border-radius:10px;grid-column:1/-1;width:100%}.vat-settings summary{cursor:pointer;color:#a31f24;font-weight:650}.vat-settings form{max-width:650px}.vat-settings input{max-width:160px}.configuration-tabs:has(.vat-settings){flex-wrap:wrap}.configuration-tabs>.vat-settings{flex-basis:100%}

.stats-filters{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.stats-period-buttons{display:flex;gap:6px}.stats-filters label{margin:0;min-width:140px}.stats-filters p{flex-basis:100%;margin:0;font-size:12px}.stats-filters input{margin-top:5px}.stats-period-buttons button[aria-pressed=true]{background:#b42527;color:white}@media(max-width:600px){.stats-period-buttons{width:100%}.stats-period-buttons button{flex:1}.stats-filters label{width:100%}}

/* Compact statistics period toolbar. */
.business .stats-filters{padding:12px 16px;gap:12px;margin-bottom:24px;justify-content:space-between;box-shadow:none;background:#fff;border:1px solid #ecdfda;border-radius:14px}
.stats-period-buttons{padding:4px;gap:3px;border-radius:11px;background:#f5eeeb}
.business .stats-period-buttons button{margin:0;padding:10px 18px;min-height:40px;border:0;border-radius:8px;background:transparent;color:#806b65;box-shadow:none}
.business .stats-period-buttons button[aria-pressed=true]{background:#b42527;color:#fff;box-shadow:0 2px 6px #b4252720}
.business .stats-period-buttons button:hover{background:#ebdcd6;color:#9b2022}
.business .stats-period-buttons button[aria-pressed=true]:hover{background:#9b2022;color:#fff}
.business .stats-filters label{display:flex;align-items:center;gap:10px;font-size:12px;color:#806b65;width:auto;min-width:0}
.business .stats-filters input{margin:0;width:180px;min-width:0;min-height:40px;padding:8px 10px;border-color:#e6d9d3;background:#fff;font-size:14px}
@media(max-width:600px){.business .stats-filters{padding:10px;gap:10px}.stats-period-buttons{width:100%}.business .stats-period-buttons button{flex:1;padding:9px 12px}.business .stats-filters label{width:100%;justify-content:space-between;padding:0 4px}.business .stats-filters input{width:190px;font-size:16px}}

/* Dense statistics overview, with secondary detail available on demand. */
.stats-dashboard .stats-heading{margin-bottom:12px}.stats-dashboard h2{margin:0}.stats-dashboard .stats-layout{gap:14px}.stats-dashboard .stats-chart{padding:18px}.stats-dashboard .stats-chart h3{margin:0 0 12px}.stats-dashboard .stats-kpis{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.stats-dashboard .stats-kpi{padding:14px;min-width:0;margin:0}.stats-dashboard .stats-kpi>span{font-size:12px}.stats-dashboard .stats-kpi>strong{font-size:28px;margin:6px 0}.stats-dashboard .stats-kpi .stats-money{font-size:25px}.stats-dashboard .stats-kpi small{font-size:11px}.stats-dashboard .stats-kpi progress{margin:6px 0;height:5px}.stats-dashboard{margin-bottom:20px}
.business .stats-service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:14px 18px;margin:8px 0}.stats-service h3{font-size:15px;margin:0 0 4px}.stats-service .muted{font-size:12px}.stats-service>strong{font-size:18px;align-self:center}.stats-service>strong small{font-size:11px;font-weight:400}.stats-service details{grid-column:1/-1;font-size:12px;border-top:1px solid #eee2dc;padding-top:8px}.stats-service summary{cursor:pointer;color:#806b65}.stats-service summary b{color:#b42527;margin-left:8px}.stats-service details p{line-height:1.8;margin:8px 0 0}
@media(max-width:700px){.stats-dashboard .stats-layout{display:flex;flex-direction:column;gap:10px}.stats-dashboard .stats-chart-body{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center}.stats-dashboard .stats-donut{width:110px;height:110px;max-width:100%;margin:0}.stats-dashboard .stats-center strong{font-size:26px}.stats-dashboard .stats-center span{font-size:10px}.stats-dashboard .stats-legend{width:auto;min-width:0;margin:0;padding:0}.stats-dashboard .stats-legend li{gap:6px;padding:7px 0;font-size:11px}.stats-dashboard .stats-legend strong{font-size:14px}.stats-dashboard .stats-legend small{font-size:10px}.stats-dashboard .stats-dot{width:7px;height:7px}.stats-dashboard .stats-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.stats-dashboard .stats-chart{padding:14px;margin:0}.stats-dashboard .stats-kpi{padding:12px}.stats-dashboard .stats-kpi .stats-money{font-size:22px}.stats-dashboard .stats-money em{font-size:10px}.business .stats-service{padding:12px;gap:8px}.stats-service>strong{font-size:15px}.stats-service>strong small{display:block;text-align:right}.stats-service h3{font-size:14px}.stats-service .muted{font-size:11px}}

.client-public .journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:20px 0;padding:0}.client-public .journey li{display:flex;align-items:center;gap:10px;padding:13px 12px;border:1px solid #e7ded8;border-radius:12px;background:#f0ece9;color:#827872;font-size:13px;min-width:0}.client-public .journey b{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border-radius:9px;background:#e5deda;color:#81736c;font-size:12px}.client-public .journey .current{background:#fff3f0;border-color:#cf7770;color:#9e2024;font-weight:650}.client-public .journey .current b{background:#b42527;color:#fff}.client-public .journey .complete{background:#fff;color:#9e2024}.client-public .journey .complete b{background:#f5ded8;color:#9e2024}.client-public .section-title{border-left:3px solid #b42527;padding-left:12px;margin:0 0 16px}.client-public .section-title h3{margin:0;font-size:20px}.client-public .contact-title{margin-top:28px}.client-public .journey li{transition:background .18s,border-color .18s}@media(max-width:600px){.client-public .journey{gap:6px;margin:18px 0}.client-public .journey li{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 8px;font-size:11px;line-height:1.4}.client-public .journey b{width:28px;height:28px}.client-public .section-title h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.client-public .journey li{transition:none}}

/* Branding belongs to the receipt, not the site header hidden by print rules. */
.client-receipt{position:relative}.receipt-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0 20px;border-bottom:2px solid #b42527}.receipt-logo{display:block;width:185px;height:80px;object-fit:contain}.receipt-brand>div{text-align:right}.receipt-brand span{font-size:10px;letter-spacing:1.2px;color:#796c68}.receipt-brand h2{font-size:20px;margin:8px 0 0;overflow-wrap:anywhere}.receipt-watermark{display:none}.receipt-content h3{break-after:avoid}.receipt-content p,.receipt-content .photo{break-inside:avoid}
@media(max-width:600px){.receipt-brand{gap:14px}.receipt-logo{width:130px;height:57px}.receipt-brand h2{font-size:16px}.receipt-brand span{font-size:9px;letter-spacing:.5px}}
@media print{@page{margin:16mm}.client-public:has(.client-receipt){background:#fff;color:#252525}.client-public:has(.client-receipt) main{max-width:none;padding:0}.receipt-brand{break-inside:avoid;break-after:avoid;padding:0 0 6mm;margin-bottom:6mm}.receipt-logo{width:48mm;height:21mm}.receipt-brand h2{font-size:16pt}.client-public .receipt-content{position:relative;z-index:1;background:transparent;padding:0;margin:0;border:0;border-radius:0}.receipt-content h3{font-size:13pt}.receipt-content p{font-size:10pt;line-height:1.5}.receipt-watermark{display:block;position:fixed;inset:-16mm;width:calc(100% + 32mm);height:calc(100% + 32mm);overflow:hidden;z-index:0;pointer-events:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-watermark svg{display:block;width:100%;height:100%}.receipt-brand{position:relative;z-index:1}}



.business button.delete-request{color:#a42225;border-color:#e9bfc0;background:#fff}.business button.delete-request:hover{background:#fff0f0;border-color:#b42527}
.delete-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #eedcda;border-radius:18px;padding:26px;color:#302724;background:#fff;box-shadow:0 24px 80px #30140e33}.delete-dialog::backdrop{background:#21120d66}.delete-dialog h2{font-size:22px;margin:0 0 12px}.delete-dialog p{line-height:1.5}.delete-reference{font-weight:600;overflow-wrap:anywhere}.delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.delete-actions button{min-height:44px}.delete-success{padding:12px 16px;background:#edf8f1;border-radius:10px;color:#20643d}
@media(max-width:480px){.delete-dialog{padding:20px}.delete-actions{flex-direction:column-reverse}.delete-actions button{width:100%}}

/* Guided price configuration */
.guided-section { margin-block: 22px; padding-block: 16px; border-top: 1px solid #eadcde; }
.question-card { padding: 14px; margin: 10px 0; border: 1px solid #eadcde; border-radius: 12px; background: #fff; }
.question-card textarea { min-height: 70px; }
.rule-summary { margin: 0 0 12px; padding: 12px; background: #fff1f2; color: #881b2b; border-radius: 9px; font-weight: 650; overflow-wrap: anywhere; }
.rule-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; }
.rule-fields label { min-width: 0; }
.rule-fields select { width: 100%; min-width: 0; }
.pricing-advanced { margin: 16px 0; padding: 12px; border: 1px solid #eadcde; border-radius: 10px; }
.pricing-advanced summary { cursor: pointer; color: #881b2b; font-weight: 600; }
@media(max-width:600px) { .rule-fields { grid-template-columns: 1fr; } .guided-section .bill-row { padding: 12px; } }
.guided-section [hidden] { display: none !important; }

.business .stats-completed{background:linear-gradient(120deg,#e7f6ef,#f3faf7);border-color:#bee1d7}.business .stats-completed>strong{color:#16834a}

.price-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px}.price-feedback h2{font-size:20px;margin:0 0 4px}.price-feedback-value{font-size:30px;color:#b42527;align-self:center}.price-feedback p,.price-feedback small{grid-column:1/-1;margin:0}.price-feedback small{color:#7d6e69}.service-breakdown>summary{cursor:pointer;font-weight:650;padding:12px 0}.price-feedback .muted{font-size:12px}

.improvement-point{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px!important}.improvement-point>div:first-child{min-width:0;flex:1}.improvement-point p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 6px}.point-actions{display:flex;gap:6px;flex-wrap:wrap}.point-actions button{min-width:44px;min-height:44px;padding:8px}.business .point-approve{background:#e7f6ef;color:#16834a}.business .point-reject{background:#fbe7e3;color:#b42527}.business .point-approve[aria-pressed=true]{background:#16834a;color:white}.business .point-reject[aria-pressed=true]{background:#b42527;color:white}#pointForm button{margin-top:12px}@media(max-width:600px){.improvement-point{align-items:flex-start;flex-direction:column}.business .nav-primary{overflow-x:auto;justify-content:flex-start}.business .nav-primary>button{flex-shrink:0}}
/* Compact improvement register, including phones. */
.business .improvement-point{flex-direction:row;align-items:center;padding:7px 10px!important;margin:5px 0;gap:8px;border-radius:9px}.improvement-point p{margin:0;font-size:13px;line-height:1.35}.improvement-point small{font-size:10px}.point-actions{flex-wrap:nowrap;flex-shrink:0;gap:4px}.point-actions button{min-width:32px;min-height:32px;width:32px;height:32px;padding:4px;border-radius:6px}#pointForm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;margin:12px 0}#pointForm label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#pointForm textarea{flex:1;min-width:100px;min-height:38px;height:38px;padding:8px;font-size:13px}#pointForm button{margin:0;padding:9px 12px;font-size:13px}#pointError:empty{display:none}#pointError{flex-basis:100%;margin:0}

.point-complete{width:20px!important;height:20px;accent-color:#16834a;cursor:pointer;margin:6px}

/* Dense dashboard: one financial headline, four compact indicators. */
.business .stats-dashboard{margin-bottom:14px}
.business .stats-dashboard .stats-heading{margin-bottom:10px}
.business .stats-dashboard h2{font-size:19px}
.business .stats-dashboard .stats-layout{display:grid;grid-template-columns:minmax(270px,1fr) minmax(300px,1.3fr);gap:12px;align-items:stretch}
.business .stats-dashboard .stats-chart{padding:16px;margin:0;box-shadow:none;border-radius:14px}
.business .stats-dashboard .stats-chart h3{font-size:13px;margin:0 0 10px}
.business .stats-dashboard .stats-chart-body{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center}
.business .stats-dashboard .stats-donut{width:120px;height:120px;margin:0}
.business .stats-dashboard .stats-center strong{font-size:26px}
.business .stats-dashboard .stats-center span{font-size:10px}
.business .stats-dashboard .stats-legend{padding:0;margin:0;min-width:0}
.business .stats-dashboard .stats-legend li{padding:8px 0;gap:6px;font-size:12px}
.business .stats-dashboard .stats-legend strong{font-size:14px}
.business .stats-dashboard .stats-legend small{font-size:10px}
.business .stats-dashboard .stats-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border:1px solid #ecdfda;border-radius:14px;overflow:hidden}
.business .stats-dashboard .stats-kpi{padding:10px 14px!important;border:0;border-radius:0;box-shadow:none;background:transparent;margin:0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.business .stats-dashboard .stats-kpi>span{font-size:12px;line-height:1.35;color:#746660}
.business .stats-dashboard .stats-kpi>strong{font-size:23px;line-height:1.15;margin:0;font-variant-numeric:tabular-nums}
.business .stats-dashboard .stats-kpi em{font-size:11px;font-style:normal;font-weight:500}
.business .stats-dashboard .stats-kpi small{font-size:10px;line-height:1.35}
.business .stats-dashboard .stats-kpi:nth-child(n+2){border-top:1px solid #f0e8e4}
.business .stats-dashboard .stats-kpi:nth-child(odd):not(:first-child){border-left:1px solid #f0e8e4}
.business .stats-dashboard .stats-billed{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;background:#fff6f3}
.business .stats-dashboard .stats-billed .stats-money{font-size:24px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:4px 7px}
.business .stats-dashboard .stats-kpi progress{height:3px;margin:2px 0 0;width:100%}
.business .stats-filters{margin-bottom:14px;padding:8px 10px}
.business .price-feedback{padding:14px 16px;margin:0 0 8px;gap:5px 12px;box-shadow:none}
.business .price-feedback h2{font-size:16px}
.business .price-feedback-value{font-size:25px}
.business .price-feedback p{font-size:12px;line-height:1.5}
.business .price-feedback small{font-size:10px;line-height:1.5}
.business .service-breakdown>summary{font-size:13px}
@media(max-width:800px){
.business .stats-dashboard .stats-layout{grid-template-columns:minmax(0,1fr)}
.business .stats-dashboard .stats-chart{padding:12px 14px}
.business .stats-dashboard .stats-chart-body{grid-template-columns:100px minmax(0,1fr);gap:18px}
.business .stats-dashboard .stats-donut{width:100px;height:100px}
.business .stats-dashboard .stats-chart h3{margin-bottom:4px}
.business .stats-dashboard .stats-kpi{padding:9px 12px!important}
.business .stats-dashboard .stats-billed .stats-money{font-size:22px}
}

/* Compact acquisition indicators, only in Statistics. */
.business .traffic-stats{padding:12px 14px;margin:12px 0}
.business .traffic-stats>.row{gap:8px;align-items:center;justify-content:space-between}
.business .traffic-stats>.row h2{font-size:16px;margin:0;width:auto}
.business .traffic-stats button{padding:6px 9px;font-size:11px;min-height:30px}
.business .traffic-stats>.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 6px}
.business .traffic-stats>.grid>div{font-size:11px;line-height:1.3;padding:7px 9px;background:#f7f2f0;border-radius:7px}
.business .traffic-stats .metric{display:block;font-size:22px;line-height:1.1;margin-bottom:3px}
.business .traffic-stats p{font-size:11px;line-height:1.4;margin:6px 0}
.business .traffic-stats details{font-size:11px;margin-top:6px}
@media(max-width:600px){.business .traffic-stats>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.business .traffic-stats>.row h2{font-size:14px}.business .traffic-stats .metric{font-size:20px}}
