*{box-sizing:border-box;margin:0;padding:0}:root{--brand:#12433c;--brand-soft:#1c5a50;--brand-mark:#e8a13d;--action:#15695d;--action-hover:#0f5049;--action-subtle:#e3f0ed;--bg:#f5f7f6;--surface:#fff;--surface-alt:#f0f3f2;--overlay:#0d1f1c8c;--text:#1c2422;--text-muted:#5c6b67;--text-faint:#8a9793;--text-on-dark:#e8eeec;--text-on-dark-muted:#a9bdb8;--border:#dde4e2;--border-strong:#b9c6c2;--success:#187a4b;--success-bg:#dcf2e6;--error:#b42b22;--error-bg:#fbe4e2;--warning:#8a5a00;--warning-bg:#fcefd5;--info:#155e75;--info-bg:#dff0f6;--font-display:"Sora", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px #12433c0f;--shadow-md:0 4px 12px #12433c1a;--shadow-lg:0 16px 40px #12433c38;--transition:.14s ease}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg)}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);cursor:pointer;border:none;padding:.55rem 1.1rem}.btn-primary{background:var(--action);color:#fff}.btn-primary:hover:not(:disabled){background:var(--action-hover)}.btn-secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-alt)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#96231c}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-alt);color:var(--text)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--action);outline-offset:2px}.btn-danger:focus-visible{outline:2px solid var(--error);outline-offset:2px}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ghost:disabled{opacity:.5;cursor:not-allowed}label{font-size:var(--text-sm);color:var(--text);font-weight:600}input,select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body);background:var(--surface);color:var(--text);padding:.6rem .75rem}input::placeholder{color:var(--text-faint)}input:focus-visible,select:focus-visible{outline:2px solid var(--action);outline-offset:1px;border-color:var(--action)}input:disabled,select:disabled{background:var(--surface-alt);color:var(--text-faint)}.field-error{color:var(--error);font-size:var(--text-sm);margin-top:var(--space-1)}.login-page{background:var(--brand);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);padding:var(--space-6);border-radius:var(--radius-lg);gap:var(--space-2);width:100%;max-width:380px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.login-card h1{font-family:var(--font-display);font-size:var(--text-lg);text-align:center;font-weight:700}.login-card h1:after{content:"";background:var(--brand-mark);border-radius:var(--radius-full);width:24px;height:3px;margin:var(--space-2) auto 0;display:block}.login-subtitle{text-align:center;color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.login-card label{margin-top:var(--space-2)}.login-card button{margin-top:var(--space-4);font-size:var(--text-base);padding:.7rem}.login-error{color:var(--error);font-size:var(--text-sm);margin-top:var(--space-2)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--brand);width:232px;color:var(--text-on-dark);padding:var(--space-5) 0 var(--space-4);flex-shrink:0}.sidebar-brand{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);color:#fff;padding:0 var(--space-5);margin-bottom:var(--space-5)}.sidebar-brand:after{content:"";background:var(--brand-mark);border-radius:var(--radius-full);width:24px;height:3px;margin-top:var(--space-2);display:block}.sidebar nav{flex-direction:column;display:flex}.sidebar nav a{color:var(--text-on-dark-muted);font-size:var(--text-base);padding:.65rem var(--space-5);transition:background var(--transition), color var(--transition);font-weight:500;text-decoration:none}.sidebar nav a:hover{background:var(--brand-soft);color:#fff}.sidebar nav a:focus-visible{outline:2px solid var(--brand-mark);outline-offset:-2px}.sidebar nav a.active{background:var(--brand-soft);color:#fff;border-left:3px solid var(--brand-mark);padding-left:calc(var(--space-5) - 3px)}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);height:56px;padding:0 var(--space-5);justify-content:space-between;align-items:center;display:flex}.header-title{font-weight:600;font-size:var(--text-base);color:var(--text-muted)}.content{padding:var(--space-6) var(--space-5)}.content h1{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-5);font-weight:700}.content h1:after{content:"";background:var(--brand-mark);border-radius:var(--radius-full);width:24px;height:3px;margin-top:var(--space-2);display:block}.content>div>p,.page-lead{color:var(--text-muted)}.cards{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--brand-mark);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-1);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.card-label{color:var(--text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em}.card-value{font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:700}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.table th,.table td{text-align:left;padding:.8rem var(--space-4)}.table thead{background:var(--surface-alt)}.table th{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:.7rem var(--space-4);font-weight:600}.table td{font-size:var(--text-base)}.table td:first-child{font-weight:500}.table tbody tr{border-top:1px solid var(--border)}.table tbody tr:hover{background:var(--surface-alt)}.badge{border-radius:var(--radius-full);font-size:var(--text-sm);padding:.2rem .65rem;font-weight:600;display:inline-block}.badge-success{background:var(--success-bg);color:var(--success)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--surface-alt);color:var(--text-muted)}.empty-state{text-align:center;padding:var(--space-7) var(--space-4)}.empty-state h2{font-weight:600;font-size:var(--text-md);margin-bottom:var(--space-2)}.empty-state p{color:var(--text-muted);margin-bottom:var(--space-4)}.modal-overlay{background:var(--overlay);z-index:50;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:modal-in var(--transition)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal h2{font-family:var(--font-display);font-size:var(--text-md);margin-bottom:var(--space-4);font-weight:600}.modal-form{gap:var(--space-1);flex-direction:column;display:flex}.modal-form label{margin-top:var(--space-2)}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);display:flex}@media (width<=1024px){.sidebar{width:200px}.content{padding:var(--space-4)}}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{width:100%;padding:var(--space-3) 0}.sidebar-brand{margin-bottom:var(--space-2)}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{padding:var(--space-3) var(--space-4);white-space:nowrap}.sidebar nav a.active{border-left:none;border-bottom:3px solid var(--brand-mark);padding-left:var(--space-4)}.modal{max-width:calc(100vw - 2rem)}}.nome-com-avatar{align-items:center;gap:var(--space-3);display:flex}.avatar{border-radius:var(--radius-full);background:var(--action-subtle);width:32px;height:32px;color:var(--action);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.voce-tag{font-size:var(--text-xs);color:var(--text-faint)}.acoes{text-align:right;white-space:nowrap}.acoes .btn-ghost{padding:.35rem .7rem}.lista-erro{background:var(--error-bg);color:var(--error);border-radius:var(--radius-md);padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.skeleton-lista{gap:var(--space-2);flex-direction:column;display:flex}.skeleton{border-radius:var(--radius-sm);background:var(--surface-alt);height:48px;animation:1.2s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.modal-texto{color:var(--text-muted);margin-bottom:var(--space-4)}.form-nota{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2)}.senha-box{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);display:flex}.senha-box code{font-size:var(--text-md);letter-spacing:.05em;font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
