:root{--ink: #12172b;--ink-soft: #1c2340;--ink-line: #2a3358;--surface: #f6f7f9;--card: #ffffff;--border: #e4e7ec;--text: #1a1f36;--muted: #6b7280;--primary: #4338ca;--primary-hover: #3730a3;--primary-soft: #eef0fd;--danger: #dc2626;--danger-soft: #fef2f2;--ok: #0f9d78;--radius: 10px;--radius-sm: 7px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 6px 20px rgba(16, 24, 40, .1);--sidebar-w: 248px;--font-display: "Sora", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app-container{display:flex;height:100dvh;overflow:hidden}.content-wrapper{display:flex;flex-direction:column;flex:1;min-width:0}.main-container{flex:1;overflow-y:auto;padding:clamp(16px,3vw,32px)}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--ink);color:#cdd3e8;display:flex;flex-direction:column;transition:width .2s ease,transform .24s ease}.sidebar.retracted{width:72px}.sidebar__brand{display:flex;align-items:center;gap:10px;height:62px;padding:0 18px;border-bottom:1px solid var(--ink-line);font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:#fff;white-space:nowrap}.sidebar__mark{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:linear-gradient(135deg,var(--primary) 0%,#6d5cf5 100%);display:grid;place-items:center;color:#fff;font-weight:700}.sidebar__nav{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav-item,.nav-group__toggle{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:none;background:transparent;color:#cdd3e8;border-radius:var(--radius-sm);font-size:14px;font-weight:500;white-space:nowrap}.nav-item:hover,.nav-group__toggle:hover{background:var(--ink-soft);color:#fff}.nav-item.active{background:var(--ink-soft);color:#fff;box-shadow:inset 3px 0 0 var(--primary)}.nav-icon{width:18px;flex-shrink:0;text-align:center}.nav-group__toggle{justify-content:space-between}.nav-group__label{display:flex;align-items:center;gap:11px}.nav-group__chev{transition:transform .18s ease;font-size:11px;opacity:.7}.nav-group.open .nav-group__chev{transform:rotate(90deg)}.nav-sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px;padding-left:20px}.nav-sub .nav-item{font-weight:400;padding:8px 12px;font-size:13.5px}.sidebar.retracted .sidebar__brand span,.sidebar.retracted .nav-item span,.sidebar.retracted .nav-group__label span,.sidebar.retracted .nav-group__chev,.sidebar.retracted .nav-sub{display:none}.topbar{height:62px;flex-shrink:0;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 clamp(14px,3vw,24px)}.topbar__toggle{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-sm);width:38px;height:38px;display:grid;place-items:center;color:var(--text);font-size:18px}.topbar__title{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.01em}.topbar__spacer{flex:1}.topbar__user{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--muted)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:600;font-size:13px}.scrim{display:none}@media (max-width: 860px){.sidebar{position:fixed;z-index:40;height:100dvh;transform:translate(-100%);box-shadow:var(--shadow)}.sidebar.retracted{width:var(--sidebar-w)}.sidebar.retracted .sidebar__brand span,.sidebar.retracted .nav-item span,.sidebar.retracted .nav-group__label span,.sidebar.retracted .nav-group__chev,.sidebar.retracted .nav-sub{display:revert}.sidebar.open{transform:translate(0)}.scrim.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#090c1980}}.page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.eyebrow{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.page__title{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(20px,3vw,26px);letter-spacing:-.02em}.page__lead{margin:8px 0 0;color:var(--muted);max-width:52ch}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);transition:border-color .15s ease,transform .15s ease}.tile:hover{border-color:var(--primary);transform:translateY(-2px)}.tile__icon{font-size:22px;color:var(--primary)}.tile__title{font-weight:600;font-size:16px}.tile__desc{color:var(--muted);font-size:13.5px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card>h3{margin:0 0 4px;font-family:var(--font-display);font-size:16px}.card>p{margin:0 0 16px;color:var(--muted);font-size:13.5px;max-width:62ch}.card>h3+.form,.card>h3+.kv,.card>h3+.janela{margin-top:14px}.kv{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:8px 16px;margin:0 0 20px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.segredo{display:block;margin-top:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all}.janela{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.janela:first-of-type{border-top:0;padding-top:0;margin-top:0}.janela h4{margin:0 0 8px;font-size:14px}.funcoes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.funcoes li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.funcoes code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:14px;font-weight:500;transition:background .15s ease,border-color .15s ease}.btn:hover{background:#f2f3f7}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--danger{background:var(--card);border-color:var(--border);color:var(--danger)}.btn--danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.form{display:flex;flex-direction:column;gap:16px;max-width:440px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--text)}.field input,.field select{height:42px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font-family:inherit;font-size:14px;color:var(--text)}.field input:focus,.field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field__error{color:var(--danger);font-size:12.5px}.form__actions{display:flex;gap:10px;margin-top:4px}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca;border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);white-space:nowrap}table.data th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#fafbfc}table.data tr:last-child td{border-bottom:none}.row-actions{display:flex;gap:8px;justify-content:flex-end}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.state{padding:32px 16px;text-align:center;color:var(--muted)}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 500px at 100% -10%,#e9ebfb 0%,transparent 55%),var(--surface)}.login__card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:30px}.login__brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em;margin-bottom:4px}.login__sub{color:var(--muted);font-size:13.5px;margin:0 0 22px}
