:root{--mint:#00cecb;--mint-dark:#008b8c;--ink:#28333c;--gray:#4d4d4d;--muted:#6e7b86;--border:#e6eaee;--bg:#f5f7f8;--white:#fff;--sidebar:#202b33;--red:#d64d55;--amber:#ba7815;--green:#167a59;--blue:#3e72b4;--shadow:0 12px 36px rgba(20,32,42,.065);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;background:#fff;border:1px solid #dce3e8;border-radius:10px;padding:11px 12px;color:var(--ink);outline:0;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--mint-dark);box-shadow:0 0 0 3px rgba(0,206,203,.13)}input[type="checkbox"]{width:auto;accent-color:var(--mint-dark)}textarea{resize:vertical;min-height:75px}label{display:block;font-size:12px;font-weight:750;color:#586773;margin-bottom:7px}input::placeholder,textarea::placeholder{color:#9ca7b0}.muted{color:var(--muted)}.small{font-size:12px}.text-right{text-align:right}.fw{font-weight:750}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preloader{height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted);font-weight:650}.preloader img{width:75px;justify-self:center}.layout{display:flex;min-height:100vh}.sidebar{width:246px;background:var(--sidebar);color:#b9c5ca;position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;padding:24px 14px;gap:20px}.brand{display:flex;align-items:center;gap:12px;padding:6px 11px 15px;border-bottom:1px solid rgba(255,255,255,.09)}.brand img{width:40px;height:40px;object-fit:contain}.brand strong{display:block;color:#fff;font-size:17px;letter-spacing:-.6px;line-height:1}.brand span{color:var(--mint);font-size:10px;letter-spacing:2.2px;font-weight:800}.navs{display:grid;gap:5px}.nav{border:0;background:transparent;color:inherit;text-align:left;display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:11px;font-size:13px;font-weight:700}.nav svg{width:18px;height:18px}.nav:hover{background:#33414b;color:#fff}.nav.active{color:#0a3032;background:var(--mint)}.side-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding-top:16px}.side-bottom p{margin:4px 10px 14px;color:#a1b0b6;font-size:11px;line-height:1.5}.workspace{margin-left:246px;min-width:0;width:calc(100% - 246px)}.topbar{height:78px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 34px;position:sticky;top:0;z-index:12}.topbar-title{font-size:14px;font-weight:800}.topbar-sub{font-size:11px;color:var(--muted);margin-top:4px}.top-actions{display:flex;gap:9px;align-items:center}.userchip{display:flex;align-items:center;gap:8px;background:#f2f6f6;border:1px solid #e6eeed;border-radius:30px;padding:7px 12px;color:#50636a;font-size:12px;font-weight:700}.userchip .dot{height:8px;width:8px;border-radius:20px;background:#1ea37f}.content{max-width:1500px;padding:30px 34px 60px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:27px}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mint-dark);font-weight:850}.page-heading h1{font-size:28px;letter-spacing:-.95px;margin:6px 0 7px;line-height:1.2}.page-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.65}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid #dee5e8;background:white;color:var(--ink);border-radius:10px;min-height:41px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:780;white-space:nowrap;transition:transform .15s,filter .15s}.btn svg{width:17px;height:17px}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn-primary{background:var(--mint);color:#083338;border-color:var(--mint)}.btn-dark{background:#2c3941;color:white;border-color:#2c3941}.btn-danger{color:var(--red);border-color:#f2d8da}.btn-sm{min-height:32px;padding:7px 10px;font-size:11px}.btn-icon{width:40px;padding:9px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.kpi{background:white;border:1px solid var(--border);border-radius:16px;padding:19px;min-width:0;box-shadow:var(--shadow)}.kpi-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.kpi-label{font-size:12px;color:#78858b;font-weight:750;line-height:1.4}.kpi-icon{width:36px;height:36px;display:grid;place-items:center;background:#eafaf9;color:#008d8c;border-radius:10px}.kpi-icon svg{width:18px}.kpi-value{font-size:27px;letter-spacing:-1.2px;font-weight:850;line-height:1.1}.kpi-foot{font-size:11px;color:var(--muted);margin-top:9px}.section-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:17px}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:center;justify-content:space-between}.panel-head h2{font-size:15px;margin:0;letter-spacing:-.35px}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.panel-body{padding:18px 22px}.row-order{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f2}.row-order:last-child{border-bottom:0}.row-order .order-left{min-width:0;display:flex;align-items:center;gap:11px}.initials{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:#ecf7f7;color:#0c8988;font-weight:850;font-size:12px}.row-title{font-size:12px;font-weight:800}.row-meta{font-size:11px;color:var(--muted);margin-top:4px}.row-right{text-align:right;flex-shrink:0}.row-right .amount{font-size:12px;font-weight:850;margin-top:6px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:850;padding:6px 9px;border-radius:7px;white-space:nowrap}.tag.teal{background:#d8f8f5;color:#08786f}.tag.gray{background:#eef1f4;color:#586571}.tag.amber{background:#fff0d4;color:#956000}.tag.blue{background:#e8f0ff;color:#305da0}.tag.red{background:#ffeced;color:#b23b46}.tag.green{background:#dff7e9;color:#19714b}.action-row{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f2}.action-row:last-child{border-bottom:0}.action-title{font-size:12px;font-weight:800;margin-bottom:4px}.action-sub{font-size:11px;color:var(--muted)}.info-banner{display:flex;gap:12px;background:#e8fbf9;border:1px solid #c9f1ee;color:#27575a;padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:12px;line-height:1.6}.demo-banner{display:flex;align-items:center;gap:10px;background:#fff5da;color:#6b5119;border-bottom:1px solid #f3dfac;padding:9px 34px;font-size:12px;font-weight:650}.demo-banner svg{width:16px;height:16px}.toolbar{display:flex;gap:9px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.search{position:relative;flex:1;min-width:215px}.search svg{position:absolute;left:12px;top:12px;width:17px;height:17px;color:#9baab2}.search input{padding-left:38px;height:42px}.toolbar select{max-width:215px;height:42px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}thead{background:#f9fbfb}th{text-align:left;padding:15px 17px;color:#7f8b94;font-size:10px;text-transform:uppercase;letter-spacing:.75px;font-weight:800}td{padding:15px 17px;border-top:1px solid #edf0f2;vertical-align:middle}tbody tr:hover{background:#fbfdfc}tbody tr{cursor:pointer}td .client-title{font-weight:800}td .client-sub{font-size:10px;color:#8a969e;margin-top:4px}td .mini-amount{font-weight:800}.dots{width:34px;height:34px;display:grid;place-items:center;background:#f1f5f5;border-radius:9px;border:0;color:#62717b}.empty{padding:48px 18px;text-align:center;color:var(--muted)}.empty svg{width:28px;height:28px;margin-bottom:10px;color:#a6b3b8}.empty h3{color:#53626a;font-size:15px;margin:0 0 7px}.empty p{font-size:12px;margin:0}.bottom-nav{display:none}.overlay{position:fixed;inset:0;background:rgba(17,29,36,.52);z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.modal{width:min(100%,690px);max-height:92vh;display:flex;flex-direction:column;background:white;border-radius:17px;overflow:hidden;box-shadow:0 25px 90px #16242b55}.modal.large{width:min(100%,920px)}.modal-top{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.modal-top h2{font-size:18px;letter-spacing:-.4px;margin:0}.modal-top .sub{font-size:11px;color:var(--muted);margin:5px 0 0}.modal-content{overflow-y:auto;padding:23px 24px;min-height:0}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:15px 24px;border-top:1px solid var(--border);background:#fefefe;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field.wide{grid-column:1/-1}.field.third{grid-column:auto}.fieldset-title{font-size:12px;font-weight:850;color:var(--ink);letter-spacing:.1px;margin:23px 0 12px;padding-top:17px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.item-card{border:1px solid var(--border);background:#fcfdfd;padding:14px;border-radius:12px;margin:10px 0}.item-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:9px}.item-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.item-row-head strong{font-size:12px}.help{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.detail-two{display:grid;grid-template-columns:1fr 1fr;gap:17px}.detail-block{background:#f8fafb;border:1px solid #ebeff0;padding:15px;border-radius:12px}.detail-block h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#829096;margin:0 0 12px}.detail-block p{font-size:12px;line-height:1.6;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-items{margin:14px 0;border-radius:10px;border:1px solid #edf0f2;overflow:hidden}.detail-items>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0f2;padding:12px;font-size:12px}.detail-items>div:last-child{border:0}.progress-track{height:8px;border-radius:10px;background:#e9f0f0;overflow:hidden}.progress-fill{height:100%;background:var(--mint);border-radius:10px}.file-preview{width:100%;max-height:240px;object-fit:contain;background:#f0f5f5;border-radius:10px}.timeline{padding-left:18px;margin:0}.timeline li{margin-bottom:10px;font-size:11px;line-height:1.4;color:var(--muted)}.timeline strong{color:var(--ink)}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-left{background:#202d35;color:white;padding:9vw;display:flex;justify-content:center;flex-direction:column}.login-logo{display:flex;align-items:center;gap:14px;font-size:24px;letter-spacing:-1px;font-weight:900}.login-logo img{width:65px}.login-left h1{font-size:clamp(36px,4vw,60px);letter-spacing:-2px;line-height:1.1;margin:65px 0 20px}.login-left h1 em{color:var(--mint);font-style:normal}.login-left p{font-size:15px;color:#b7c5ca;max-width:430px;line-height:1.7}.login-right{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:min(100%,405px)}.login-card h2{font-size:26px;letter-spacing:-1px;margin:0 0 9px}.login-card p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:27px}.login-card .field{margin-bottom:16px}.login-card .btn{width:100%;font-size:14px;margin-top:10px;height:46px}.login-mark{margin-top:28px;text-align:center;font-size:11px;color:var(--muted)}#toasts{position:fixed;bottom:22px;right:22px;z-index:150;display:grid;gap:8px;max-width:min(370px,calc(100vw - 30px))}.toast{padding:13px 17px;background:#233940;color:white;border-radius:11px;box-shadow:0 10px 40px #283d3d44;font-size:12px;font-weight:650;line-height:1.5}.toast.error{background:#a93643}.no-border{border:0!important}.input-with{display:flex;align-items:center;gap:8px}.input-with input{flex:1}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.standout{font-size:18px;font-weight:900;letter-spacing:-.5px}.dash-alert{font-size:11px;font-weight:800;color:#b25f12}.logo-mobile{display:none}hr{border:0;border-top:1px solid var(--border);margin:20px 0}.sim-chip{border:1px solid #bee7e6;background:#e9fbf9;color:#12847f;border-radius:20px;padding:6px 10px;font-weight:800;font-size:11px}.payment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.payment-row:last-child{border:0}.payment-row b{font-size:12px}.payment-row p{font-size:11px;color:var(--muted);margin:4px 0 0}
@media(max-width:1150px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.sidebar{width:210px}.workspace{margin-left:210px;width:calc(100% - 210px)}.content{padding:24px}.topbar{padding:0 24px}}@media(max-width:760px){.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:65px;padding:0 17px}.logo-mobile{display:block;width:32px;height:32px;object-fit:contain}.topbar-left{display:flex;gap:9px;align-items:center}.topbar-title{font-size:13px}.topbar-sub{display:none}.top-actions .userchip{display:none}.top-actions .btn span{display:none}.content{padding:22px 14px 105px}.page-heading{align-items:stretch;flex-direction:column;margin-bottom:20px}.page-heading h1{font-size:25px}.page-heading .button-row .btn{flex:1}.cards{gap:10px;margin-bottom:15px}.kpi{padding:15px}.kpi-head{margin-bottom:12px}.kpi-value{font-size:23px}.kpi-label{font-size:11px}.kpi-icon{height:31px;width:31px}.panel-head,.panel-body{padding:15px}.bottom-nav{position:fixed;bottom:0;inset-inline:0;height:calc(65px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);display:flex;justify-content:space-around;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:none;flex:1;color:#8a9aa0;font-size:9px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;font-weight:750}.bottom-nav button.active{color:#068b87}.bottom-nav svg{width:20px;height:20px}.demo-banner{padding:10px 14px}.toolbar select{max-width:calc(50% - 5px);flex:1}.search{min-width:100%;order:-1}.row-order .row-right .tag{font-size:9px}.modal{max-height:94dvh}.overlay{align-items:end;padding:0}.modal,.modal.large{border-radius:17px 17px 0 0;max-height:96dvh;width:100%}.modal-content{padding:18px 16px}.modal-top,.modal-foot{padding:16px}.form-grid{gap:11px}.item-grid{grid-template-columns:1fr 1fr}.detail-two{grid-template-columns:1fr}.login-screen{grid-template-columns:1fr}.login-left{padding:26px}.login-left h1,.login-left p{display:none}.login-logo img{width:45px}.login-right{padding:38px 22px;align-items:flex-start}.login-card{max-width:420px}.login-card h2{font-size:23px}.login-mark{margin-top:20px}}@media(max-width:390px){.cards{gap:8px}.kpi-value{font-size:20px}.kpi{padding:12px}.kpi-head{gap:5px}.kpi-icon{width:27px;height:27px}.kpi-icon svg{width:15px}.btn{font-size:11px;padding:9px 11px}.page-heading h1{font-size:23px}}
/* NerdsClub Gestão PRO 1.1 • Estoque e seletor de tema */
.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;padding:0;background:var(--white);color:var(--ink);border:1px solid var(--border);border-radius:11px;cursor:pointer;transition:background .15s,color .15s}
.theme-toggle:hover{background:#e8f9f8}.theme-toggle svg{width:18px;height:18px;stroke-width:1.7}.theme-toggle:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.login-right{position:relative}.login-right>.theme-toggle{position:absolute;top:22px;right:24px}
.stock-shortcut{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--white);border:1px solid var(--border);border-radius:13px;padding:12px 16px;margin-bottom:19px;box-shadow:var(--shadow)}
.stock-shortcut>div{display:flex;align-items:center;gap:9px;font-size:12px;flex-wrap:wrap}.stock-shortcut svg{color:#048d88;width:17px;height:17px}.stock-shortcut span{color:var(--muted)}
.stock-table td{white-space:nowrap}.stock-actions{display:flex;gap:7px;align-items:center}.stock-actions .btn{min-height:32px}.stock-delta{font-size:13px;flex:none}.stock-delta.positive{color:var(--green)}.stock-delta.negative{color:var(--red)}.stock-history{margin-top:18px}
.stock-available{padding:13px 14px;border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:18px;font-size:12px;line-height:1.6}
/* Tokens de cor; o tema escuro afeta apenas a apresentação, nunca os dados. */
:root{--panel-bg:#fff;--input-bg:#fff;--item-bg:#fcfdfd;--table-head:#f9fbfb}
html[data-theme="dark"]{color-scheme:dark;--ink:#e6f0f0;--gray:#c1cacc;--muted:#a3b3bc;--border:#34464d;--bg:#111a1f;--white:#1d2a31;--sidebar:#10191e;--red:#fc818b;--amber:#f3c17a;--green:#67d5a3;--blue:#9fbcfc;--shadow:0 12px 36px rgba(0,0,0,.14);--panel-bg:#1d2a31;--input-bg:#172228;--item-bg:#1a272d;--table-head:#18252b}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:var(--input-bg);color:var(--ink);border-color:var(--border)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#8397a0}
html[data-theme="dark"] label{color:#b9c9ce}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .kpi,html[data-theme="dark"] .modal,html[data-theme="dark"] .bottom-nav,html[data-theme="dark"] .stock-shortcut{background:var(--panel-bg);color:var(--ink)}
html[data-theme="dark"] .btn{background:#27373f;color:var(--ink);border-color:#3c515b}
html[data-theme="dark"] .btn-primary{background:var(--mint);border-color:var(--mint);color:#052a2a}
html[data-theme="dark"] .btn-danger{color:#ff9a9f;border-color:#64434b}
html[data-theme="dark"] .btn-dark{background:#374a52;color:#fff}
html[data-theme="dark"] .btn:hover{filter:brightness(1.09)}
html[data-theme="dark"] .theme-toggle{background:#24343b;color:#e7f2f2;border-color:#39505a}
html[data-theme="dark"] .theme-toggle:hover{background:#315058}
html[data-theme="dark"] .userchip,html[data-theme="dark"] .dots{background:#26383e;color:#c4d5d8;border-color:#395058}
html[data-theme="dark"] .row-order,html[data-theme="dark"] .action-row,html[data-theme="dark"] td,html[data-theme="dark"] .payment-row{border-color:#33454c}
html[data-theme="dark"] .initials{background:#173d40;color:#5ce0d6}
html[data-theme="dark"] thead{background:var(--table-head)}
html[data-theme="dark"] th{color:#9db2b9}
html[data-theme="dark"] tbody tr:hover{background:#273940}
html[data-theme="dark"] .modal-foot{background:#1b292f}
html[data-theme="dark"] .item-card,html[data-theme="dark"] .detail-block{background:var(--item-bg);border-color:var(--border)}
html[data-theme="dark"] .empty h3{color:#c7d8db}
html[data-theme="dark"] .kpi-label,html[data-theme="dark"] td .client-sub{color:#99adb4}
html[data-theme="dark"] .kpi-icon{background:#193e41;color:#4bd6cf}
html[data-theme="dark"] .info-banner{background:#1a3739;border-color:#31565a;color:#c4e4e1}
html[data-theme="dark"] .demo-banner{background:#554120;color:#ffe3a1;border-color:#775b27}
html[data-theme="dark"] .progress-track{background:#3c5054}
html[data-theme="dark"] .sim-chip{background:#183f3d;border-color:#3d6b68;color:#78e1d8}
html[data-theme="dark"] .tag.gray{background:#34454d;color:#cad7dc}
html[data-theme="dark"] .tag.blue{background:#233d65;color:#c0d5ff}
html[data-theme="dark"] .tag.amber{background:#554127;color:#ffdc9f}
html[data-theme="dark"] .tag.green{background:#174d3d;color:#8af2c0}
html[data-theme="dark"] .tag.teal{background:#174c4c;color:#89f2e7}
html[data-theme="dark"] .tag.red{background:#5b2937;color:#ffb3bd}
html[data-theme="dark"] .login-screen{background:#172127}
html[data-theme="dark"] .login-right{background:#172127}
html[data-theme="dark"] .login-left{background:#0f191d}
html[data-theme="dark"] .sidebar{background:#0e171b}
html[data-theme="dark"] .nav:not(.active):hover{background:#263840}
html[data-theme="dark"] .bottom-nav button{color:#a1b0b8}
html[data-theme="dark"] .bottom-nav button.active{color:#4be0d7}
html[data-theme="dark"] .stock-available{background:#172228}
@media(max-width:760px){.topbar .theme-toggle{width:34px;height:34px;flex-basis:34px;border-radius:9px}.bottom-nav button{font-size:8px;letter-spacing:-.15px}.bottom-nav svg{width:19px;height:19px}.stock-shortcut{align-items:flex-start;flex-direction:column}.stock-shortcut .btn{width:100%}.stock-actions{gap:4px}.stock-actions .btn{padding:6px 8px}.stock-table td,.stock-table th{padding-inline:12px}}


/* v1.1.1: correção do formulário Novo pedido que não rolava.
   O form é filho flex da modal e precisa receber a altura disponível.
   Sem isso, ele cresce além da janela e a modal corta seus campos. */
.modal > form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.modal > form > .modal-content,
.modal > .modal-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
.modal > .modal-top,
.modal > .modal-foot {
  flex: 0 0 auto;
}
/* Utiliza a altura visível na tela, mesmo nas barras móveis de navegador. */
.modal { max-height: 92vh; max-height: 92dvh; }
@media (max-width: 760px) {
  .modal, .modal.large { max-height: 96vh; max-height: 96dvh; }
  .modal-foot { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}

/* v1.3: ambiente de testes compartilhável. */
.tester-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 24px;line-height:1.5}
.tester-banner span{flex:1;min-width:200px}
.tester-banner strong{letter-spacing:.3px}
.tester-banner .btn{background:transparent;border-color:currentColor;color:inherit}
.test-report-top{border-color:#ccd5d9;color:#3c555c}
.test-report-fab{position:fixed;z-index:35;right:22px;bottom:24px;background:#24343b;border:1px solid #42575b;color:#fff;border-radius:32px;box-shadow:0 7px 24px rgba(0,0,0,.16);padding:12px 16px;font-weight:750;font-size:12px;display:none;align-items:center;gap:7px}
.test-report-fab svg{width:18px;height:18px}
.test-guide{display:grid;gap:12px}
.test-check{display:flex;gap:12px;align-items:flex-start;margin:0;padding:11px;border-radius:10px;border:1px solid var(--border);color:var(--ink);font-size:13px}
.test-check input{margin:2px 0 0;flex:0 0 auto}
.test-check span{display:grid;gap:4px}.test-check small{font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}
html[data-theme=dark] .test-report-top{color:var(--ink);border-color:var(--border)}
html[data-theme=dark] .test-check{background:var(--item-bg)}
@media(max-width:760px){.tester-banner{padding:9px 12px;gap:6px;font-size:12px}.tester-banner .btn{margin-left:auto}.test-report-top{display:none}.test-report-fab{display:flex;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));padding:10px 13px}.top-actions .userchip{display:none}}
@media(min-width:761px){.test-report-top{display:inline-flex}}

/* v1.4 — cadastro de cliente no pedido e preço manual obrigatório */
.client-mode-box{background:var(--item-bg);border:1px solid var(--border);border-radius:13px;padding:17px;margin:0 0 15px}
.client-mode-row{display:flex;gap:12px;align-items:flex-start}.client-mode-row>.field{flex:1;min-width:0}.client-mode-row>.btn{margin-top:24px;white-space:nowrap}
.client-inline{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.client-inline[hidden]{display:none!important}
.client-inline>p{margin:0 0 12px}.price-help{margin:14px 0 20px;color:var(--muted)}
.form-top-fields{margin:10px 0}.item-grid .field .help{font-weight:400;line-height:1.4}
#order-total{overflow-wrap:anywhere}#order-client{width:100%}
@media(max-width:600px){.client-mode-row{flex-direction:column;align-items:stretch}.client-mode-row>.btn{margin-top:0;width:100%;justify-content:center}.client-mode-box{padding:12px}}

/* Versão 1.5: retorno discreto da consulta de CEP. */
.cep-status[data-state="success"]{color:#16856e}
.cep-status[data-state="error"]{color:#b84449}
.cep-status[data-state="loading"]{color:var(--text-muted,#666)}
