:root{--brand-900:#00343a;--brand-700:#004c53;--brand-500:#0e6a72;--brand-300:#7fb5ba;--brand-100:#e3f0f1;--brand-50:#f2f8f8;--success:#2a7d4f;--success-pale:#e8f5ee;--warning:#e07b39;--warning-pale:#fdf0e8;--danger:#d94f4f;--danger-pale:#fdeaea;--info:#2d6fa3;--info-pale:#e8f0f8;--attention:#d4a017;--attention-pale:#fdf6e3;--gray-50:#f7f8f6;--gray-100:#eff0ed;--gray-500:#6b7268;--gray-700:#3d4239;--gray-900:#1a1d18;--radius:10px;--radius-lg:14px;--shadow:0 2px 10px rgba(0,0,0,0.1);--font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-ui);font-size:14px;color:var(--gray-900);background:var(--brand-50)}.btn{border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);padding:8px 14px;border-radius:var(--radius);font:inherit;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--brand-700);border-color:var(--brand-700);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-500)}.btn-link{color:var(--brand-700);font:inherit;text-decoration:underline}.btn-icon,.btn-link{background:none;border:none;cursor:pointer}.btn-icon{font-size:1rem;color:var(--gray-500)}input,select{font:inherit;padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff}input:focus,select:focus{outline:2px solid var(--brand-300)}.muted{color:var(--gray-500);font-size:.82rem}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,var(--brand-50),var(--brand-100))}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px;width:360px;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0;color:var(--brand-700);font-size:2rem}.login-byline{display:block;font-size:.7rem;font-feature-settings:"smcp";font-variant-caps:small-caps;letter-spacing:2px;color:var(--gray-500)}.login-tagline{margin:0;color:var(--gray-500)}.login-card label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.82rem}.login-error{color:var(--danger);background:var(--danger-pale);padding:8px 10px;border-radius:var(--radius);margin:0}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w,220px);flex-shrink:0;background:var(--brand-900);color:#fff;display:flex;flex-direction:column}.sidebar-brand{padding:18px 16px 14px;font-size:1.25rem;font-weight:700}.sidebar-brand span{display:block;font-size:.62rem;font-feature-settings:"smcp";font-variant-caps:small-caps;letter-spacing:1.5px;color:var(--brand-300)}.sidebar nav{overflow-y:auto;padding-bottom:16px}.nav-item{display:block;padding:8px 16px;color:var(--brand-100);text-decoration:none;font-size:.86rem}.nav-item.active,.nav-item:hover{background:var(--brand-700)}.nav-item.active{border-left:3px solid #fff;padding-left:13px;font-weight:600;color:#fff}.nav-item.disabled{color:rgba(227,240,241,.35);cursor:default}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:16px;background:#fff;border-bottom:1px solid var(--gray-200);padding:10px 20px}.topbar-tenant{font-weight:700;color:var(--brand-700)}.topbar-spacer{flex:1 1}.topbar-camp{background:var(--brand-100);color:var(--brand-700);padding:4px 12px;border-radius:999px;font-weight:600;font-size:.82rem}.content{padding:20px;flex:1 1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-header h2{margin:0}.page-actions{display:flex;gap:10px;align-items:center}.seg{display:inline-flex;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden}.seg button{border:none;background:#fff;padding:7px 14px;cursor:pointer;font:inherit}.seg button.active{background:var(--brand-700);color:#fff}.stats-row{display:flex;gap:14px;margin-bottom:14px}.stat-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px 18px;min-width:140px}.stat-value{font-size:1.4rem;font-weight:700;color:var(--brand-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{color:var(--gray-500);font-size:.78rem}.banner{background:var(--success-pale);border:1px solid var(--success-mid,#d0eadb);color:var(--gray-700);padding:10px 14px;border-radius:var(--radius);margin-bottom:12px;display:flex;gap:12px;align-items:center;cursor:pointer}.parcelas-body{display:flex;gap:16px;align-items:flex-start}.parcelas-main{flex:1 1;min-width:0}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);padding:10px 12px;border-bottom:1px solid var(--gray-200)}.table td{padding:10px 12px;border-bottom:1px solid var(--gray-100);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:var(--brand-50)}.table tbody tr.selected{background:var(--brand-100)}.side-panel{width:280px;flex-shrink:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.side-panel-head{display:flex;justify-content:space-between;align-items:center}.side-panel-head h3{margin:0}.side-panel dl{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 12px;gap:6px 12px;font-size:.86rem}.side-panel dt{color:var(--gray-500)}.side-panel dd{margin:0;font-weight:600}.side-panel-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.modal-bar{position:-webkit-sticky;position:sticky;bottom:12px;margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--brand-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:12px 16px}.vertex-marker{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--brand-700);cursor:-webkit-grab;cursor:grab}.modal-overlay{position:fixed;inset:0;background:rgba(0,52,58,.45);display:grid;place-items:center;z-index:50}.modal-dialog{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:20px;width:min(560px,92vw);max-height:80vh;overflow-y:auto}.diff-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.diff-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--gray-100);border-radius:var(--radius)}.diff-name{flex:1 1}.tag{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}.tag-new{background:var(--success-pale);color:var(--success)}.tag-changed{background:var(--warning-pale);color:var(--warning)}.tag-same{background:var(--gray-100);color:var(--gray-500)}.dash-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.card-p{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.card-p h3{margin:0 0 10px;font-size:.95rem}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.activity-list li{display:flex;gap:10px;align-items:center}.activity-title{flex:1 1}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 14px;gap:10px 14px;margin-top:10px}.form-field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.8rem}.form-field textarea{font:inherit;padding:8px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);min-height:56px}.parcel-multi{display:flex;flex-wrap:wrap;gap:6px}.parcel-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gray-200);border-radius:999px;padding:4px 10px;font-weight:400;cursor:pointer}.parcel-chip.sel{background:var(--brand-100);border-color:var(--brand-300);font-weight:600}.warn-high-box{margin-top:12px;background:var(--warning-pale);border:1px solid var(--warning);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px}.warn-item{font-size:.86rem}.ack-check{display:flex;gap:8px;align-items:center;font-weight:700;margin-top:4px}.alert-list{display:flex;flex-direction:column;gap:8px}.alert-card{display:flex;gap:12px;align-items:center;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px 14px}.alert-body{flex:1 1}.sev{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.sev-info{background:var(--info-pale);color:var(--info)}.sev-warn{background:var(--attention-pale);color:var(--attention)}.sev-high{background:var(--warning-pale);color:var(--warning)}.sev-crit{background:var(--danger-pale);color:var(--danger)}