:root{--color-black: #000000;--color-ink: #1a1714;--color-gold: #b8914a;--color-gold-soft: #d9bd82;--color-gold-wash: #f3ead8;--color-primary: #b8914a;--color-primary-dark: #94722f;--color-primary-light: #d9bd82;--color-secondary: #1a1714;--color-sidebar: #000000;--color-background: #eceef1;--color-surface: #ffffff;--color-text: #1a1714;--color-text-muted: #6f675e;--color-border: #e4ddd0;--color-success: #2f6b4f;--color-error: #a8372a;--color-warning: #a0651c;--color-info: #2c5f8a;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sidebar-width: 248px;--header-height: 68px;--transition-fast: .15s ease;--transition-base: .25s ease;--border-radius-sm: 2px;--border-radius-md: 4px;--border-radius-lg: 6px;--border-radius-full: 999px;--shadow-sm: 0 1px 2px rgba(26, 23, 20, .06);--shadow-md: 0 6px 16px rgba(26, 23, 20, .08);--shadow-lg: 0 16px 36px rgba(26, 23, 20, .14);--shadow-xl: 0 24px 48px rgba(26, 23, 20, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-family);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}h1,h2,h3{font-weight:600;line-height:1.15}.app-layout{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;overflow:hidden}.sidebar{grid-column:1;grid-row:1 / 3;height:100%;background:var(--color-black);color:#f3eee6;display:flex;flex-direction:column;transition:width var(--transition-base)}.sidebar.collapsed{width:72px}.sidebar-header{padding:16px 16px 12px;display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height)}.sidebar-brand{display:flex;align-items:center;min-width:0}.sidebar-brand-logo{display:block;width:168px;height:auto}.sidebar.collapsed .sidebar-brand-logo{display:none}.login-pagina{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:40px 20px;background:var(--color-black);color:#f3eee6}.login-logo{width:240px;max-width:70vw;height:auto}.login-cartao{width:100%;max-width:380px;padding:36px 32px;background:#0d0b09;border:1px solid #2a2520;border-radius:var(--border-radius-lg)}.login-titulo{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--color-gold-soft);text-align:center;margin-bottom:6px}.login-subtitulo{color:#8a8178;text-align:center;margin-bottom:28px}.login-erro{background:#2a1512;border:1px solid #5c2a22;color:#f0b3a8;padding:10px 14px;border-radius:var(--border-radius-md);margin-bottom:18px;font-size:13px}.login-campo{margin-bottom:18px}.login-campo label{display:block;font-size:13px;font-weight:500;color:#cfc8c2;margin-bottom:8px}.login-campo input{width:100%;padding:12px 14px;background:#000;border:1px solid #3a322a;border-radius:var(--border-radius-md);color:#f3eee6;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-campo input::placeholder{color:#5a524a}.login-campo input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #b8914a33}.login-campo input:-webkit-autofill,.login-campo input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #000 inset;-webkit-text-fill-color:#f3eee6;caret-color:#f3eee6}.login-senha-wrap{position:relative}.login-senha-wrap input{padding-right:84px}.login-mostrar{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:6px 10px;font-size:12px;font-weight:600;color:var(--color-gold-soft);border-radius:var(--border-radius-sm)}.login-mostrar:hover{color:#fff}.login-entrar{width:100%;margin-top:8px;padding:13px 16px;background:var(--color-gold);color:#000;font-weight:700;letter-spacing:.02em;border-radius:var(--border-radius-md);transition:background var(--transition-fast)}.login-entrar:hover:not(:disabled){background:var(--color-gold-soft)}.login-entrar:disabled{opacity:.6;cursor:wait}.carregando-bloco{display:flex;justify-content:center;align-items:center;min-height:60vh;width:100%}.carregando-bloco img{width:200px;max-width:90%;height:auto}.table td.carregando-celula{padding:8px!important;text-align:center;background:transparent;border-bottom:none}.carregando-celula img{width:200px;max-width:90%;height:auto;display:inline-block}.tela-carregamento{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;z-index:1000}.tela-carregamento img{width:min(520px,92vw);height:auto;display:block}.tela-carregamento-texto{color:var(--color-gold-soft);font-size:13px;letter-spacing:.02em}.tela-carregamento-barra{width:160px;height:1px;background:#1f1c19;overflow:hidden;position:relative}.tela-carregamento-barra:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:var(--color-gold);animation:carregando 1.4s ease-in-out infinite}@keyframes carregando{0%{transform:translate(-100%)}to{transform:translate(260%)}}@media (prefers-reduced-motion: reduce){.tela-carregamento-barra:after{animation:none;width:100%;opacity:.6}}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.nav-section{margin-bottom:24px}.nav-section-title{font-size:12px;font-weight:600;color:#8a8178;padding:0 12px;margin-bottom:8px;white-space:nowrap}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-left:2px solid transparent;color:#a9a097;font-weight:500;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.nav-item:hover{color:#f3eee6}.nav-item.active{color:var(--color-gold-soft);border-left-color:var(--color-gold)}.nav-icon{width:18px;height:18px;flex-shrink:0}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:16px;border-top:1px solid #1f1c19}.user-info{display:flex;align-items:center;gap:12px;padding:4px 0}.user-avatar{width:34px;height:34px;border-radius:50%;border:1px solid var(--color-gold);color:var(--color-gold-soft);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:16px;flex-shrink:0}.user-details{flex:1;min-width:0}.user-name{font-weight:600;font-size:13px;color:#f3eee6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:#8a8178}.header{grid-column:2;grid-row:1;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:var(--header-height);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:16px}.sidebar-toggle{display:none;padding:8px;border-radius:var(--border-radius-md);color:var(--color-text-muted)}.sidebar-toggle:hover{background:var(--color-background);color:var(--color-text)}.sidebar .sidebar-toggle{display:inline-flex;color:#a9a097}.page-title{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--color-ink)}.header-right{display:flex;align-items:center;gap:16px}.header-action{position:relative;padding:8px;border-radius:var(--border-radius-md);color:var(--color-text-muted);transition:color var(--transition-fast),background var(--transition-fast)}.header-action:hover{background:var(--color-background);color:var(--color-text)}.notification-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;background:var(--color-gold);color:var(--color-black);font-size:10px;font-weight:700;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;padding:0 4px}.main-content{grid-column:2;grid-row:2;min-height:0;padding:32px;overflow-y:auto;background:var(--color-background)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-weight:600;font-size:13px;border-radius:var(--border-radius-md);border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--color-ink);color:var(--color-gold-soft);border-color:var(--color-ink)}.btn-primary:hover{background:#000;color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-gold);color:var(--color-primary-dark)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#8a2b20}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background:var(--color-background);color:var(--color-text)}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}.btn-icon{padding:8px;border-radius:var(--border-radius-full)}.form-group{margin-bottom:16px}.form-label{display:block;font-weight:500;margin-bottom:6px;color:var(--color-text)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #b8914a2e}.form-error{color:var(--color-error);font-size:12px;margin-top:4px}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;font-size:12px;color:var(--color-text-muted);border-bottom:1px solid var(--color-ink)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--color-gold-wash)}.table td{font-size:13px;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;border-radius:var(--border-radius-full)}.badge-success{background:#e4efe8;color:var(--color-success)}.badge-warning{background:#f7ecd9;color:var(--color-warning)}.badge-error{background:#f6e3df;color:var(--color-error)}.badge-info{background:#e1ebf3;color:var(--color-info)}.badge-neutral{background:var(--color-background);color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:18px 22px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.card-title{font-family:var(--font-display);font-size:20px;font-weight:600;margin:0}.card-body{padding:22px}.modal-fundo{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px;z-index:200}.modal{width:100%;max-width:720px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl)}.modal-cabecalho{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-cabecalho h2{font-family:var(--font-display);font-size:24px;font-weight:600}.modal-corpo{padding:20px 24px;overflow-y:auto}.modal-rodape{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.campo{display:flex;flex-direction:column;gap:6px}.campo-largo{grid-column:1 / -1}.campo-rotulo{font-size:13px;font-weight:500;color:var(--color-text)}.foto-vazia{padding:22px;border:1px dashed var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-muted);text-align:center}.lista-busca{list-style:none;border:1px solid var(--color-border);border-radius:var(--border-radius-md);max-height:240px;overflow-y:auto;background:var(--color-surface)}.lista-busca button{width:100%;display:flex;justify-content:space-between;gap:16px;padding:10px 14px;text-align:left;border-bottom:1px solid var(--color-border)}.lista-busca li:last-child button{border-bottom:none}.lista-busca button:hover{background:var(--color-gold-wash)}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.app-layout{grid-template-columns:1fr;grid-template-rows:var(--header-height) 1fr}.sidebar{grid-row:1 / 3;grid-column:1;position:fixed;left:0;top:0;bottom:0;z-index:100;width:var(--sidebar-width);transform:translate(-100%);box-shadow:var(--shadow-xl)}.sidebar.open{transform:translate(0)}.header{grid-column:1;grid-row:1;padding:0 16px}.main-content{grid-column:1;grid-row:2;padding:24px 16px}.sidebar-toggle{display:flex}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.sidebar-overlay.open{display:block}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page-title{font-size:22px}.header-right .btn span{display:none}.header-right .btn{padding:8px}}
