/* Gráfica Digital 1.4.1 — visual do mockup aprovado */
:root{--ink:#172029;--ink2:#26333d;--paper:#f4f1eb;--white:#fff;--line:#dfdcd5;--muted:#737a7e;--cyan:#109dbf;--magenta:#d72c7d;--yellow:#e8b934;--green:#16845b;--red:#bd4752;--shadow:0 24px 70px rgba(15,23,29,.18)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:900;text-transform:uppercase}.brand-mark{width:21px;height:21px;border:2px solid var(--cyan);border-radius:50%;position:relative}.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--cyan)}.brand-mark:before{width:2px;height:29px;left:8px;top:-6px}.brand-mark:after{height:2px;width:29px;left:-6px;top:8px}.btn{border:0;border-radius:7px;padding:12px 17px;font-weight:750;cursor:pointer}.primary{background:var(--ink);color:#fff}.primary:hover{background:#283742}.secondary{border:1px solid #d4d1ca;background:#fff;color:#5e676c}.wide{width:100%;display:flex;justify-content:space-between}.ghost{background:transparent;color:#d8dfe1;border:1px solid #47535c;padding:8px 11px}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--ink)}.login-art{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 20%,rgba(16,157,191,.2),transparent 32%),radial-gradient(circle at 90% 80%,rgba(215,44,125,.18),transparent 35%),linear-gradient(145deg,#111922,#202d36)}.login-art:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px}.sheets{position:absolute;inset:0;display:grid;place-items:center}.sheets>i,.sheets>div{position:absolute;width:min(390px,54vw);aspect-ratio:.72;border-radius:4px;box-shadow:0 35px 75px rgba(0,0,0,.36)}.sheets i:first-child{background:var(--magenta);transform:translate(60px,25px) rotate(6deg)}.sheets i:nth-child(2){background:var(--cyan);transform:translate(28px,9px) rotate(-1deg)}.sheets>div{z-index:2;background:#f7f3ea;transform:rotate(-7deg);padding:55px;display:flex;flex-direction:column;justify-content:flex-end}.sheets>div:before{content:"";position:absolute;left:32px;right:32px;top:32px;height:7px;background:linear-gradient(90deg,var(--cyan) 0 33%,var(--magenta) 33% 66%,var(--yellow) 66%)}.sheets b{font-size:76px;letter-spacing:-.1em;line-height:.8}.sheets strong{font-size:25px;margin-top:18px}.sheets small{font-size:10px;letter-spacing:.1em;color:#757b7e;margin-top:6px}.login-panel{background:var(--paper);display:flex;align-items:center;justify-content:center;padding:50px}.login-card{width:min(420px,100%)}.version{display:inline-block;margin:55px 0 22px;background:#e2f2f5;color:#177c96;padding:7px 11px;border-radius:99px;font-size:11px;font-weight:700}.login-card h1{font-size:42px;letter-spacing:-.04em;margin:0 0 10px}.login-card>p{color:var(--muted);margin:0 0 28px}.login-card label,.fields label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:750;margin-bottom:17px}.login-card input,.fields input,.fields select{width:100%;padding:13px 14px;border:1px solid #cbc9c3;background:#fff;border-radius:7px;outline:none}.login-card input:focus,.fields input:focus,.fields select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(16,157,191,.12)}.error{height:18px;color:var(--red);font-size:11px}.test-warning{display:block;text-align:center;color:#8d9294;margin-top:17px;line-height:1.4}
.topbar{height:70px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1360px)/2));border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--cyan) 0 33%,var(--magenta) 33% 66%,var(--yellow) 66%) 1}.light em{font-style:normal;font-size:9px;padding:3px 6px;background:rgba(255,255,255,.12);color:#b0babf}.top-actions{display:flex;align-items:center;gap:10px}.online{font-size:11px;color:#b9c2c6}.online i{display:inline-block;width:7px;height:7px;background:#53d69a;border-radius:50%;margin-right:6px}.avatar{width:36px;height:36px;border-radius:50%;border:1px solid #5f6a72;background:#33414b;color:#fff;font-size:11px;font-weight:800;cursor:pointer}.dashboard{max-width:1360px;margin:auto;padding:40px 28px 70px}.hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.13em;color:#85898b;margin:0 0 7px}.hero h1{font-size:34px;letter-spacing:-.035em;margin:0 0 5px}.hero>div>p:last-child{color:var(--muted);font-size:13px;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:9px}.metrics article{padding:20px}.metrics span{display:block;color:#747b7f;font-size:11px;margin-bottom:16px}.metrics strong{display:block;font-size:24px;letter-spacing:-.03em;margin-bottom:8px}.metrics small{color:#8a9093;font-size:10px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.services-panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #ece9e3}.panel-head h2{font-size:15px;margin:0 0 4px}.panel-head p{font-size:10px;color:#888e91;margin:0}.count{background:#e5f2f5;color:#187891;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800}.filters{display:flex;gap:9px;padding:13px 20px;background:#fcfbf8;border-bottom:1px solid #ece9e3}.search{flex:1;position:relative;color:#8c9295}.search input,.filters select{height:37px;border:1px solid #d8d5ce;border-radius:6px;background:#fff;color:#4c555a;font-size:11px;padding:0 12px}.search input{width:100%;padding-left:32px}.search{font-size:20px}.search input{position:absolute;left:0;top:-7px}.filters select{min-width:175px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th{text-align:left;color:#919699;font-size:8px;text-transform:uppercase;letter-spacing:.1em;background:#fbfaf7;padding:11px 14px;border-bottom:1px solid #e8e5df}td{padding:13px 14px;border-bottom:1px solid #eeece7;font-size:11px;color:#596166}td b{display:block;color:var(--ink);margin-bottom:4px}td small{display:block;color:#909597;font-size:9px;line-height:1.4}.pay{display:inline-block;border:0;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:700;cursor:pointer}.pay.pago{color:#257253;background:#e7f4ed}.pay.pendente{color:#98730e;background:#fff3cf}.icon-btn{border:0;background:transparent;color:#777f83;padding:5px;cursor:pointer}.delete:hover{color:var(--red)}.empty{text-align:center;padding:35px;color:#8a9092;font-size:12px}.sidebar{display:flex;flex-direction:column;gap:14px}.cost{display:flex;justify-content:space-between;padding:13px 17px;border-bottom:1px solid #efede8;font-size:10px;color:#667075}.cost span{display:flex;align-items:center;gap:8px}.cost i{width:8px;height:8px;border-radius:50%}.cyan{background:var(--cyan)}.magenta{background:var(--magenta)}.cost b{color:var(--ink)}.costs h3{display:flex;justify-content:space-between;margin:0;padding:10px 17px 4px;background:#faf9f6;font-size:9px;text-transform:uppercase}.costs h3 small{color:#999;font-weight:500;text-transform:none}.frozen{display:flex;flex-direction:column;gap:4px;margin:14px;background:#edf5f6;border-left:3px solid var(--cyan);padding:10px;color:#286a7a;font-size:9px}.local-note{background:var(--ink2);color:#fff;border-radius:9px;padding:16px}.local-note b,.local-note span{display:block;font-size:10px}.local-note span{color:#aeb8bd;margin-top:6px;line-height:1.4}
.modal-backdrop{position:fixed;inset:0;background:rgba(12,18,23,.68);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{width:min(850px,100%);max-height:95vh;overflow:auto;background:var(--paper);border-radius:11px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;padding:21px 24px;background:#fff;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:21px}.modal-head button{border:0;background:none;font-size:27px;color:#747d81;cursor:pointer}.modal-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:17px;padding:23px}.fields{background:#fff;border:1px solid var(--line);border-radius:8px;padding:19px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calculation{background:var(--ink);color:#fff;border-radius:8px;padding:20px}.calculation>p{font-size:8px;letter-spacing:.12em;color:#98a6ad;margin:0 0 15px}.calculation dl{margin:0}.calculation dl div{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#aeb8bd;margin:12px 0}.calculation dt small{display:block;font-size:8px;color:#76878f;margin-top:4px}.calculation dd{margin:0;color:#fff;font-weight:750}.calculation hr{border:0;border-top:1px solid #3a4650;margin:17px 0}.calculation .total{align-items:end}.calculation .total dd{font-size:19px}.calculation .profit{color:#62d8a6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:15px 23px;background:#fff;border-top:1px solid var(--line)}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#fff;padding:12px 17px;border-radius:7px;box-shadow:var(--shadow);font-size:11px;z-index:30}
.text-btn{border:0;background:#e7f3f6;color:#167d96;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}.text-btn:hover{background:#d7edf2}.yellow{background:var(--yellow)}.actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.edit-btn,.document-btn{border:1px solid #b9dce4;background:#edf7f9;color:#14768d;border-radius:6px;padding:7px 9px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.edit-btn{border-color:#d9d4c8;background:#faf8f2;color:#596166}.edit-btn:hover{border-color:#bdb4a4;background:#f1eee6}.document-btn:hover{background:#dceff3}.production-settings{padding-top:4px;border-top:1px dashed #dedbd4}.production-settings label small{color:#8b9194;font-size:9px;font-weight:500}.production-time{margin-top:18px;padding:14px;border:1px solid #40505b;background:#202c35;border-radius:7px}.production-time p{margin:0 0 8px;color:#7fcde0;font-size:8px;font-weight:800;letter-spacing:.12em}.production-time strong,.production-time span,.production-time small{display:block}.production-time strong{font-size:21px;color:#fff}.production-time span{margin-top:5px;color:#aeb8bd;font-size:10px}.production-time small{margin-top:6px;color:#7f8e95;font-size:8px;line-height:1.4}.small-modal{width:min(560px,100%)}.settings-fields{padding:24px;background:#fff}.settings-fields>p{margin:0 0 20px;color:#6f777b;font-size:13px;line-height:1.5}.settings-fields label{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;font-size:13px;font-weight:750}.settings-fields input{width:100%;padding:13px 14px;border:1px solid #cbc9c3;border-radius:7px;outline:none}.settings-fields input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(16,157,191,.12)}.settings-warning{background:#edf5f6;border-left:3px solid var(--cyan);padding:12px;color:#376f7d;font-size:12px;line-height:1.5}.settings-warning b{display:block;color:#245a67}
.ricoh-progress{height:9px;margin:18px 20px 8px;background:#e8e7e2;border-radius:99px;overflow:hidden}.ricoh-progress i{display:block;width:0;height:100%;background:var(--cyan);border-radius:99px;transition:width .25s}.ricoh-progress i.exceeded{background:var(--magenta)}.ricoh-stats{display:grid;grid-template-columns:1fr 1fr;padding:5px 20px 12px}.ricoh-stats div{padding:11px 0;border-bottom:1px solid #eeece7}.ricoh-stats div:nth-child(odd){padding-right:12px}.ricoh-stats div:nth-child(even){padding-left:12px;border-left:1px solid #eeece7}.ricoh-stats span,.ricoh-stats b{display:block}.ricoh-stats span{color:#7d8487;font-size:11px;margin-bottom:5px}.ricoh-stats b{font-size:14px}.unused-franchise{display:flex;justify-content:space-between;align-items:center;margin:0 20px 12px;padding:11px 12px;background:#fff4d7;color:#88680d;border-radius:6px;font-size:11px}.unused-franchise b{font-size:13px}.ricoh-note{margin:0;padding:0 20px 18px;color:#858b8e;font-size:10px;line-height:1.45}

/* Escala ampliada para telas desktop */
body{font-size:16px}.topbar{height:78px;padding-left:max(32px,calc((100vw - 1580px)/2));padding-right:max(32px,calc((100vw - 1580px)/2))}.brand{font-size:20px}.brand-mark{width:24px;height:24px}.online{font-size:13px}.avatar{width:42px;height:42px;font-size:12px}.dashboard{max-width:1580px;padding:48px 32px 82px}.hero{margin-bottom:32px}.hero h1{font-size:40px}.hero>div>p:last-child{font-size:15px}.eyebrow{font-size:11px}.btn{padding:14px 20px;font-size:14px}.metrics{gap:18px;margin-bottom:22px}.metrics article{padding:25px;min-height:142px}.metrics span{font-size:14px;margin-bottom:18px}.metrics strong{font-size:30px}.metrics small{font-size:12px}.workspace{grid-template-columns:minmax(0,1fr) 390px;gap:22px}.panel-head{padding:22px 24px}.panel-head h2{font-size:18px}.panel-head p{font-size:12px}.count{font-size:12px;padding:6px 10px}.filters{padding:16px 22px;gap:12px}.search input,.filters select{height:44px;font-size:13px}.search input{padding-left:38px}.search{font-size:24px}.filters select{min-width:215px}table{min-width:950px}th{font-size:10px;padding:14px 17px}td{font-size:13px;padding:18px 17px}td small{font-size:11px;margin-top:5px}.pay{font-size:11px;padding:7px 10px}.cost{padding:16px 20px;font-size:13px}.costs h3{padding:13px 20px 7px;font-size:11px}.frozen{margin:17px;padding:13px;font-size:11px}.local-note{padding:19px}.local-note b,.local-note span{font-size:12px}.modal-head{padding:24px 28px}.modal-head h2{font-size:25px}.modal-grid{padding:27px}.fields{padding:23px}.login-card label,.fields label{font-size:14px}.login-card input,.fields input,.fields select{font-size:14px}.calculation{padding:24px}.calculation>p{font-size:10px}.calculation dl div{font-size:12px;margin:14px 0}.calculation .total dd{font-size:23px}

@media(max-width:1200px){.dashboard{padding-left:20px;padding-right:20px}.workspace{grid-template-columns:minmax(0,1fr) 340px}.metrics article{padding:20px}}
@media(max-width:980px){.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh}.metrics{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.topbar{padding:0 20px}}
@media(max-width:640px){.topbar{height:64px}.brand{font-size:13px}.online,.ghost{display:none}.dashboard{padding:27px 13px 55px}.hero{align-items:flex-start;gap:15px}.hero h1{font-size:27px}.hero>div>p:last-child{display:none}.metrics{grid-template-columns:1fr}.workspace{display:block}.sidebar{display:block}.sidebar>*{margin-top:13px}.filters{flex-direction:column}.search{height:37px}.filters select{width:100%}.modal-grid{grid-template-columns:1fr;padding:16px}.two{grid-template-columns:1fr}.login-panel{padding:28px}.login-card h1{font-size:34px}.version{margin-top:38px}.toast{left:13px;right:13px;bottom:13px}}
@media print{.topbar,.hero,.metrics,.sidebar,.filters,.modal-backdrop,.toast,.icon-btn{display:none!important}.dashboard{padding:0}.workspace{display:block}.panel{border:0}body{background:#fff}}

.fields select option:disabled{color:#9aa0a3;background:#f3f2ee}


/* =========================================================
   Gráfica Digital 1.4 — redesign visual baseado no mockup aprovado
   ========================================================= */
:root{--gd-bg:#f6f5f2;--gd-card:#fff;--gd-border:#e1e1de;--gd-header:#0f1a23;--gd-cyan:#16b8c8;--gd-pink:#ee1d68;--gd-orange:#ff991b;--gd-green:#0aa34f;--gd-blue-soft:#eff9ff}
body{background:var(--gd-bg);color:#101820}
.app{min-height:100vh;padding-bottom:57px}
.topbar{height:78px;background:linear-gradient(100deg,#0c1821,#111c25);border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#18beca 0 33%,#ed1c68 33% 68%,#f1c318 68%) 1;padding-left:max(30px,calc((100vw - 1540px)/2));padding-right:max(30px,calc((100vw - 1540px)/2));box-shadow:0 1px 0 rgba(0,0,0,.1)}
.topbar .brand{font-size:23px;letter-spacing:.01em}.topbar .brand em{font-size:20px;background:none;padding:0;color:#1ac2d1;font-weight:900}.topbar .brand-mark{width:30px;height:30px}.topbar .brand-mark:before{height:38px;left:12px;top:-6px}.topbar .brand-mark:after{width:38px;left:-6px;top:12px}
.top-actions{gap:16px}.online{font-size:12px;color:#fff}.online i{background:#76c900}.ghost{border-color:#7b8892;border-radius:6px;color:#fff;font-weight:700;padding:10px 17px}.avatar{background:#000;border:0;width:43px;height:43px}
.dashboard{max-width:1540px;padding:31px 30px 28px}.hero{align-items:center;margin-bottom:28px}.hero h1{font-size:34px;margin-bottom:6px}.hero>div>p:last-child{font-size:14px;color:#626a70}.eyebrow{font-size:12px;text-transform:none;letter-spacing:0;color:#222;font-weight:700;margin-bottom:7px}.hero .primary{padding:13px 20px;border-radius:6px;box-shadow:0 5px 13px rgba(15,26,35,.12)}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.metrics .metric-card{min-height:116px;padding:22px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--gd-border);box-shadow:0 1px 3px rgba(20,25,30,.04);border-radius:6px}.metrics .metric-card>div{min-width:0}.metrics .metric-card span{text-transform:uppercase;font-size:12px;font-weight:850;margin-bottom:11px}.metrics .metric-card strong{font-size:25px;white-space:nowrap}.metrics .metric-card small{font-size:11px;color:#4f565c}.metric-cyan span{color:#0aabc0!important}.metric-magenta span{color:#ef1f6d!important}.metric-orange span{color:#ee8b08!important}.metric-green span{color:#109b43!important}.metric-icon{flex:0 0 49px;width:49px;height:49px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:25px;font-style:normal;font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.08)}.metric-cyan .metric-icon{background:linear-gradient(145deg,#20c8d4,#0cabbf)}.metric-magenta .metric-icon{background:linear-gradient(145deg,#f73b7c,#dc0b5b)}.metric-orange .metric-icon{background:linear-gradient(145deg,#ffad36,#ff8a00)}.metric-green .metric-icon{background:linear-gradient(145deg,#16b65e,#058b3d)}
.workspace{grid-template-columns:minmax(0,1fr) 420px;gap:18px}.panel{border:1px solid var(--gd-border);border-radius:7px;box-shadow:0 1px 3px rgba(20,25,30,.04)}.panel-head{padding:17px 18px}.panel-head h2{font-size:17px}.panel-head p{font-size:11px;color:#565f65}.service-total{display:flex;align-items:center;gap:8px}.service-total small{font-size:11px}.count{display:inline-grid;place-items:center;min-width:35px;height:35px;padding:0 8px;background:#eef6fa;color:#0b4764;font-size:13px}
.filters{padding:13px 17px;background:#fff;gap:10px}.search{height:39px;display:flex;align-items:center}.search input,.filters select{height:39px;border-color:#dedfdf;border-radius:5px;font-size:12px}.search input{top:0}.filters select{min-width:205px}.filter-clear{height:39px;border:1px solid #dedfdf;background:#fff;border-radius:5px;padding:0 14px;color:#293137;font-size:12px;cursor:pointer}.filter-clear:hover{background:#f7f7f5}
table{min-width:880px}th{background:#fbfbfa;color:#222;font-size:10px;letter-spacing:0;text-transform:none;padding:12px 15px}td{font-size:12px;padding:13px 15px;color:#222}td b{font-size:12px;margin-bottom:5px}td small{font-size:10px;color:#444}.financial-detail strong{display:inline;color:#07933e;font-weight:600}.pay{font-size:10px;padding:5px 9px;border:1px solid transparent}.pay.pago{background:#e8f8ee;border-color:#8bd6aa;color:#088738}.pay.pendente{background:#fff5e6;border-color:#ffc97f;color:#d57800}.actions{gap:5px}.edit-btn,.document-btn{height:31px;border:1px solid #dedfdf;background:#fff;color:#172029;border-radius:5px;padding:0 9px;font-size:10px}.edit-btn:hover,.document-btn:hover{background:#f6f7f7;border-color:#bdc2c5}.icon-btn{height:31px;width:31px;border:1px solid #e5e5e5;border-radius:5px;background:#fff}.delete:hover{background:#fff0f1}
.sidebar{gap:12px}.costs .panel-head,.ricoh-panel .panel-head{padding:16px 17px}.text-btn{background:#fff;border:1px solid #ddd;color:#151b20;border-radius:5px;font-size:11px}.cost{padding:14px 17px;font-size:12px}.cost i{width:10px;height:10px}.costs h3{padding:14px 17px 7px;background:#fff;font-size:11px;text-transform:none;border-top:1px solid #eee}.costs h3 small{font-size:10px}.frozen{margin:12px 14px 14px;background:#eef9ff;border:1px solid #a7dafa;border-left:1px solid #a7dafa;border-radius:5px;padding:11px 13px;color:#0e4469}.frozen b{font-size:12px}.frozen span{font-size:10px}.ricoh-progress{height:14px;margin:16px 17px 10px;background:#d5d5d5}.ricoh-progress i{background:#0a9e48}.ricoh-stats{grid-template-columns:repeat(2,1fr);padding:0 17px 10px}.ricoh-stats div{padding:12px 10px;text-align:center;border:1px solid #ececeb!important;margin:-1px 0 0 -1px}.ricoh-stats span{font-size:10px}.ricoh-stats b{font-size:16px}.unused-franchise{margin:0 17px 12px;background:#f8f8f7;color:#222;border:1px solid #ececeb}.unused-franchise b{color:#129442}.ricoh-note{margin:0 17px 14px;padding:10px 12px;background:#eef9ff;border:1px solid #b6ddf6;border-radius:5px;color:#0f527b}.local-note{background:#fff;color:#111;border:1px solid var(--gd-border);border-radius:7px;padding:16px}.local-note b:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#139d48;color:#fff;margin-right:8px;font-size:11px}.local-note span{color:#444;margin-left:26px}
.app-footer{position:fixed;z-index:10;left:0;right:0;bottom:0;height:46px;background:#101c25;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1540px)/2));font-size:10px}.app-footer b{color:#19bfce}.app-footer i{font-style:normal;margin:0 6px}.footer-dot{display:inline-block;width:9px;height:9px;background:#14a84d;border-radius:50%;margin-right:6px!important}
/* Modal: mesma linguagem visual do dashboard */
.modal-backdrop{background:rgba(6,14,20,.72)}.modal{border-radius:9px}.modal-head{padding:20px 24px}.modal-head h2{font-size:22px}.modal-grid{gap:16px}.fields{border-radius:7px}.calculation{background:#101c25;border-radius:7px}.production-time{background:#172832;border-color:#344b58}
@media(max-width:1250px){.workspace{grid-template-columns:minmax(0,1fr) 355px}.metrics .metric-card strong{font-size:22px}.metric-icon{width:44px;height:44px;flex-basis:44px}}
@media(max-width:980px){.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.app-footer{position:static;height:auto;padding:14px 20px;gap:8px;flex-wrap:wrap}.app{padding-bottom:0}}
@media(max-width:640px){.dashboard{padding:24px 13px}.hero{align-items:flex-start}.metrics{grid-template-columns:1fr}.metric-card{min-height:105px!important}.workspace{display:block}.sidebar{display:block}.filters{flex-direction:column}.filter-clear,.filters select{width:100%}.search{height:39px}.topbar .brand em{font-size:14px}}


/* =========================================================
   Gráfica Digital 1.5 — filtro por cliente + descrição ampliada
   ========================================================= */
.client-toolbar{display:grid;grid-template-columns:minmax(250px,340px) 1fr;gap:14px;padding:15px 17px;background:#f8f8f6;border-bottom:1px solid #e6e5e1}
.client-select-label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;color:#576067}
.client-select-label>span{text-transform:uppercase;letter-spacing:.06em;font-size:9px;color:#777f84}
.client-select-label select{width:100%;height:44px;padding:0 13px;border:1px solid #d7d8d6;border-radius:6px;background:#fff;color:#172029;font-size:13px;font-weight:700;outline:none}
.client-select-label select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(16,157,191,.1)}
.client-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 15px;background:#fff;border:1px solid #e0e1df;border-radius:6px}
.client-summary div{display:flex;flex-direction:column;gap:3px}.client-summary small{font-size:8px;letter-spacing:.08em;color:#8a9195;font-weight:800}.client-summary strong{font-size:15px;color:#172029}.client-summary>span{font-size:11px;color:#147b9a;font-weight:700;text-align:right}
.client-services-title{padding:11px 17px;background:#fcfcfb;border-bottom:1px solid #e6e5e1;font-size:12px;font-weight:850;color:#20282e}
.services-table{min-width:1080px}.services-table th{font-size:10px;padding-top:12px;padding-bottom:12px}.services-table td{vertical-align:top;padding-top:15px;padding-bottom:15px}
.services-table .os-cell{min-width:105px}.services-table .description-cell{min-width:300px;max-width:390px}.services-table .equipment-cell{min-width:145px}
.services-table .description-cell>b{font-size:14px;line-height:1.3;margin-bottom:8px;color:#111a20}
.services-table .description-cell small{display:block;font-size:11px;line-height:1.55;color:#525b60;margin-top:2px}
.services-table .description-cell small strong{display:inline;color:#263138;font-size:11px}
.services-table .equipment-cell b{font-size:12px;line-height:1.35}.services-table td>b{font-size:12px}
.services-table .actions{flex-direction:column;align-items:stretch;min-width:84px}.services-table .actions button{width:100%}
@media(max-width:980px){.client-toolbar{grid-template-columns:1fr}.client-summary{align-items:flex-start}.client-summary>span{text-align:left}}
@media(max-width:640px){.client-toolbar{padding:12px}.client-summary{flex-direction:column;gap:7px}.client-services-title{padding:10px 13px}.services-table .description-cell{min-width:270px}}


/* =========================================================
   Gráfica Digital 1.6
   Visão geral em largura total + página Custos e Franquia
   ========================================================= */

.app-page{width:100%}

/* Navegação superior */
.topbar{position:sticky;top:0;z-index:15}
.top-nav{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:18px}
.top-nav-btn{height:40px;border:1px solid transparent;border-radius:7px;padding:0 14px;background:#202c35;color:#cbd5da;font-size:12px;font-weight:800;cursor:pointer;transition:.18s}
.top-nav-btn:hover{background:#293944;color:#fff}
.top-nav-btn.active{background:#1269d3;color:#fff;border-color:#1d78df;box-shadow:0 7px 20px rgba(18,105,211,.24)}

/* Dashboard sem sidebar */
.services-full{width:100%;overflow:hidden}
.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(240px,1.12fr)}
.overview-metrics .metric-card,.ricoh-quick-card{min-height:132px}

/* Card rápido da Ricoh */
.ricoh-quick-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px;display:flex;flex-direction:column;justify-content:center}
.ricoh-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ricoh-quick-head span{display:block;font-size:13px;font-weight:850;color:var(--ink);margin-bottom:6px}
.ricoh-quick-head strong{display:block;font-size:11px;color:#5d686d}
.ricoh-quick-head button{border:0;background:none;padding:2px;color:#116bc5;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.ricoh-quick-progress{height:7px;margin:14px 0 9px;background:#e8e9e6;border-radius:99px;overflow:hidden}
.ricoh-quick-progress i{display:block;width:0;height:100%;background:var(--green);border-radius:99px;transition:width .25s}
.ricoh-quick-progress i.exceeded{background:var(--magenta)}
#ricohQuickStatus{font-size:10px;color:#27845e;font-weight:750}
#ricohQuickStatus.exceeded{color:#d53a58}

/* Tabela ganhou toda a largura útil */
.services-table{min-width:1120px;table-layout:auto}
.services-table .description-cell{min-width:360px;max-width:none}
.services-table .equipment-cell{min-width:140px}
.services-table .actions{min-width:92px}
.services-table td{font-size:13px}
.services-table .description-cell>b{font-size:14px}
.services-table .description-cell small{font-size:11px;line-height:1.6}
.services-table th:last-child,.services-table td:last-child{padding-right:20px}

/* Página Custos e Franquia */
.costs-hero{margin-bottom:24px}
.costs-page-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:20px;align-items:start}
.operational-costs-card,.ricoh-page-card{overflow:hidden}

.operational-cost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px}
.operational-cost-item{min-height:190px;padding:18px;border:1px solid #e3e3df;border-radius:8px;background:#fcfcfb;display:flex;flex-direction:column}
.cost-item-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;color:var(--ink)}
.cost-item-title i{width:9px;height:9px;border-radius:50%;background:var(--cyan)}
.cost-konica .cost-item-title i{background:var(--magenta)}
.cost-epson .cost-item-title i{background:var(--cyan)}
.cost-ricoh .cost-item-title i{background:var(--yellow)}
.operational-cost-item>strong{margin-top:23px;font-size:25px;letter-spacing:-.03em;color:var(--ink)}
.operational-cost-item>small{display:inline-flex;align-self:flex-start;margin-top:8px;padding:5px 7px;border-radius:5px;background:#e7f3f6;color:#236f81;font-size:9px;font-weight:750}
.cost-konica>small{background:#f8e3ee;color:#9a3263}
.cost-ricoh>small{background:#fff2cc;color:#7a6214}
.operational-cost-item>p{margin:auto 0 0;color:#667176;font-size:11px;line-height:1.5}

.costs-info-box{display:flex;flex-direction:column;gap:4px;margin:0 18px 18px;padding:13px 15px;border:1px solid #b9dded;border-radius:7px;background:#eef8fc;color:#286c87}
.costs-info-box b{font-size:11px}
.costs-info-box span{font-size:10px;line-height:1.45}

/* Ricoh detalhada */
.ricoh-page-card .panel-head{align-items:flex-start}
.ricoh-percent-large{display:inline-flex;align-items:center;justify-content:center;min-width:84px;height:48px;padding:0 13px;border-radius:99px;background:#e9f4fa;color:#095daa;font-size:20px;font-weight:900}
.ricoh-page-summary{display:grid;grid-template-columns:1fr 1fr;padding:18px 22px 5px}
.ricoh-page-summary div{text-align:center}
.ricoh-page-summary div+div{border-left:1px solid #e7e7e4}
.ricoh-page-summary span,.ricoh-page-summary b{display:block}
.ricoh-page-summary span{font-size:10px;color:#7a8387;margin-bottom:7px}
.ricoh-page-summary b{font-size:21px;color:#1264bc}
.ricoh-progress-large{height:11px;margin:18px 22px 8px}
.ricoh-franchise-labels{display:flex;justify-content:space-between;gap:20px;padding:0 22px 14px;color:#666f74;font-size:9px}
.ricoh-franchise-labels span{display:flex;flex-direction:column;gap:3px}
.ricoh-franchise-labels span:last-child{text-align:right}
.ricoh-franchise-labels b{font-size:10px;color:#232d32}
.ricoh-stats-page{grid-template-columns:repeat(4,1fr);padding:8px 20px 18px;border-top:1px solid #ecece8}
.ricoh-stats-page div{padding:15px 10px!important;border:0!important;text-align:center}
.ricoh-stats-page div+div{border-left:1px solid #ecece8!important}
.ricoh-stats-page span{font-size:9px}
.ricoh-stats-page b{font-size:14px}
.ricoh-stats-page div:first-child b{color:#e14242}
.ricoh-stats-page div:last-child b{color:#19875b}
.ricoh-note-box{margin:0 20px 20px;padding:12px 14px!important;border:1px solid #b9ddeb;border-radius:7px;background:#eef8fc;color:#276e89;font-size:10px}

/* Responsividade */
@media(max-width:1380px){
  .overview-metrics{grid-template-columns:repeat(4,1fr)}
  .ricoh-quick-card{grid-column:1/-1;min-height:auto}
  .costs-page-grid{grid-template-columns:1fr}
}
@media(max-width:1100px){
  .top-nav{order:3;width:100%;justify-content:center;margin:0;padding:8px 0 0}
  .topbar{height:auto;min-height:78px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .overview-metrics{grid-template-columns:repeat(2,1fr)}
  .operational-cost-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .overview-metrics{grid-template-columns:1fr}
  .operational-cost-grid{grid-template-columns:1fr}
  .costs-page-grid{display:block}
  .ricoh-page-card{margin-top:14px}
  .ricoh-stats-page{grid-template-columns:1fr 1fr}
  .ricoh-stats-page div:nth-child(3){border-left:0!important}
  .top-nav-btn span{display:inline}
}


/* =========================================================
   Gráfica Digital 1.7 — Sistema de ícones SVG
   ========================================================= */

.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.icon-text-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.icon-text-btn .ui-icon{width:18px;height:18px}
.top-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.top-nav-btn .ui-icon{width:19px;height:19px;stroke-width:2}
.ghost .ui-icon{width:19px;height:19px}

/* Cards principais */
.metric-icon{width:62px!important;height:62px!important;flex-basis:62px!important;border:2px solid currentColor!important;background:transparent!important;box-shadow:none!important}
.metric-svg{width:31px;height:31px;stroke-width:1.9}
.metric-cyan .metric-icon{color:#0aabc0!important;background:#eefbfd!important}
.metric-magenta .metric-icon{color:#ef1f6d!important;background:#fff0f5!important}
.metric-orange .metric-icon{color:#ee8b08!important;background:#fff7e9!important}
.metric-green .metric-icon{color:#109b43!important;background:#eefaf2!important}
.metrics .metric-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.metrics .metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(20,25,30,.08);border-color:#d6dadd}

/* Títulos e badges */
.panel-title-with-icon{display:flex;align-items:center;gap:12px}
.panel-title-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#edf5ff;color:#1269d3;flex:0 0 42px}
.panel-title-icon .ui-icon{width:24px;height:24px;stroke-width:2}
.ricoh-quick-title{display:flex;align-items:center;gap:10px}
.ricoh-icon-badge{width:38px;height:38px;border-radius:9px;background:#edf5ff;color:#1269d3;display:grid;place-items:center;flex:0 0 38px}
.ricoh-icon-badge .ui-icon{width:22px;height:22px}

/* Busca e filtros */
.search{position:relative}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:#69757c;z-index:2;pointer-events:none}
.search input{padding-left:42px!important}
.filter-clear .ui-icon{width:17px;height:17px}

/* Cards de custos */
.cost-item-title{gap:10px!important}
.cost-main-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#e9f7fa;color:#0d9caf;flex:0 0 42px}
.cost-main-icon .ui-icon{width:23px;height:23px;stroke-width:1.9}
.cost-konica .cost-main-icon{background:#fdebf3;color:#d72c7d}
.cost-epson .cost-main-icon{background:#e9f7fa;color:#0d9caf}
.cost-ricoh .cost-main-icon{background:#fff5d9;color:#bd8d0c}
.operational-cost-item{transition:transform .18s ease,box-shadow .18s ease}
.operational-cost-item:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(22,31,38,.07)}
.costs-info-box b{display:flex;align-items:center;gap:7px}
.costs-info-box b .ui-icon{width:18px;height:18px}
.ricoh-note-box{display:flex;align-items:center;gap:8px}
.ricoh-note-box .ui-icon{width:18px;height:18px;flex:0 0 18px}

/* Ícones nas linhas */
.os-with-icon,.equipment-with-icon{display:flex;align-items:flex-start;gap:10px}
.row-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#eef5ff;color:#1269d3;flex:0 0 32px;margin-top:-1px}
.row-icon .ui-icon{width:18px;height:18px}
.printer-row-icon{background:#f1f4f6;color:#53616a}

/* Botões de ação */
.services-table .actions{display:grid!important;grid-template-columns:1fr 1fr 38px!important;gap:6px!important;min-width:202px!important;align-items:center!important}
.action-btn{height:38px;border:1px solid #d9dde0;background:#fff;border-radius:7px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800;color:#35434b;cursor:pointer;white-space:nowrap;transition:.16s ease}
.action-btn .ui-icon{width:17px;height:17px;stroke-width:2}
.action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(20,25,30,.08)}
.edit-btn:hover{border-color:#9fc3ff;background:#eef5ff;color:#1269d3}
.document-btn:hover{border-color:#f2b3bf;background:#fff1f3;color:#d73851}
.action-btn.delete{width:38px;padding:0;border-color:#f0d0d4;color:#c84150;background:#fff}
.action-btn.delete:hover{background:#fff0f2;border-color:#e69aa4;color:#b62536}

/* Ícones do modal e botões gerais ficam visualmente coerentes */
.modal-head button{width:38px;height:38px;border-radius:8px;display:grid;place-items:center}
.modal-head button:hover{background:#f2f3f2;color:#172029}

/* Responsividade dos novos ícones */
@media(max-width:1250px){
  .metric-icon{width:54px!important;height:54px!important;flex-basis:54px!important}
  .metric-svg{width:27px;height:27px}
  .services-table .actions{grid-template-columns:1fr 1fr 36px!important;min-width:188px!important}
  .action-btn{height:36px;padding:0 8px}
}
@media(max-width:700px){
  .top-nav-btn .ui-icon{width:18px;height:18px}
  .panel-title-icon{width:38px;height:38px;flex-basis:38px}
  .metric-icon{width:56px!important;height:56px!important;flex-basis:56px!important}
  .services-table .actions{min-width:180px!important}
}


/* =========================================================
   Gráfica Digital 1.7.1 — correção definitiva dos ícones
   SVG inline direto: sem sprite, <use>, CDN ou biblioteca.
   ========================================================= */
.ui-icon,
.metric-svg,
.search-icon{
  fill:none!important;
  stroke:currentColor!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ui-icon{stroke-width:1.9!important}
.metric-svg{stroke-width:1.9!important}
.search-icon{stroke-width:2!important}
svg.ui-icon,svg.metric-svg,svg.search-icon{overflow:visible}

/* Gráfica Digital 1.7.2 - pacote de correção de ícones */


/* =========================================================
   Gráfica Digital 1.7.3 — centralização dos ícones do topo
   ========================================================= */
.metric-card .metric-icon{
  display:grid !important;
  place-items:center !important;
  align-self:center !important;
  justify-self:end !important;
  padding:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}
.metric-card .metric-icon .metric-svg{
  display:block !important;
  width:28px !important;
  height:28px !important;
  margin:0 !important;
}
.metric-card .metric-icon svg{
  transform:translate(0, 0) !important;
}


/* =========================================================
   Gráfica Digital 1.8 — Clientes reais + detalhes do serviço
   ========================================================= */
.client-toolbar-v18{grid-template-columns:minmax(230px,290px) minmax(300px,1fr) auto;align-items:end}
.client-search-label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;color:#576067}
.client-search-label>span{text-transform:uppercase;letter-spacing:.06em;font-size:9px;color:#777f84}
.client-search-box{position:relative}
.client-search-box .ui-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#69757c}
.client-search-box input{width:100%;height:44px;padding:0 13px 0 40px;border:1px solid #d7d8d6;border-radius:6px;background:#fff;color:#172029;font-size:13px;outline:none}
.client-search-box input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(16,157,191,.1)}
.client-add-btn{height:44px;background:#edf5ff;color:#1269d3;border:1px solid #bed6f5;padding:0 15px;display:inline-flex;align-items:center;gap:7px}
.client-add-btn:hover{background:#dfeeff}.client-add-btn .ui-icon{width:17px;height:17px}
.client-summary-v18{grid-column:1/-1}
.services-table{min-width:1320px}.services-table .client-cell{min-width:175px}.services-table .client-cell>b{font-size:12px;margin-bottom:6px}.services-table .client-cell small{font-size:10px;line-height:1.5}
.services-table .description-cell{min-width:390px}.service-long-description{margin:7px 0!important;padding:7px 9px;background:#f7f8f7;border-left:3px solid #cfd8dc;border-radius:3px;color:#354249!important}
.modal{width:min(1040px,100%)}.modal-grid{grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr)}
.fields-v18 textarea,.client-form-fields textarea{width:100%;resize:vertical;padding:12px 14px;border:1px solid #cbc9c3;background:#fff;border-radius:7px;outline:none;font:inherit}
.fields-v18 textarea:focus,.client-form-fields textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(16,157,191,.12)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.service-client-block{margin-bottom:17px;padding:14px;border:1px solid #dfe5e7;background:#f8fbfc;border-radius:8px}
.service-client-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;font-weight:750}
.service-client-head button{border:0;background:none;color:#1269d3;font-size:11px;font-weight:800;cursor:pointer;padding:3px}
.service-client-block select{width:100%;padding:13px 14px;border:1px solid #cbc9c3;background:#fff;border-radius:7px;outline:none}
.service-client-info{margin-top:8px;display:flex;flex-direction:column;gap:3px;color:#788186;font-size:10px;line-height:1.4}
.service-client-info strong{color:#253138;font-size:11px}.service-client-info span{color:#68747a}
.client-modal{width:min(670px,100%)}.client-form-fields{padding:24px;background:#fff}
.client-form-fields label{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;font-size:13px;font-weight:750}
.client-form-fields input{width:100%;padding:13px 14px;border:1px solid #cbc9c3;background:#fff;border-radius:7px;outline:none}
.client-form-fields input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(16,157,191,.12)}
.client-form-note{margin-top:6px;padding:11px 13px;border-radius:6px;background:#eef8fc;border:1px solid #c9e5ef;color:#39768a;font-size:11px;line-height:1.45}
.services-table .description-cell small{font-size:11px;line-height:1.62}.services-table .description-cell>b{font-size:14px;line-height:1.35}
@media(max-width:1050px){.client-toolbar-v18{grid-template-columns:1fr 1fr}.client-add-btn{align-self:end}.client-summary-v18{grid-column:1/-1}.three{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.client-toolbar-v18{grid-template-columns:1fr}.client-add-btn{width:100%;justify-content:center}.three{grid-template-columns:1fr}.modal-grid{grid-template-columns:1fr}}


/* Gráfica Digital 1.8.1 — carregamento resiliente
   Nenhuma mudança visual significativa; correção de segurança de dados. */


/* Gráfica Digital 1.8.2
   Correção do acesso ao cadastro de clientes via Supabase REST.
   A ordenação é feita no navegador, reduzindo dependência da consulta REST. */

/* Gráfica Digital 1.8.3 — correção definitiva do Supabase e cache */


/* =========================================================
   Gráfica Digital 1.9 — Clientes, histórico, WhatsApp e mobile
   ========================================================= */

.clients-page-toolbar{display:grid;grid-template-columns:1fr 220px;gap:12px;padding:16px 18px;border-bottom:1px solid #e8e8e4;background:#fafaf8}
.clients-page-toolbar select{height:44px;border:1px solid #d7d8d6;border-radius:7px;background:#fff;padding:0 12px;color:#263138}
.clients-table-wrap{overflow:auto}
.clients-table{width:100%;border-collapse:collapse;min-width:980px}
.clients-table th{padding:12px 14px;background:#f8f8f6;border-bottom:1px solid #e8e8e4;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#606a70}
.clients-table td{padding:15px 14px;border-bottom:1px solid #ecece9;vertical-align:middle;font-size:12px}
.client-name-cell{display:flex;align-items:center;gap:11px}
.client-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9f2ff;color:#1269d3;font-weight:900;flex:0 0 38px}
.client-name-cell b,.client-name-cell small{display:block}.client-name-cell small{margin-top:4px;color:#798286;font-size:10px}
.client-service-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f0f3f5;color:#3c4a52;font-weight:800;font-size:10px}
.client-actions{display:flex;gap:6px;white-space:nowrap}
.client-actions button{width:36px;height:36px;border:1px solid #dfe2e3;border-radius:7px;background:#fff;display:inline-grid;place-items:center;color:#53616a;cursor:pointer}
.client-actions button .ui-icon{width:17px;height:17px}
.client-actions button:hover{background:#f4f7f8}
.client-actions .whatsapp-action{color:#0d9d55;border-color:#c7ead7;font-weight:900}
.client-actions .danger-action{color:#dc3e50;border-color:#f0cbd1}
.client-actions .reactivate-action{color:#1269d3;border-color:#bfd6f4;font-size:18px}
.client-actions button:disabled{opacity:.35;cursor:not-allowed}
.client-archived{opacity:.72}
.archived-badge{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;background:#f2eded;color:#8b5f65;font-size:8px;font-weight:850;text-transform:uppercase}

.clients-mobile-list{display:none}
.client-detail-modal{width:min(850px,100%)}
.client-detail-document{margin-top:4px;color:#7b858a;font-size:11px}
.client-detail-body{padding:22px;background:#f8f9f8}
.client-detail-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.client-detail-action{min-height:70px;border:1px solid #dfe2e3;border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#47565f;cursor:pointer}
.client-detail-action span{font-size:20px}.client-detail-action b{font-size:10px}
.client-detail-action.edit{color:#1269d3}.client-detail-action.whatsapp{color:#099550}.client-detail-action.history{color:#7453be}.client-detail-action.danger{color:#dc3e50}
.client-detail-action:disabled{opacity:.35;cursor:not-allowed}
.client-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.client-detail-card,.client-detail-notes,.client-history-section{background:#fff;border:1px solid #e2e3e0;border-radius:9px;padding:16px}
.client-detail-card h3,.client-detail-notes h3,.client-history-head h3{margin:0 0 13px;font-size:13px}
.client-detail-card dl{margin:0}.client-detail-card dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #efefed}.client-detail-card dl div:last-child{border:0}
.client-detail-card dt{font-size:10px;color:#788187}.client-detail-card dd{margin:0;font-size:11px;font-weight:800;text-align:right}
.client-detail-notes{margin-top:14px}.client-detail-notes p{margin:0;color:#5e686d;font-size:11px;line-height:1.55}
.client-history-section{margin-top:14px;scroll-margin-top:100px}
.client-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-history-head h3{margin:0}.client-history-head span{font-size:9px;color:#778086}
.client-history-list{margin-top:11px;display:grid;gap:8px}
.history-item{display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid #ececea;border-radius:7px;background:#fcfcfb}
.history-item div:first-child b,.history-item div:first-child small{display:block}.history-item div:first-child b{font-size:11px}.history-item div:first-child small{margin-top:5px;color:#7d8589;font-size:9px}
.history-item div:last-child{text-align:right}.history-item div:last-child strong{display:block;font-size:11px}
.history-status{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:850;text-transform:capitalize;background:#fff1da;color:#b66a00}.history-status.pago{background:#e8f8ee;color:#168147}
.small-empty{padding:18px!important;font-size:10px}

.mobile-bottom-nav{display:none}

@media(max-width:760px){
  .topbar{padding-bottom:9px}
  .top-nav{display:none!important}
  .top-actions .online{display:none}
  .dashboard{padding-bottom:78px}
  .clients-hero{align-items:flex-start}
  .clients-page-toolbar{grid-template-columns:1fr;padding:12px}
  .clients-table-wrap{display:none}
  .clients-mobile-list{display:grid;gap:12px;padding:12px}
  .client-mobile-card{border:1px solid #e1e3e3;border-radius:10px;background:#fff;padding:14px}
  .client-mobile-head{display:flex;align-items:center;gap:10px}
  .client-mobile-head>div{min-width:0;flex:1}.client-mobile-head b,.client-mobile-head small{display:block}.client-mobile-head small{font-size:9px;color:#778187;margin-top:4px}
  .client-mobile-contact{display:grid;gap:5px;padding:12px 0;color:#59666d;font-size:10px}.client-mobile-contact strong{color:#202a30}
  .client-mobile-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
  .client-mobile-actions button{min-height:48px;border:1px solid #e0e3e4;border-radius:7px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#53616a}
  .client-mobile-actions button .ui-icon{width:17px;height:17px}.client-mobile-actions button small{font-size:7px}.client-mobile-actions .whatsapp-action{color:#0b9751}.client-mobile-actions .danger-action{color:#d83d4f}
  .client-detail-body{padding:12px}.client-detail-actions{grid-template-columns:repeat(4,1fr);gap:6px}.client-detail-action{min-height:58px}.client-detail-action span{font-size:17px}.client-detail-action b{font-size:8px}
  .client-detail-grid{grid-template-columns:1fr}.history-item{flex-direction:column}.history-item div:last-child{text-align:left}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:64px;background:#fff;border-top:1px solid #dfe2e2;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 -6px 18px rgba(0,0,0,.08)}
  .mobile-nav-btn{border:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#69747a;font-weight:700}
  .mobile-nav-btn span{font-size:18px}.mobile-nav-btn small{font-size:8px}.mobile-nav-btn.active{color:#1269d3;background:#f4f8ff}
  .app-footer{padding-bottom:70px}
}


/* =========================================================
   Gráfica Digital 1.9.1 — revisão mobile real
   Testado para 360px, 390px e 412px.
   ========================================================= */
.services-mobile-list{display:none}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:14px}

  .topbar{height:60px!important;min-height:60px!important;padding:0 12px!important;flex-wrap:nowrap!important;gap:8px}
  .topbar .brand{font-size:15px!important;gap:8px;white-space:nowrap}
  .topbar .brand-mark{width:22px!important;height:22px!important}
  .topbar .brand-mark:before{height:30px!important;left:8px!important;top:-6px!important}
  .topbar .brand-mark:after{width:30px!important;left:-6px!important;top:8px!important}
  .topbar .brand em{font-size:12px!important}
  .top-actions{gap:6px!important;margin-left:auto!important}
  .top-actions .ghost,.top-actions .online{display:none!important}
  .avatar{width:34px!important;height:34px!important;font-size:10px!important}

  .dashboard{padding:16px 10px 78px!important;width:100%;max-width:100%}
  .hero{margin-bottom:15px!important;gap:10px!important;align-items:center!important}
  .hero h1{font-size:26px!important;margin-bottom:2px!important}
  .hero .eyebrow{font-size:9px!important}
  .hero>div>p:last-child{display:none!important}
  .hero .btn{padding:10px 12px!important;font-size:11px!important;min-height:40px;white-space:nowrap}

  .overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:12px!important}
  .overview-metrics .metric-card{min-height:102px!important;padding:13px 11px!important;gap:7px!important}
  .overview-metrics .metric-card span:first-child{font-size:9px!important;margin-bottom:8px!important}
  .overview-metrics .metric-card strong{font-size:18px!important;line-height:1.05!important;white-space:normal!important}
  .overview-metrics .metric-card small{font-size:8px!important;line-height:1.25!important}
  .metric-card .metric-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  .metric-card .metric-icon .metric-svg{width:20px!important;height:20px!important}
  .ricoh-quick-card{grid-column:1/-1!important;min-height:88px!important;padding:13px!important}
  .ricoh-icon-badge{width:32px!important;height:32px!important;flex-basis:32px!important}
  .ricoh-icon-badge .ui-icon{width:18px!important;height:18px!important}
  .ricoh-quick-head>button{font-size:9px!important}

  .panel{border-radius:8px!important}
  .panel-head{padding:13px!important}
  .panel-title-icon{width:34px!important;height:34px!important;flex-basis:34px!important}
  .panel-title-icon .ui-icon{width:19px!important;height:19px!important}
  .panel-head h2{font-size:14px!important}
  .panel-head p{font-size:9px!important}
  .service-total{white-space:nowrap}

  .client-toolbar-v18{grid-template-columns:1fr!important;padding:11px!important;gap:9px!important}
  .client-select-label select,.client-search-box input{height:42px!important}
  .client-add-btn{height:42px!important;width:100%;justify-content:center}
  .client-summary-v18{padding:10px!important}
  .client-summary-v18>span{font-size:9px!important}
  .filters{grid-template-columns:1fr!important;padding:10px!important;gap:8px!important}
  .filters .search,.filters .search input,.filters select,.filter-clear{height:42px!important;font-size:11px!important;width:100%!important}
  .client-services-title{display:none!important}

  .table-wrap{display:none!important}
  .services-mobile-list{display:grid;gap:10px;padding:10px;background:#f7f8f7}
  .services-mobile-list:empty{display:none}
  .service-mobile-card{background:#fff;border:1px solid #e0e3e3;border-radius:9px;padding:12px;box-shadow:0 1px 2px rgba(20,25,30,.03)}
  .service-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #eee}
  .service-mobile-head b,.service-mobile-head small{display:block}
  .service-mobile-head b{font-size:12px}.service-mobile-head small{font-size:9px;color:#7b8489;margin-top:3px}
  .service-mobile-head .pay{font-size:9px!important;padding:6px 8px!important}
  .service-mobile-client{padding:9px 0}
  .service-mobile-client>span,.service-mobile-meta small,.service-mobile-finance small{display:block;font-size:8px;text-transform:uppercase;color:#899095;font-weight:800;letter-spacing:.04em}
  .service-mobile-client>b{display:block;font-size:12px;margin-top:3px}.service-mobile-client small{display:block;font-size:9px;color:#68747a;margin-top:3px}
  .service-mobile-title{padding:10px;background:#f7f9fa;border-radius:6px}
  .service-mobile-title>b{display:block;font-size:13px;line-height:1.3}.service-mobile-title small{display:block;margin-top:5px;font-size:9px;color:#68747a}
  .service-mobile-meta,.service-mobile-finance{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}
  .service-mobile-meta span,.service-mobile-finance span{padding:8px;border:1px solid #eceeed;border-radius:6px;min-width:0}
  .service-mobile-meta b,.service-mobile-finance b{display:block;font-size:11px;margin-top:3px;overflow-wrap:anywhere}.service-mobile-finance .positive{color:#13894f}
  .service-mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
  .service-mobile-actions button{min-height:42px;border:1px solid #dfe2e3;border-radius:7px;background:#fff;color:#435159;display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:800}
  .service-mobile-actions button .ui-icon{width:15px;height:15px}.service-mobile-actions .danger{color:#cf3d4d;border-color:#f0ccd1}

  .clients-hero,.costs-hero{flex-direction:column!important;align-items:stretch!important}
  .clients-hero .btn,.costs-hero .btn{width:100%!important}
  .clients-management-panel .panel-head{align-items:flex-start}.clients-page-toolbar{grid-template-columns:1fr!important;padding:10px!important}
  .clients-mobile-list{padding:10px!important;gap:10px!important}.client-mobile-card{padding:12px!important}
  .client-mobile-actions{grid-template-columns:1fr 1fr!important}.client-mobile-actions button{min-height:50px!important;font-size:11px!important}.client-mobile-actions button small{font-size:8px!important}

  .operational-cost-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important}
  .operational-cost-item{min-height:135px!important;padding:11px!important}.cost-main-icon{width:34px!important;height:34px!important;flex-basis:34px!important}.cost-main-icon .ui-icon{width:19px!important;height:19px!important}
  .operational-cost-item>strong{font-size:19px!important;margin-top:14px!important}.operational-cost-item>small{font-size:8px!important}.operational-cost-item>p{display:none!important}
  .costs-info-box{margin:0 10px 10px!important}.ricoh-page-summary{padding-left:10px!important;padding-right:10px!important}.ricoh-stats-page{grid-template-columns:1fr 1fr!important;padding:6px 10px 12px!important}

  .modal-backdrop{padding:0!important;align-items:stretch!important;z-index:50!important}
  .modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow:auto!important}
  .modal-head{position:sticky!important;top:0;z-index:5;padding:14px 15px!important}.modal-head h2{font-size:19px!important}
  .modal-grid{grid-template-columns:1fr!important;padding:10px!important;gap:10px!important}.fields{padding:13px!important}.fields label,.client-form-fields label{font-size:11px!important}
  .fields input,.fields select,.fields textarea,.client-form-fields input,.client-form-fields textarea{font-size:16px!important;min-height:44px!important}
  .service-client-block{padding:11px!important}.three,.two{grid-template-columns:1fr!important}.calculation{padding:14px!important}
  .modal-actions{position:sticky!important;bottom:0;z-index:5;padding:10px!important;box-shadow:0 -4px 15px rgba(0,0,0,.06)}.modal-actions .btn{flex:1;padding:12px!important}
  .client-form-fields{padding:13px!important}.client-detail-body{padding:10px!important}.client-detail-actions{grid-template-columns:1fr 1fr!important}.client-detail-action{min-height:60px!important}.client-detail-grid{grid-template-columns:1fr!important}

  .mobile-bottom-nav{height:60px!important}.toast{bottom:72px!important;left:10px!important;right:10px!important;max-width:none!important}.app-footer{display:none!important}
}

@media(max-width:380px){
  .overview-metrics{grid-template-columns:1fr!important}
  .overview-metrics .metric-card{min-height:88px!important}
  .operational-cost-grid{grid-template-columns:1fr!important}
  .hero{align-items:flex-start!important;flex-direction:column!important}.hero .btn{width:100%!important}
}


/* =========================================================
   Gráfica Digital 1.9.2 — Resumo + Extrato Financeiro
   ========================================================= */
.client-finance-summary{grid-column:1/-1;background:#fff;border:1px solid #dfe3e4;border-radius:9px;padding:17px;margin-top:2px}
.client-finance-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.client-finance-top>div:first-child small,.client-finance-top>div:first-child strong,.client-finance-top>div:first-child span{display:block}
.client-finance-top>div:first-child small{font-size:8px;letter-spacing:.08em;font-weight:850;color:#7b858a}
.client-finance-top>div:first-child strong{margin-top:4px;font-size:16px;color:#172029}
.client-finance-top>div:first-child span{margin-top:4px;font-size:10px;color:#6d777c}
.client-finance-period{display:flex;align-items:flex-end;gap:8px}
.client-finance-period label{display:flex;flex-direction:column;gap:5px;font-size:8px;font-weight:800;color:#747e83;text-transform:uppercase;letter-spacing:.04em}
.client-finance-period select,.client-finance-period input{height:36px;border:1px solid #d5d9da;border-radius:6px;background:#fff;padding:0 9px;color:#303c43;font-size:10px;text-transform:none;letter-spacing:0}
.client-finance-custom{display:flex;gap:7px}
.client-finance-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.finance-mini-card{padding:14px;border:1px solid #e3e5e5;border-radius:8px;background:#fafbfb}
.finance-mini-card span,.finance-mini-card strong,.finance-mini-card small{display:block}
.finance-mini-card span{font-size:9px;color:#6d777c}
.finance-mini-card strong{margin-top:7px;font-size:19px;color:#172029}
.finance-mini-card small{margin-top:6px;font-size:8px;color:#80898d}
.finance-mini-card.billed{border-top:3px solid #1269d3}.finance-mini-card.received{border-top:3px solid #15945d}.finance-mini-card.due{border-top:3px solid #e58b18}.finance-mini-card.pages{border-top:3px solid #7654b5}
.finance-mini-card.received strong{color:#16845b}.finance-mini-card.due strong{color:#d66c00}
.client-finance-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px;padding-top:13px;border-top:1px solid #eceeed}
.client-finance-footer>span{font-size:10px;color:#5f6b70;font-weight:650}
.client-finance-footer>div{display:flex;gap:7px}
.client-statement-btn{padding:9px 12px;font-size:10px}
.client-statement-btn:disabled{opacity:.42;cursor:not-allowed}
.client-due-value{color:#cb6500!important}.client-paid-value{color:#16845b!important}
.client-detail-actions{grid-template-columns:repeat(5,1fr)}
.client-detail-action.statement{color:#0a7f96}
.clients-table{min-width:1080px}

@media(max-width:980px){
  .client-finance-top{flex-direction:column}
  .client-finance-period{width:100%;flex-wrap:wrap}
  .client-finance-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .client-finance-summary{padding:13px}
  .client-finance-top{gap:12px}
  .client-finance-period{display:grid;grid-template-columns:1fr;width:100%}
  .client-finance-period select{width:100%}
  .client-finance-custom{display:grid;grid-template-columns:1fr 1fr}
  .client-finance-custom input{width:100%}
  .client-finance-cards{grid-template-columns:1fr 1fr;gap:7px}
  .finance-mini-card{padding:11px}.finance-mini-card strong{font-size:16px}
  .client-finance-footer{flex-direction:column;align-items:stretch}
  .client-finance-footer>div{display:grid;grid-template-columns:1fr 1fr}
  .client-statement-btn{width:100%}
  .client-detail-actions{grid-template-columns:repeat(5,1fr)}
  .client-detail-action{padding:3px}.client-detail-action b{font-size:7px}
}
@media(max-width:390px){
  .client-finance-cards{grid-template-columns:1fr}
  .client-detail-actions{grid-template-columns:repeat(3,1fr)}
}
