:root{--brand-ink: #10233d;--brand-ink-soft: #1f3a5f;--brand-accent: #2563eb;--brand-accent-soft: #eff6ff;--color-bg: #f4f6f8;--color-surface: #ffffff;--color-border: #e2e5ea;--color-border-strong: #cbd2dc;--color-text: #1a2433;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-success-bg: #dcfce7;--color-success-text: #166534;--color-danger: #b91c1c;--color-danger-bg: #fee2e2;--color-danger-border: #fecaca;--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-info-bg: #dbeafe;--color-info-text: #1e40af;--color-whatsapp: #128c5e;--color-whatsapp-bg: #e7f8f0;--color-email: #2563eb;--color-email-bg: #eff6ff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 35, 61, .06);--shadow-md: 0 8px 24px rgba(16, 35, 61, .08);--sidebar-width: 232px;--touch-target: 44px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-bg)}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}img,svg{max-width:100%}a{color:var(--brand-accent)}:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:var(--radius-sm)}button,input,select,textarea{font-family:inherit}.shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-6) var(--space-4)}.card{max-width:720px;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}.eyebrow{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}h1{margin:.25rem 0 var(--space-4);font-size:1.9rem;letter-spacing:-.01em}h2{letter-spacing:-.005em}p{line-height:1.6}.brand-mark{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.brand-mark-glyph{width:30px;height:30px;border-radius:8px;background:linear-gradient(155deg,var(--brand-ink) 0%,var(--brand-ink-soft) 100%);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brand-mark-glyph svg{width:17px;height:17px}.brand-mark-text{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.brand-mark-text small{display:block;font-weight:500;font-size:.68rem;color:var(--color-text-faint);letter-spacing:.03em}.login-card .brand-mark{margin-bottom:var(--space-4)}.login-card .brand-mark-glyph{width:40px;height:40px;border-radius:10px}.login-card .brand-mark-glyph svg{width:22px;height:22px}.login-card .brand-mark-text{font-size:1.3rem}.login-card{max-width:400px}.login-form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5)}.login-form label{display:flex;flex-direction:column;gap:.4rem;font-weight:600;font-size:.9rem}.login-form input{padding:.65rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:1rem;min-height:var(--touch-target)}.login-form button{margin-top:var(--space-2);padding:.7rem 1rem;border:none;border-radius:var(--radius-sm);background:var(--brand-ink);color:#fff;font-weight:600;cursor:pointer;min-height:var(--touch-target)}.login-form button:disabled{opacity:.6;cursor:not-allowed}.form-error{color:var(--color-danger);font-size:.9rem;margin:0}.field-error{color:var(--color-danger);font-size:.78rem;font-weight:500}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr}.sidebar{background:var(--brand-ink);color:#e6ecf5;padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.sidebar .brand-mark{color:#fff;padding-bottom:var(--space-2)}.sidebar-nav{display:flex;flex-direction:column;gap:.15rem;flex:1;overflow-y:auto}.sidebar-nav-group-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#e6ecf573;padding:var(--space-4) var(--space-3) .3rem}.sidebar-nav-group-label:first-child{padding-top:var(--space-2)}.sidebar-nav-item{padding:.55rem .75rem;border-radius:var(--radius-sm);color:#e6ecf5d1;font-size:.93rem;text-decoration:none;min-height:var(--touch-target);display:flex;align-items:center}.sidebar-nav-item:hover{background:#ffffff0f;color:#fff}.sidebar-nav-item.active{background:#ffffff1f;color:#fff;font-weight:600}.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-4);font-size:.82rem;color:#e6ecf599}.app-main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.topbar-identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topbar-user{font-weight:600;font-size:.92rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-role{font-size:.76rem;color:var(--color-text-muted)}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.topbar button,.menu-button{padding:.5rem 1rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-weight:600;min-height:var(--touch-target)}.menu-button{display:none;padding:.5rem;width:var(--touch-target);align-items:center;justify-content:center}.page-content{padding:var(--space-6);min-width:0}.sidebar-backdrop{display:none}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,82vw);z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-md)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#10233d59;z-index:35}.menu-button{display:inline-flex}.topbar{padding:var(--space-3) var(--space-4)}.page-content{padding:var(--space-4)}.topbar-role{display:none}}@media (max-width: 480px){.page-content{padding:var(--space-3)}h1{font-size:1.5rem}}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end;margin-bottom:var(--space-5)}.toolbar .field,label.field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.toolbar input,.toolbar select,label.field input,label.field select{padding:.55rem .7rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.95rem;min-width:160px;min-height:var(--touch-target)}.toolbar input[type=search]{min-width:240px}.toolbar .clear-filters{padding:.55rem 1rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-weight:600;height:fit-content;min-height:var(--touch-target)}@media (max-width: 600px){.toolbar{gap:var(--space-3)}.toolbar input,.toolbar select,.toolbar input[type=search]{min-width:0;width:100%}.toolbar .field,label.field{width:100%}label.field input,label.field select{min-width:0;width:100%}}.data-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.data-table th,.data-table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--color-bg);font-size:.9rem}.data-table th{background:#f8fafc;font-weight:700;-webkit-user-select:none;user-select:none;color:var(--color-text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.data-table th.sortable,.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f8fafc}.data-table tbody tr:last-child td{border-bottom:none}@media (max-width: 768px){.data-table{display:block;overflow-x:auto;white-space:nowrap;border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}}@media (max-width: 640px){.data-table--cards{display:block;white-space:normal;overflow-x:visible;border:none;background:none}.data-table--cards thead{display:none}.data-table--cards tbody{display:flex;flex-direction:column;gap:var(--space-3)}.data-table--cards tr{display:flex;flex-direction:column;gap:.3rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.data-table--cards td{display:flex;justify-content:space-between;gap:var(--space-3);padding:.2rem 0;border:none;font-size:.88rem}.data-table--cards td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);font-size:.78rem}.data-table--cards td[data-label=""]:before,.data-table--cards td:not([data-label]):before{content:none}.data-table--cards td:has(select),.data-table--cards td:has(button){flex-direction:column;align-items:stretch;gap:.3rem}.data-table--cards td select,.data-table--cards td button{min-height:var(--touch-target)}.data-table--cards td.row-actions{flex-direction:column;align-items:stretch;gap:.4rem}.data-table--cards td.row-actions button{width:100%}.data-table--cards td.row-checkbox{justify-content:flex-start}.data-table--cards td.row-checkbox input[type=checkbox]{width:22px;height:22px}}.status-badge{padding:.2rem .65rem;border-radius:var(--radius-pill);font-size:.76rem;font-weight:700;display:inline-block;white-space:nowrap}.status-badge.active{background:var(--color-success-bg);color:var(--color-success-text)}.status-badge.passive{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.terk{background:var(--color-warning-bg);color:var(--color-warning-text)}.channel-badge{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.76rem;font-weight:700;display:inline-block;white-space:nowrap}.channel-badge.email{background:var(--color-email-bg);color:var(--color-email)}.channel-badge.whatsapp{background:var(--color-whatsapp-bg);color:var(--color-whatsapp)}.pagination-bar{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);gap:var(--space-4);flex-wrap:wrap}.pagination-bar .page-size-select{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem}.pagination-controls{display:flex;gap:var(--space-2);align-items:center}.pagination-controls button{padding:.4rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;cursor:pointer;min-height:var(--touch-target)}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.empty-state,.error-state,.loading-state{padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted)}.error-state{color:var(--color-danger)}.permission-denied-state{padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted);background:#f8fafc;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);gap:var(--space-3);flex-wrap:wrap}.back-link{color:var(--color-text-muted);text-decoration:none;font-size:.9rem}.tab-bar{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{padding:.7rem 1.1rem;border:none;background:none;font-weight:600;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;min-height:var(--touch-target)}.tab-button.active{color:var(--color-text);border-bottom-color:var(--brand-accent)}.tab-button:disabled{color:var(--color-text-faint);cursor:not-allowed}.tab-placeholder{padding:var(--space-6);text-align:center;color:var(--color-text-faint);background:#fff;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-5);align-items:end}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{padding:.55rem .7rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.95rem;min-height:var(--touch-target)}.form-grid input:disabled,.form-grid select:disabled{background:#f8fafc;color:#374151}.form-grid>button{justify-self:start;padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:1px solid var(--brand-ink);background:var(--brand-ink);color:#fff;min-height:var(--touch-target)}.form-grid>button:disabled{opacity:.6;cursor:not-allowed}.form-grid .full-width{grid-column:1 / -1}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}.form-grid>button{width:100%}}.detail-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-5);background:#fff;padding:var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border)}.detail-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.detail-form input,.detail-form select{padding:.55rem .7rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.95rem;min-height:var(--touch-target)}.detail-form input:disabled,.detail-form select:disabled{background:#f8fafc;color:#374151}.detail-form .full-width{grid-column:1 / -1}@media (max-width: 640px){.detail-form{grid-template-columns:1fr;padding:var(--space-4)}}.action-bar{display:flex;gap:var(--space-3);margin-top:1.25rem;flex-wrap:wrap}.action-bar button{padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:1px solid var(--color-border-strong);background:#fff;min-height:var(--touch-target)}.action-bar button.primary{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink)}.action-bar button.danger{color:var(--color-danger);border-color:var(--color-danger-border)}.action-bar button:disabled{opacity:.5;cursor:not-allowed}.card-header button{padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:1px solid var(--color-border-strong);background:#fff;min-height:var(--touch-target)}.card-header button.primary{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink)}.conflict-banner{background:var(--color-danger-bg);color:var(--color-danger);padding:.85rem 1rem;border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:.9rem}.contact-list{display:flex;flex-direction:column;gap:var(--space-3)}.contact-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.contact-card .contact-meta{display:flex;flex-direction:column;gap:.2rem}.contact-card .contact-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.contact-card .contact-actions button{padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:#fff;cursor:pointer;font-size:.82rem;min-height:36px}.primary-tag{background:var(--color-info-bg);color:var(--color-info-text);padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700}.inactive-tag{background:#f1f5f9;color:var(--color-text-muted);padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);background:#fff;padding:var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);margin-top:var(--space-4)}.contact-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.contact-form input,.contact-form select{padding:.55rem .7rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:var(--touch-target)}.contact-form .full-width{grid-column:1 / -1}@media (max-width: 640px){.contact-form{grid-template-columns:1fr}}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.stat-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}.stat-card .stat-value{font-size:1.6rem;font-weight:700;letter-spacing:-.01em}.stat-card .stat-label{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.stat-card.attention{border-color:#fca5a5;background:#fffbfb}.stat-card.attention .stat-value{color:var(--color-danger)}.stat-card.muted{opacity:.7}.dashboard-section{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-5)}.dashboard-section h2{margin-top:0;font-size:1.05rem}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}@media (max-width: 480px){.dashboard-section{padding:var(--space-4)}}.declaration-status-list{display:flex;flex-direction:column;gap:.4rem}.declaration-status-row{display:flex;justify-content:space-between;padding:.6rem .9rem;border-radius:var(--radius-sm);background:#f8fafc;cursor:pointer;border:1px solid transparent;font-weight:600;min-height:var(--touch-target);align-items:center}.declaration-status-row:hover{border-color:var(--color-border-strong)}.declaration-status-row.muted{opacity:.6}.tax-calendar-widget-list{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}.tax-calendar-widget-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:.6rem .8rem;border-radius:var(--radius-sm);background:#f8fafc;cursor:pointer;border:1px solid transparent;flex-wrap:wrap}.tax-calendar-widget-item:hover{border-color:var(--color-border-strong)}.tax-calendar-widget-title{font-weight:600}.tax-calendar-widget-due{display:flex;align-items:center;gap:.6rem;color:var(--color-text-muted);font-size:.88rem;white-space:nowrap}.tax-calendar-widget-badge{border:1px solid;border-radius:var(--radius-pill);padding:.1rem .55rem;font-size:.78rem;font-weight:700}.quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.quick-actions a,.quick-actions button{padding:.6rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:#fff;text-decoration:none;color:var(--color-text);font-weight:600;cursor:pointer;font-size:.9rem;min-height:var(--touch-target);display:inline-flex;align-items:center}.gib-placeholder{color:var(--color-text-faint);font-size:.85rem;font-style:italic}
