:root{--color-bg:#f6f6fb;--color-surface:#fff;--color-surface-sunken:#fbfbfe;--color-border:#e7e7ef;--color-border-strong:#d4d5e3;--color-text:#17171f;--color-text-muted:#6b6c7e;--color-text-disabled:#a3a4b5;--color-text-inverse:#fff;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-active:#3730a3;--color-primary-soft:#eef0fd;--color-primary-border:#c7cbf9;--color-sidebar-bg:#16151f;--color-sidebar-hover:#211f2e;--color-sidebar-active-bg:#817aff29;--color-sidebar-text:#e7e7f0;--color-sidebar-text-muted:#8b8a9e;--color-sidebar-active-text:#fff;--color-sidebar-border:#262533;--color-sidebar-accent:#817aff;--color-success:#15803d;--color-success-soft:#eafbf1;--color-warning:#b45309;--color-warning-soft:#fff7e8;--color-danger:#be123c;--color-danger-soft:#fdeef3;--color-info:#2563eb;--color-info-soft:#eef4ff;--radius:12px;--radius-sm:8px;--radius-lg:18px;--shadow-1:0 1px 2px #1717280d, 0 1px 1px #17172808;--shadow-2:0 16px 32px -12px #17172829, 0 4px 10px -4px #17172814;--sidebar-width:232px}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.55}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);z-index:900;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-top{border-bottom:1px solid var(--color-sidebar-border);align-items:center;gap:10px;padding:20px 18px 18px;display:flex}.sidebar-mark{color:#fff;letter-spacing:-.02em;background:linear-gradient(155deg,#817aff 0%,#4f46e5 100%);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:flex}.sidebar-top-text{min-width:0}.sidebar-brand{color:var(--color-sidebar-text);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:700}.sidebar-scope{color:var(--color-sidebar-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:11.5px;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:14px 12px;display:flex;overflow-y:auto}.sidebar-nav-label{color:var(--color-sidebar-text-muted);text-transform:uppercase;letter-spacing:.07em;padding:10px 10px 6px;font-size:10.5px;font-weight:700}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--color-sidebar-text-muted);white-space:nowrap;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:500;transition:background-color .12s,color .12s;display:flex}.sidebar-nav a svg{opacity:.85;flex-shrink:0}.sidebar-nav a:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text);text-decoration:none}.sidebar-nav a.active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-active-text);font-weight:600}.sidebar-nav a.active svg{opacity:1;color:var(--color-sidebar-accent)}.sidebar-user{border-top:1px solid var(--color-sidebar-border);align-items:center;gap:10px;padding:12px;display:flex}.sidebar-avatar{background:var(--color-sidebar-hover);width:28px;height:28px;color:var(--color-sidebar-text);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user .role{color:var(--color-sidebar-text);font-size:12.5px;font-weight:600;display:block}.sidebar-logout{color:var(--color-sidebar-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background-color .15s,color .15s;display:flex}.sidebar-logout:hover{background:var(--color-sidebar-hover);color:#fb7185}.main{min-width:0;margin-left:var(--sidebar-width);flex:1}.container{max-width:1280px;margin:0 auto;padding:32px 28px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}h1{letter-spacing:-.015em;color:var(--color-text);margin:0;font-size:22px;font-weight:700}.back-link{color:var(--color-text-muted);align-items:center;gap:4px;margin-bottom:6px;font-size:12.5px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--color-primary);text-decoration:none}.detail-grid{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px 24px;margin-bottom:18px;padding-bottom:18px;display:grid}.detail-item{flex-direction:column;gap:4px;min-width:0;display:flex}.detail-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.detail-label svg{opacity:.7;flex-shrink:0}.detail-grid-final{border-bottom:0;margin-bottom:12px;padding-bottom:0}.detail-item-largo{grid-column:1/-1}.cancelamentos-romaneio{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-bottom:20px;display:grid}.card.card-cancelamento{border-color:var(--color-danger);background:var(--color-danger-soft);margin-bottom:0}.card-cancelamento .card-title{margin-top:8px}.lista-simples{flex-direction:column;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.anotacao-form textarea{resize:vertical;width:100%;min-height:90px;padding:10px 12px;font-size:14px;line-height:1.45}.anotacao-rodape{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.detail-value{color:var(--color-text);overflow-wrap:break-word;font-size:14.5px;font-weight:500}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-1);margin-bottom:14px;padding:20px;transition:box-shadow .15s,transform .15s,border-color .15s}.card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.card-grid .card:hover{box-shadow:var(--shadow-2);border-color:var(--color-border-strong);transform:translateY(-2px)}.card-title{color:var(--color-text);letter-spacing:-.005em;margin:0 0 6px;font-size:15.5px;font-weight:600}.card-sub{color:var(--color-text-muted);margin:0 0 10px;font-size:13px}.card-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.btn{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-1);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 11px;font-size:12px}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active);border-color:var(--color-primary-active)}.btn-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-whatsapp{color:#fff;background:#25d366;border-color:#25d366}.btn-whatsapp:hover{background:#1da851;border-color:#1da851}.badge{letter-spacing:.01em;border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.badge-novo{background:var(--color-info-soft);color:var(--color-info)}.badge-contatado{background:var(--color-success-soft);color:var(--color-success)}.badge-erro{background:var(--color-danger-soft);color:var(--color-danger)}.badge-pendente{background:var(--color-warning-soft);color:var(--color-warning)}.badge-andamento{background:var(--color-info-soft);color:var(--color-info)}.bulk-bar{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.bulk-bar .spacer{flex:1}.bulk-select-all{cursor:pointer;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.bulk-select-all input[type=checkbox]{cursor:pointer;width:16px;height:16px}.card-select-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.card-select-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.card-select-row .card-title{margin:0}.card-selecionada{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.field-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field-group label{color:var(--color-text);font-size:13px;font-weight:600}.field-group input,.field-group select{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);padding:10px 12px;font-size:14px}.field-group input:focus,.field-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.erro{color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-sm);margin-top:10px;padding:8px 12px;font-size:13px}.aviso{color:#92650a;background:var(--color-warning-soft);border-radius:var(--radius-sm);border:1px solid #f2d49a;margin-bottom:10px;padding:8px 12px;font-size:13px}.muted{color:var(--color-text-muted);font-size:13px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border);padding:10px 8px;font-size:11.5px;font-weight:600}td{border-top:1px solid var(--color-border);padding:12px 8px}tbody tr{transition:background-color .1s}tbody tr:hover{background:var(--color-surface-sunken)}.peca-linha{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.peca-linha:last-child{border-bottom:none}.peca-info{flex-direction:column;gap:5px;min-width:0;display:flex}.peca-nome{color:var(--color-text);font-size:14px;font-weight:600}.peca-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.peca-tag{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.peca-sku{color:var(--color-text-disabled);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.peca-progresso{font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 9px;font-size:12.5px;font-weight:700;display:inline-flex}.peca-completa{color:var(--color-success);background:var(--color-success-soft);border-color:#0000}.log-dia{margin-bottom:28px}.log-dia-titulo{letter-spacing:.02em;color:var(--color-text);border-bottom:1px solid var(--color-border-strong);align-items:baseline;gap:10px;margin:0 0 8px;padding-bottom:8px;font-size:13px;font-weight:700;display:flex}.log-dia-contagem{color:var(--color-text-muted);font-size:12px;font-weight:500}.log-lista{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.log-linha{border-bottom:1px solid var(--color-border);color:var(--color-text);grid-template-columns:78px 190px 1fr 300px;align-items:center;gap:14px;padding:10px 16px;font-size:13.5px;display:grid}.log-linha:last-child{border-bottom:none}.log-linha-link{color:var(--color-text);text-decoration:none}.log-linha-link:hover{background:var(--color-surface-sunken);text-decoration:none}.log-hora{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600}.log-tipo{letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-self:start;padding:3px 8px;font-size:11.5px;font-weight:700}.log-tipo-neutro{background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border)}.log-tipo-inicio{background:var(--color-info-soft);color:var(--color-info)}.log-tipo-ok{background:var(--color-success-soft);color:var(--color-success)}.log-tipo-erro{background:var(--color-danger-soft);color:var(--color-danger)}.log-tipo-fim{background:var(--color-primary-soft);color:var(--color-primary)}.log-desc{overflow-wrap:break-word;min-width:0}.log-desc strong{font-weight:650}.log-sub{color:var(--color-text-disabled);margin-top:2px;font-size:11.5px;display:block}.log-meta{color:var(--color-text-muted);grid-template-columns:88px minmax(0,1fr) 62px;align-items:center;gap:8px;font-size:11.5px;display:grid}.log-filial{border:1px solid var(--color-border);background:var(--color-surface-sunken);white-space:nowrap;border-radius:999px;justify-self:start;padding:2px 8px;font-weight:600}.log-usuario{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text-disabled);justify-self:end;overflow:hidden}.log-relativo{white-space:nowrap;color:var(--color-text-disabled);justify-self:end}.log-paginacao{justify-content:center;gap:10px;margin-top:24px;display:flex}@media (max-width:860px){.log-linha{grid-template-columns:70px 1fr;gap:6px 12px}.log-tipo,.log-desc{grid-column:2}.log-meta{flex-wrap:wrap;grid-column:2;gap:8px 10px;display:flex}.log-usuario{max-width:none}}.scan-feed{flex-direction:column;gap:4px;display:flex}.scan-feed-item{margin:0;padding:4px 0;font-size:12.5px}.scan-feed-ok{color:var(--color-text-muted)}.scan-feed-erro{color:var(--color-danger);font-weight:600}.progress-summary{margin-bottom:18px}.progress-summary-text{justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.progress-bar{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:999px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .25s}.empty-state{text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface-sunken);color:var(--color-text-muted);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty-state svg{color:var(--color-text-disabled)}.empty-state p{margin:0;font-size:13.5px}.status-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.status-card{text-align:center;max-width:360px;margin-bottom:0}.login-shell{background:linear-gradient(165deg,#17161f 0%,#1b1a29 45%,#221f35 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-shell:before,.login-shell:after{content:"";filter:blur(80px);pointer-events:none;border-radius:999px;position:absolute}.login-shell:before{background:#817aff59;width:420px;height:420px;top:-140px;left:-120px}.login-shell:after{background:#4f46e547;width:360px;height:360px;bottom:-160px;right:-100px}.login-card{z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-2);padding:34px 30px;position:relative}.login-mark{color:#fff;letter-spacing:-.02em;background:linear-gradient(155deg,#817aff 0%,#4f46e5 100%);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:16px;font-size:18px;font-weight:800;display:flex}.login-brand{letter-spacing:-.005em;color:var(--color-text-muted);margin:0 0 2px;font-size:13px;font-weight:700}.login-card h1{margin-bottom:4px}.login-subtitle{color:var(--color-text-muted);margin:0 0 24px;font-size:14px}.login-card button[type=submit]{width:100%;margin-top:4px;padding:11px 16px}
