/* RR Commercial – Devis Pro */
:root{--rrc-ink:#111;--rrc-muted:#666;--rrc-line:#e3e3e3;--rrc-bg:#fff;--rrc-soft:#f6f6f4;--rrc-accent:#ffd400;--rrc-err:#b42318;--rrc-ok:#067647}
.rrc-btn{display:inline-flex;align-items:center;gap:6px;background:var(--rrc-ink);color:#fff!important;border:1px solid var(--rrc-ink);border-radius:2px;padding:10px 16px;font-size:13px;letter-spacing:.06em;font-weight:600;text-decoration:none!important;cursor:pointer;line-height:1.2;transition:background .15s,color .15s}
.rrc-btn:hover{background:#333}
.rrc-btn-ghost{background:transparent;color:var(--rrc-ink)!important}
.rrc-btn-ghost:hover{background:var(--rrc-ink);color:#fff!important}
.rrc-btn[disabled],.rrc-btn.is-busy{opacity:.55;pointer-events:none}
.rrc-add-wrap{margin:12px 0}
.rrc-add-single{width:100%;justify-content:center;padding:13px 18px}
.rrc-add-card{margin-top:6px;width:100%;background:transparent;border:1px solid var(--rrc-ink);color:var(--rrc-ink);font-size:11px;letter-spacing:.08em;padding:7px 8px;cursor:pointer;border-radius:2px;font-weight:600}
.rrc-add-card:hover{background:var(--rrc-ink);color:#fff}
.rrc-add-card.is-busy{opacity:.5}

/* Module flottant – angle gauche */
.rrc-float{position:fixed;left:18px;bottom:18px;z-index:9990;font-family:inherit}
.rrc-float-in{display:grid;grid-template-columns:auto auto;gap:2px 18px;align-items:center;background:rgba(10,10,10,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff!important;text-decoration:none!important;padding:14px 18px;border-radius:3px;box-shadow:0 8px 30px rgba(0,0,0,.25);font-weight:300;min-width:230px}
.rrc-float-t{grid-column:1/3;font-size:11px;letter-spacing:.24em;font-weight:400;opacity:.85}
.rrc-float-n,.rrc-float-s{font-size:13px}
.rrc-float-n b,.rrc-float-s b{font-weight:500}
.rrc-float-b{grid-column:1/3;margin-top:8px;border-top:1px solid rgba(255,255,255,.25);padding-top:8px;font-size:11px;letter-spacing:.18em;color:var(--rrc-accent)}
.rrc-float.is-empty .rrc-float-in{opacity:.75}
.rrc-float.is-pulse .rrc-float-in{animation:rrcPulse .6s}
@keyframes rrcPulse{50%{transform:scale(1.04)}}
@media (max-width:700px){
	.rrc-float{left:12px;bottom:12px}
	.rrc-float-in{min-width:0;grid-template-columns:auto;padding:10px 14px;border-radius:30px;gap:0}
	.rrc-float-t{grid-column:auto;font-size:10px;letter-spacing:.16em}
	.rrc-float-n,.rrc-float-b{display:none}
	.rrc-float-s{font-size:12px}
}
@media print{.rrc-float{display:none}}

/* Toast */
.rrc-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#111;color:#fff;padding:12px 18px;border-radius:3px;font-size:14px;z-index:99999;opacity:0;transition:all .25s;max-width:90vw}
.rrc-toast.is-on{opacity:1;transform:translate(-50%,0)}
.rrc-toast.is-err{background:var(--rrc-err)}

/* Éditeur */
.rrc-app{max-width:1280px;margin:0 auto;color:var(--rrc-ink);font-size:14px}
.rrc-app input,.rrc-app select,.rrc-app textarea,.rrc-modal input,.rrc-modal select,.rrc-modal textarea,.rrc-profile input,.rrc-profile select,.rrc-profile textarea,.rrc-accept input{width:100%;box-sizing:border-box;border:1px solid var(--rrc-line);background:#fff;border-radius:2px;padding:8px 10px;font:inherit;font-size:14px;color:inherit}
.rrc-app textarea{resize:vertical}
.rrc-app input:focus,.rrc-app textarea:focus,.rrc-app select:focus{outline:2px solid var(--rrc-accent);outline-offset:0;border-color:#111}
.rrc-app input[disabled],.rrc-app textarea[disabled],.rrc-app select[disabled]{background:var(--rrc-soft);color:#444}
.rrc-app label{display:block;font-size:12px;color:var(--rrc-muted);margin:0 0 10px}
.rrc-app label>input,.rrc-app label>select,.rrc-app label>textarea{margin-top:4px}
.rrc-app input[type=checkbox]{width:auto;margin:0 6px 0 0}
.rrc-chk{display:flex!important;align-items:center;color:var(--rrc-ink)!important}
.rrc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;border-bottom:2px solid #111;padding-bottom:14px;margin-bottom:14px}
.rrc-head-l{flex:1 1 420px;min-width:0}
.rrc-num{font-size:22px;font-weight:700;letter-spacing:.02em}
.rrc-title{margin-top:10px;font-size:16px!important}
.rrc-head-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rrc-saving{font-size:12px;color:var(--rrc-muted);min-width:110px;text-align:right}
.rrc-saving.is-on{color:var(--rrc-ink)}
.rrc-ver{font-size:12px;color:var(--rrc-muted)}
.rrc-st{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:#eee;vertical-align:middle;font-weight:600}
.rrc-st-envoyee,.rrc-st-validee{background:#e0f2fe}.rrc-st-acceptee,.rrc-st-commande{background:#dcfce7}.rrc-st-refusee,.rrc-st-expiree{background:#fee2e2}.rrc-st-demande,.rrc-st-verification{background:#fef3c7}
.rrc-flow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.rrc-flow .rrc-note{flex-basis:100%;margin:4px 0 0}
.rrc-info{font-weight:600;padding:0 6px}
.rrc-tabs{display:flex;gap:2px;border-bottom:1px solid var(--rrc-line);overflow-x:auto;margin-bottom:16px}
.rrc-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;color:var(--rrc-muted)}
.rrc-tabs button.is-on{color:var(--rrc-ink);border-bottom-color:var(--rrc-accent)}
.rrc-body{min-height:200px}
.rrc-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.rrc-toolbar .rrc-tpl-select{width:auto!important;min-width:220px}
.rrc-menu{position:relative;display:inline-block}
.rrc-menu-list{display:none;position:absolute;left:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--rrc-line);box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:50;min-width:260px;padding:6px 0}
.rrc-head-r .rrc-menu-list{left:auto;right:0}
.rrc-menu.is-open .rrc-menu-list{display:block}
.rrc-menu-list a{display:block;padding:9px 14px;color:var(--rrc-ink)!important;text-decoration:none!important;font-size:14px}
.rrc-menu-list a:hover{background:var(--rrc-soft)}
.rrc-sec{margin-bottom:22px}
.rrc-sec h3{display:flex;align-items:baseline;gap:10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #111;padding-bottom:6px;margin:0 0 8px}
.rrc-sec h3 span{background:#111;color:#fff;padding:2px 6px;font-size:11px}
.rrc-sec h3 em{margin-left:auto;font-style:normal;letter-spacing:0;font-size:13px}
.rrc-line{display:grid;grid-template-columns:18px 70px minmax(0,1fr) auto;gap:10px 14px;padding:12px 8px;border-bottom:1px solid var(--rrc-line);align-items:start;background:#fff}
.rrc-line.is-over{box-shadow:inset 0 3px 0 var(--rrc-accent)}
.rrc-line.is-drag{opacity:.4}
.rrc-drag{cursor:grab;color:#aaa;user-select:none;padding-top:4px}
.rrc-l-img img{width:70px;height:70px;object-fit:contain;background:var(--rrc-soft)}
.rrc-l-wide{grid-column:span 2}
.rrc-l-main textarea{margin-top:6px;font-size:13px}
.rrc-l-name{font-weight:700;color:var(--rrc-ink)!important;text-decoration:none}
.rrc-l-ref{font-size:12px;color:var(--rrc-muted)}
.rrc-l-name-in{font-weight:600}
.rrc-l-title-in{font-weight:700;font-size:16px!important;text-transform:uppercase;letter-spacing:.05em}
.rrc-l-kind{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--rrc-muted)}
.rrc-line-title,.rrc-line-subtotal{background:var(--rrc-soft)}
.rrc-line-comment{background:#fffbea}
.rrc-l-nums{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}
.rrc-l-nums label{margin:0;width:92px}
.rrc-num-in{text-align:right}
.rrc-unit-in{text-align:center}
.rrc-ro{display:block;margin-top:4px;padding:8px 0;text-align:right;color:var(--rrc-ink);font-size:14px}
.rrc-l-total{min-width:110px;text-align:right;font-weight:700;padding:8px 0}
.rrc-l-tools{grid-column:3/5;display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.rrc-l-tools select{width:auto!important;font-size:12px!important;padding:4px 6px!important}
.rrc-l-tools button{background:none;border:1px solid var(--rrc-line);width:30px;height:28px;cursor:pointer;border-radius:2px}
.rrc-l-tools .rrc-del:hover{background:var(--rrc-err);color:#fff;border-color:var(--rrc-err)}
.rrc-l-tools .rrc-chk{font-size:12px;margin:0}
.rrc-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:13px}
.rrc-inline input,.rrc-inline select{width:auto!important;min-width:80px}
.rrc-totals{margin:24px 0 0 auto;max-width:420px;border-top:2px solid #111;padding-top:10px}
.rrc-totals>div{display:flex;justify-content:space-between;padding:6px 0;font-size:15px}
.rrc-totals .is-ttc{border-top:1px solid #111;font-size:18px;font-weight:700;margin-top:4px;padding-top:10px}
.rrc-totals .is-int{font-size:13px;color:var(--rrc-muted);border-top:1px dashed var(--rrc-line)}
.rrc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rrc-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rrc-app fieldset{border:1px solid var(--rrc-line);padding:14px 16px;margin:0}
.rrc-app legend{font-weight:700;padding:0 6px}
.rrc-quick{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:4px 0 16px;font-size:13px}
.rrc-quick button{border:1px solid #111;background:#fff;padding:6px 10px;cursor:pointer;border-radius:2px}
.rrc-quick button:hover{background:var(--rrc-accent)}
.rrc-note{font-size:12px;color:var(--rrc-muted);line-height:1.5}
.rrc-warn{font-size:12px;background:#fff7d6;border-left:3px solid var(--rrc-accent);padding:6px 8px;margin-top:6px}
.rrc-ok{background:#ecfdf3;border-left:3px solid var(--rrc-ok);padding:10px 12px;margin:10px 0}
.rrc-err{background:#fef3f2;border-left:3px solid var(--rrc-err);padding:10px 12px;margin:10px 0}
.rrc-empty,.rrc-box{background:var(--rrc-soft);padding:28px;text-align:center}
.rrc-table{width:100%;border-collapse:collapse;font-size:14px}
.rrc-table th,.rrc-table td{border-bottom:1px solid var(--rrc-line);padding:8px;text-align:left;vertical-align:top}
.rrc-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--rrc-muted)}
.rrc-scroll{overflow-x:auto}
.rrc-measures input{min-width:80px}
.rrc-measures button,.rrc-files button{background:none;border:1px solid var(--rrc-line);cursor:pointer;padding:3px 8px}
.rrc-files{list-style:none;padding:0}
.rrc-files li{padding:6px 0;border-bottom:1px solid var(--rrc-line)}
.rrc-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rrc-upload select,.rrc-upload input{width:auto!important}
.rrc-history{list-style:none;padding:0}
.rrc-history li{padding:6px 0;border-bottom:1px solid var(--rrc-line);font-size:13px}
.rrc-history time{color:var(--rrc-muted);margin-right:6px}
.rrc-loading{padding:40px;text-align:center;color:var(--rrc-muted)}
.rrc-danger{color:var(--rrc-err)!important}

/* Fenêtres */
.rrc-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99998;display:flex;align-items:center;justify-content:center;padding:16px}
.rrc-modal-in{background:#fff;width:min(760px,100%);max-height:90vh;display:flex;flex-direction:column;border-radius:3px}
.rrc-modal header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--rrc-line)}
.rrc-modal header h3{margin:0;font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.rrc-modal header button{background:none;border:0;font-size:18px;cursor:pointer}
.rrc-modal-body{padding:16px 18px;overflow:auto}
.rrc-modal label{display:block;font-size:12px;color:var(--rrc-muted);margin-bottom:10px}
.rrc-svc details{border-bottom:1px solid var(--rrc-line);padding:8px 0}
.rrc-svc summary{font-weight:700;cursor:pointer;padding:4px 0}
.rrc-svc ul,.rrc-texts,.rrc-results{list-style:none;padding:0;margin:6px 0}
.rrc-svc li button{background:none;border:0;padding:6px 4px;cursor:pointer;text-align:left;font:inherit;width:100%}
.rrc-svc li button:hover,.rrc-texts button:hover{background:var(--rrc-soft)}
.rrc-svc small{color:var(--rrc-muted);margin-left:6px}
.rrc-svc li{display:flex;align-items:center;gap:8px}
.rrc-custom-svc,.rrc-mytext,.rrc-send{display:grid;gap:8px;margin-top:10px}
.rrc-texts li{border-bottom:1px solid var(--rrc-line)}
.rrc-texts button{background:none;border:0;padding:10px 4px;text-align:left;cursor:pointer;font:inherit;width:100%}
.rrc-texts button strong{display:block}
.rrc-texts button span{font-size:13px;color:var(--rrc-muted)}
.rrc-texts .is-mine{background:#fffdf0}
.rrc-results li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rrc-line)}
.rrc-results img{width:48px;height:48px;object-fit:contain}
.rrc-results span{flex:1}
.rrc-results small{display:block;color:var(--rrc-muted)}

/* Liste / profil / client */
.rrc-list-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rrc-list-filter{margin:10px 0}
.rrc-list-filter select{padding:6px 8px}
.rrc-actions a{margin-right:10px;font-size:13px;white-space:nowrap}
.rrc-profile{max-width:900px}
.rrc-profile label{display:block;font-size:12px;color:var(--rrc-muted);margin-bottom:10px}
.rrc-profile input[type=color]{height:40px;padding:2px}
.rrc-profile input[type=radio]{width:auto}
.rrc-radios label{display:block;color:var(--rrc-ink);font-size:14px}
.rrc-radios .is-off{opacity:.5}
.rrc-logo-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.rrc-logo-prev{max-height:60px;max-width:200px}
.rrc-rates input{max-width:140px}
.rrc-accept{max-width:640px;margin:20px auto;background:var(--rrc-soft);padding:20px}
.rrc-accept label{display:block;margin-bottom:12px}
.rrc-accept .rrc-check{display:flex;gap:8px;align-items:flex-start}
.rrc-accept .rrc-check input{width:auto;margin-top:4px}
.rrc-client-actions{text-align:right;margin-bottom:10px}

@media (max-width:900px){
	.rrc-grid2{grid-template-columns:1fr}
	.rrc-grid4{grid-template-columns:1fr 1fr}
	.rrc-line{grid-template-columns:18px 56px minmax(0,1fr)}
	.rrc-l-img img{width:56px;height:56px}
	.rrc-l-nums{grid-column:2/4;justify-content:flex-start}
	.rrc-l-tools{grid-column:2/4;justify-content:flex-start}
	.rrc-l-wide{grid-column:2/4}
	.rrc-saving{display:none}
	.rrc-table thead{display:none}
	.rrc-list .rrc-table td{display:block;border:0;padding:3px 0}
	.rrc-list .rrc-table tr{display:block;border-bottom:1px solid var(--rrc-line);padding:10px 0}
}
@media (max-width:520px){
	.rrc-grid4{grid-template-columns:1fr}
	.rrc-l-nums label{width:calc(50% - 4px)}
	.rrc-btn{padding:9px 12px;font-size:12px}
}
