:root{--bg:#f4f5f7;--card:#fff;--ink:#202124;--muted:#6b7280;--line:#e5e7eb;--primary:#714b67;--primary2:#875a7b;--good:#12805c;--warn:#b26a00;--bad:#b42318;--blue:#2f6fed;--radius:14px;--shadow:0 1px 3px rgba(16,24,40,.06),0 8px 20px rgba(16,24,40,.04)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{width:235px;background:#fff;border-right:1px solid var(--line);padding:18px 12px;position:fixed;left:0;top:0;bottom:0;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand-badge{width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.brand strong{font-size:16px}.nav-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;padding:14px 10px 6px}.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:#4b5563;margin:2px 0}.nav a:hover,.nav a.active{background:#f2edf1;color:var(--primary);font-weight:600}.main{margin-left:235px;min-width:0;flex:1}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.content{padding:24px;max-width:1500px;margin:auto}.page-title{font-size:24px;font-weight:750;margin:0}.sub{color:var(--muted);margin-top:4px}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(6,minmax(140px,1fr));margin:20px 0}.kpi,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:16px}.kpi .label{font-size:12px;color:var(--muted);margin-bottom:8px}.kpi .value{font-size:24px;font-weight:760}.kpi .hint{font-size:11px;color:var(--muted);margin-top:6px}.card{padding:18px}.cards2{grid-template-columns:1fr 1fr}.cards3{grid-template-columns:repeat(3,1fr)}.module-grid{grid-template-columns:repeat(4,minmax(210px,1fr));margin-top:18px}.module{padding:20px;min-height:145px;position:relative;overflow:hidden}.module .ico{font-size:28px}.module h3{margin:12px 0 6px}.module p{color:var(--muted);margin:0;line-height:1.45}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0}.btn{border:1px solid #d1d5db;background:#fff;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:600;color:#374151;display:inline-flex;gap:7px;align-items:center}.btn:hover{background:#f9fafb}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}.btn-danger{color:#fff;background:var(--bad);border-color:var(--bad)}.btn-sm{padding:6px 9px;font-size:12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#fafafa}tr:last-child td{border-bottom:0}.right{text-align:right}.center{text-align:center}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2ff;color:#4f46e5}.badge.good{background:#e9f8f2;color:var(--good)}.badge.warn{background:#fff6e5;color:var(--warn)}.badge.bad{background:#fff0ee;color:var(--bad)}.badge.gray{background:#f3f4f6;color:#6b7280}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.c12{grid-column:span 12}.c8{grid-column:span 8}.c6{grid-column:span 6}.c4{grid-column:span 4}.c3{grid-column:span 3}.c2{grid-column:span 2}.field label{display:block;font-size:12px;font-weight:650;margin-bottom:6px;color:#4b5563}.field input,.field select,.field textarea{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:9px 10px;background:#fff;color:#111827;font:inherit}.field textarea{min-height:86px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#a78b9e;box-shadow:0 0 0 3px rgba(113,75,103,.11)}.muted{color:var(--muted)}.alert{padding:11px 13px;border-radius:10px;margin:10px 0;border:1px solid}.alert.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.alert.error{background:#fef3f2;border-color:#fecdca;color:#b42318}.alert.warning{background:#fffaeb;border-color:#fedf89;color:#b54708}.alert.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#f7f3f6,#eef2f7)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 18px 60px rgba(16,24,40,.10)}.login-card .brand{padding-left:0}.login-card h1{font-size:24px;margin:8px 0 4px}.divider{height:1px;background:var(--line);margin:18px 0}.line-items .row{display:grid;grid-template-columns:5fr 1fr 1.5fr 1fr 1.5fr auto;gap:8px;margin-bottom:8px}.line-items input,.line-items select{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:8px}.doc-box{background:#fff;border:1px solid var(--line);max-width:900px;margin:20px auto;padding:34px;border-radius:12px}.doc-head{display:grid;grid-template-columns:1fr 120px 1fr;align-items:start;border:1px solid #111}.doc-head>div{padding:15px}.doc-letter{font-size:42px;text-align:center;font-weight:800;border-left:1px solid #111;border-right:1px solid #111}.doc-logo{max-width:180px;max-height:80px}.doc-table{margin-top:20px;border:1px solid #111}.doc-table th,.doc-table td{border:1px solid #c8c8c8}.arca-foot{margin-top:22px;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}.qr{width:120px;height:120px}.settings-note{font-size:12px;background:#f8fafc;padding:10px;border-radius:8px;color:#475467}.progress{height:8px;background:#eee;border-radius:8px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary)}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.module-grid{grid-template-columns:repeat(2,1fr)}.cards2,.cards3{grid-template-columns:1fr}}
@media(max-width:780px){.sidebar{display:none}.main{margin-left:0}.content{padding:16px}.kpis{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:1fr}.form-grid{display:block}.field{margin-bottom:12px}.line-items .row{grid-template-columns:1fr 1fr}.line-items .row>*:first-child{grid-column:1/-1}.topbar{padding:0 14px}.doc-head{grid-template-columns:1fr 80px 1fr}.doc-box{padding:16px}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}.doc-box{border:0;box-shadow:none;max-width:none;margin:0;padding:8mm}.card{box-shadow:none}.page-break{page-break-before:always}}
.dashboard-modules{margin-top:22px;grid-template-columns:repeat(3,minmax(230px,1fr))}
.dashboard-modules .module{min-height:160px;transition:transform .12s ease,box-shadow .12s ease}
.dashboard-modules .module:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,24,40,.09)}
.dashboard-summary{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.summary-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}.summary-head h3{margin:0;font-size:18px}
.compact-kpis{margin:14px 0;grid-template-columns:repeat(6,minmax(130px,1fr))}.compact-kpis .kpi{padding:13px}.compact-kpis .value{font-size:19px}.summary-fiscal{padding:14px 16px}
@media(max-width:1100px){.dashboard-modules{grid-template-columns:repeat(2,1fr)}.compact-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.dashboard-modules{grid-template-columns:1fr}.compact-kpis{grid-template-columns:repeat(2,1fr)}}

/* Automatiza360 branding */
.login-brand-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:4px}
.login-brand-row .brand{padding:4px 0 18px;flex:1}
.login-autom-logo{width:42px;height:auto;max-height:50px;object-fit:contain;display:block;opacity:.96;filter:drop-shadow(0 1px 1px rgba(16,24,40,.08))}
.app-footer{max-width:1500px;margin:4px auto 0;padding:0 24px 22px;color:#98a2b3;font-size:11px;text-align:center}
.app-footer a,.login-footer a{color:inherit}.app-footer a:hover,.login-footer a:hover{color:var(--primary)}
.login-footer{position:fixed;left:0;right:0;bottom:12px;text-align:center;color:#98a2b3;font-size:11px;padding:0 16px;z-index:2}
@media(max-width:780px){.app-footer{padding:0 16px 18px}.login-footer{position:static;margin-top:-42px;padding-bottom:16px}.login-autom-logo{width:38px}}
@media print{.app-footer,.login-footer{display:none!important}}
