:root{--green: #82a56c;--green-bright: #8fc06a;--blue: #00a0de;--blue-deep: #0784b6;--dark: #34383c;--dark-2: #2b2f34;--ink: #1f2327;--muted: #6b7682;--line: #e4ebf0;--bg: #eef3f7;--bg-2: #f7fafc;--card: #ffffff;--amber: #e8a13a;--red: #e0584f;--grad: linear-gradient(120deg, var(--green-bright) 0%, var(--blue) 100%);--grad-dark: linear-gradient(135deg, #3a3f45 0%, #23272c 100%);--r-sm: 10px;--r: 16px;--r-lg: 22px;--shadow-sm: 0 2px 8px rgba(35, 50, 65, .06);--shadow: 0 12px 30px rgba(35, 50, 65, .1);--shadow-lg: 0 24px 60px rgba(35, 50, 65, .16);--font: "Segoe UI", Inter, system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--blue-deep)}.app-bg{min-height:100vh;padding-bottom:40px;background:radial-gradient(900px 500px at 10% -5%,rgba(143,192,106,.18),transparent 60%),radial-gradient(820px 520px at 100% 0%,rgba(0,160,222,.16),transparent 55%),linear-gradient(180deg,#f1f6f9,#e7eef3)}h1,h2,h3{margin:0;color:var(--dark);letter-spacing:-.02em}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--blue-deep)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--r-sm);padding:12px 20px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s;color:#fff;background:var(--grad);box-shadow:0 6px 16px #00a0de47}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #00a0de5c}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn.ghost{background:transparent;color:var(--dark);box-shadow:none;border:1px solid var(--line)}.btn.ghost:hover{background:#fff;border-color:var(--blue);color:var(--blue-deep);box-shadow:var(--shadow-sm)}.btn.dark{background:var(--grad-dark);box-shadow:0 6px 16px #23272c4d}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s}.card.hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#00a0de59}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:600;color:var(--dark)}.input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:14px;font-family:inherit;background:#fff;transition:border-color .18s,box-shadow .18s}.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px #00a0de24}select.input{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7682' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1}.badge .dot{width:7px;height:7px;border-radius:50%}.badge.green{background:#82a56c29;color:#4f6b3c}.badge.green .dot{background:var(--green)}.badge.amber{background:#e8a13a29;color:#9a6608}.badge.amber .dot{background:var(--amber)}.badge.blue{background:#00a0de24;color:var(--blue-deep)}.badge.blue .dot{background:var(--blue)}.badge.gray{background:#eef2f5;color:var(--muted)}.badge.gray .dot{background:#b3bdc6}.badge.red{background:#e0584f24;color:#b23a32}.badge.red .dot{background:var(--red)}.app-header{position:sticky;top:0;z-index:50;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}.app-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn.compact{padding:9px 12px;font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:0 0 auto}.hide-narrow{display:inline}@media (max-width: 600px){.hide-narrow{display:none}.btn.compact{padding:8px 10px}.app-header-actions{gap:6px}}.container{max-width:1100px;margin:0 auto;padding:0 22px}.row{display:flex;gap:16px}.spread{display:flex;align-items:center;justify-content:space-between;gap:16px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stack{display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c7d2db;border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--blue);background-clip:content-box}.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:#fff}table.products{width:100%;border-collapse:collapse;font-size:13px;min-width:880px}table.products thead th{position:sticky;top:0;background:var(--grad-dark);color:#fff;font-weight:600;text-align:left;padding:12px;white-space:nowrap;font-size:12px;letter-spacing:.02em}table.products tbody td{padding:11px 12px;border-top:1px solid var(--line);color:var(--ink);white-space:nowrap}table.products tbody tr{transition:background .15s}table.products tbody tr:hover{background:#00a0de0f}table.products tbody tr.invalid{background:#e0584f12}table.products tbody tr.invalid:hover{background:#e0584f1f}.num{text-align:right;font-variant-numeric:tabular-nums}.code{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--blue-deep);font-weight:600}.stat{padding:18px 20px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.stat .value{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat .label{margin-top:8px;font-size:12.5px;color:var(--muted);font-weight:600}.stats-row{display:flex;flex-wrap:wrap;gap:8px}.stat-compact{display:inline-flex;align-items:baseline;gap:6px;padding:8px 12px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:13px}.stat-compact-value{font-weight:800;font-size:15px;letter-spacing:-.02em;color:var(--blue-deep)}.stat-compact-label{font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}.stat-compact--warn{background:#e8a13a1a;border-color:#e8a13a66}.stat-compact--warn .stat-compact-value{color:#9a6608}.client-card-compact{padding:14px 16px!important}.client-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.client-card-title h2{font-size:17px;margin-top:2px;line-height:1.25}.client-inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 12px}.client-inline-field{display:flex;flex-direction:column;gap:1px;font-size:12.5px;min-width:0}.client-inline-label{font-weight:700;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.client-inline-value{font-weight:600;color:var(--dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 460px){.client-inline-grid{grid-template-columns:1fr 1fr}}.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner.dark{border-color:#00a0de40;border-top-color:var(--blue)}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--dark-2);color:#fff;padding:12px 20px;border-radius:12px;box-shadow:var(--shadow-lg);z-index:9999;font-size:14px;font-weight:500}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c23298c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{width:100%;max-width:480px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:28px}html.ext-context,html.ext-context body,html.ext-context #root{min-height:0;height:auto;overflow-x:hidden}html.ext-context .app-bg.ext-panel{min-height:100vh;padding-bottom:0}html.ext-context main.container{padding-bottom:16px}.file-drop{cursor:pointer;border:2px dashed var(--line);background:var(--bg-2);border-radius:var(--r-lg);padding:46px 28px;text-align:center;transition:border-color .2s,background .2s,padding .2s}.file-drop--drag{border-color:var(--blue);background:#00a0de0f}.file-drop--compact{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left}.file-drop--loaded{gap:8px;padding:7px 10px;border-width:1px;border-radius:var(--r-sm)}.file-drop-icon{flex:0 0 auto;width:66px;height:66px;margin:0 auto 16px;border-radius:18px;background:var(--grad);display:grid;place-items:center;box-shadow:0 10px 24px #00a0de4d}.file-drop--compact .file-drop-icon{width:36px;height:36px;margin:0;border-radius:10px;box-shadow:0 4px 12px #00a0de38}.file-drop--compact .file-drop-icon svg{width:18px;height:18px}.file-drop--loaded .file-drop-icon{width:26px;height:26px;border-radius:7px;box-shadow:none}.file-drop--loaded .file-drop-icon svg{width:14px;height:14px}.file-drop--compact .file-drop-icon{margin:0}.file-drop:not(.file-drop--compact) .file-drop-icon{margin:0 auto 16px}.file-drop-body{min-width:0;flex:1}.file-drop-title{font-size:18px;margin:0;max-width:100%}.file-drop--compact .file-drop-title{font-size:14px;font-weight:600}.file-drop--loaded .file-drop-title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-drop-hint{margin:8px 0 0;font-size:13.5px}.file-drop--compact .file-drop-hint{margin:2px 0 0;font-size:11.5px}.file-drop-discard{flex:0 0 auto;align-self:center;padding:5px 9px!important;font-size:11px!important;min-height:0}.file-drop-error{margin-top:10px;padding:8px 12px;width:100%}.file-drop--compact .file-drop-error{margin-top:8px}html.ext-context .upload-card--loaded{padding:6px!important}html.ext-context .file-drop--loaded{padding:5px 8px;gap:6px}html.ext-context .file-drop--loaded .file-drop-title{font-size:11.5px}html.ext-context .file-drop-discard{padding:4px 7px!important;font-size:10.5px!important}html.ext-context .card{padding:16px!important}html.ext-context .stat{padding:12px 14px}html.ext-context .stat .value{font-size:22px}html.ext-context .stat .label{margin-top:4px;font-size:11.5px}html.ext-context h1{font-size:22px}html.ext-context h2{font-size:18px!important}.ploomes-card h2{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ploomes-company-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;margin-bottom:4px}.ploomes-product-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;overflow:hidden}html.ext-context .stats-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}html.ext-context .stat-compact{padding:6px 10px;justify-content:space-between}html.ext-context .stat-compact-value{font-size:14px}html.ext-context .stat-compact-label{font-size:10.5px}html.ext-context .ploomes-product-grid{grid-template-columns:1fr}.product-completion-list{display:flex;flex-direction:column;gap:10px}.product-completion-item{padding:12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-2)}.product-completion-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}html.ext-context .product-completion-fields{grid-template-columns:1fr 1fr}html.ext-context .product-completion h2{font-size:16px!important}html.ext-context .completion-card h2{font-size:15px!important}html.ext-context .product-completion .field label{font-size:11px}html.ext-context .product-completion .input{padding:9px 10px;font-size:13px}.product-completion-ref-ex{opacity:.85}.company-select{width:100%}.company-select-box{position:relative}.company-select-box .input{padding-right:40px}.company-select-spin{position:absolute;right:12px;top:50%;margin-top:-9px}.company-select-list{list-style:none;margin:6px 0 0;padding:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;box-shadow:var(--shadow-sm);max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.company-select-item{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 10px;border:none;border-radius:8px;background:transparent;font-family:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .15s}.company-select-item:hover{background:#00a0de14}.company-select-name{font-weight:600;color:var(--dark);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-select-cnpj{flex:0 0 auto;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.company-select-empty{margin:8px 2px 0;font-size:12.5px;color:var(--muted)}.company-status-name{font-size:12px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-btn{border:none;background:none;padding:4px 2px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--blue-deep);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--blue)}.completion-card{padding:16px;border-left:4px solid var(--amber)}.completion-divider{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.completion-divider:before,.completion-divider:after{content:"";flex:1;height:1px;background:var(--line)}.creation-bar{padding:14px 16px}.creation-bar-hint{font-size:12.5px}.warnings-box{border:1px solid rgba(232,161,58,.4);background:#e8a13a12;border-radius:var(--r-sm);padding:10px 14px;font-size:13px}.warnings-box summary{cursor:pointer;font-weight:600;color:#9a6608;list-style-position:inside}.warnings-box ul{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:12.5px}.warnings-box li{margin-bottom:4px}@media (max-width: 560px){.container{padding:0 14px}.stat .value{font-size:24px}}table.products tbody tr.row-editing{background:#00a0de0f}table.products tbody tr.row-edit-panel:hover{background:transparent}table.products tbody tr.row-edit-panel td{padding:0}.edit-panel{padding:14px 16px;background:var(--bg-2);border-top:2px solid var(--blue)}.edit-panel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px}.edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px}.edit-grid .field label{font-size:12px}.edit-grid .input{padding:8px 10px;font-size:13px}.field--wide{grid-column:span 2}.segmented{display:inline-flex;border:1.5px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#fff}.seg-btn{border:none;background:transparent;padding:7px 14px;font-size:13px;font-weight:600;font-family:inherit;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.seg-btn+.seg-btn{border-left:1.5px solid var(--line)}.seg-btn:hover:not(:disabled){background:var(--bg-2)}.seg-btn.active{background:var(--grad);color:#fff}.seg-btn:disabled{cursor:default;opacity:.6}.icon-btn{border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:3px 7px;font-size:13px;line-height:1;cursor:pointer;flex:none;transition:background .15s,border-color .15s}.icon-btn:hover{background:var(--bg-2);border-color:var(--blue)}.icon-btn.active{background:var(--grad);border-color:transparent}.ploomes-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm)}.ploomes-list-name{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
