:root{--text:#2a2a33;--text-muted:#6b6375;--bg:#f6f5f9;--surface:#fff;--border:#e5e4e7;--accent:#7c3aed;--accent-dark:#5b21b6;--danger:#dc2626;--success:#16a34a;--warn:#d97706;--sans:system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:12px 24px;display:flex}.brand{font-size:1.1rem;font-weight:700}.nav{flex:1;gap:4px;display:flex}.nav-link{color:var(--text-muted);border-radius:8px;padding:8px 14px;font-weight:500;text-decoration:none}.nav-link.active{background:var(--accent);color:#fff}.status{font-size:.8rem}.status.online{color:var(--success)}.status.offline{color:var(--text-muted)}.content{width:100%;max-width:1100px;margin:0 auto;padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-header h1{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:18px 20px}.card h2{margin-top:0;font-size:1.05rem}.card-header{justify-content:space-between;align-items:center;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:600}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn.danger{background:var(--danger);color:#fff}.btn.small{padding:4px 10px;font-size:.8rem}.file-btn{cursor:pointer;align-items:center;display:inline-flex}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1rem}.icon-btn:hover{background:var(--bg)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.table tfoot td{border-top:2px solid var(--border);border-bottom:none;font-weight:600}.empty{text-align:center;color:var(--text-muted);padding:20px!important}.empty.small{font-size:.85rem;padding:8px!important}.row-actions{gap:4px;display:flex}.inline-input{border:1px solid var(--border);border-radius:6px;width:100%;padding:4px 8px}.inline-input.small{width:90px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.stat-label{color:var(--text-muted);margin-bottom:6px;font-size:.85rem}.stat-value{font-size:1.6rem;font-weight:700}.stat-value.warn{color:var(--warn)}.status-breakdown{flex-wrap:wrap;gap:10px;display:flex}.status-pill{background:var(--bg);border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;display:flex}.kanban{gap:14px;padding-bottom:12px;display:flex;overflow-x:auto}.kanban-col{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;min-width:220px;max-height:75vh;display:flex}.kanban-col-title{border-bottom:1px solid var(--border);padding:10px 14px;font-size:.85rem;font-weight:600}.kanban-col-body{flex-direction:column;gap:8px;padding:10px;display:flex;overflow-y:auto}.kanban-card{background:var(--bg);cursor:grab;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.kanban-card:hover{border-color:var(--accent)}.kanban-card-title{font-size:.9rem;font-weight:600}.kanban-card-sub{color:var(--text-muted);margin-top:2px;font-size:.78rem}.kanban-card-price{color:var(--accent-dark);margin-top:6px;font-weight:700}.kanban-card-prazo{color:var(--warn);margin-top:4px;font-size:.75rem}.filtro-tabs{gap:4px;display:flex}.tab{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:.85rem}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-overlay{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:12px;width:100%;max-height:90vh;margin:20px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{margin:0}.modal-body{padding:20px}.form{flex-direction:column;gap:14px;display:flex}.form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.form input,.form select,.form textarea{border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.95rem}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.itens-servico{border:1px solid var(--border);border-radius:8px;padding:10px}.itens-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.item-row{grid-template-columns:1fr 70px 32px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.resumo-calculo{background:var(--bg);border-radius:8px;gap:18px;padding:10px 14px;font-size:.9rem;display:flex}.hint{color:var(--text-muted);margin-top:-8px;font-size:.85rem}
