:root { --aya-ink:#18233a; --aya-muted:#64748b; --aya-line:#e6ebf3; --aya-surface:#fff; --aya-bg:#f5f7fb; --aya-primary:#4f46e5; --aya-primary-dark:#3730a3; }
body.aya-app { min-width: 320px; background: var(--aya-bg); color: var(--aya-ink); }
.aya-shell { min-height: 100vh; background: var(--aya-bg); }
.aya-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; flex: 0 0 268px; width: 268px; padding: 18px 12px; color: #dbeafe; background: linear-gradient(180deg,#111b42 0%,#1e1b64 58%,#172554 100%); box-shadow: 8px 0 32px rgba(15,23,42,.09); }
.aya-brand { display:flex; align-items:center; gap:11px; min-height:50px; padding:0 10px 16px; margin:0 4px 14px; border-bottom:1px solid rgba(255,255,255,.11); }
.aya-brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#312e81; background:#fff; font-size:15px; box-shadow:0 5px 15px rgba(0,0,0,.18); }.aya-brand-name { color:#fff; font-size:18px; font-weight:760; letter-spacing:-.025em; }.aya-brand-caption { margin-top:1px; color:#a5b4fc; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.aya-nav { padding:0 4px; }.aya-nav > a, .aya-nav button { min-height:42px; transition:background .16s ease,color .16s ease; }.aya-nav > a:hover, .aya-nav button:hover, .aya-nav > a.is-active { color:#fff; background:rgba(255,255,255,.14); }.aya-nav a.is-active { box-shadow:inset 3px 0 0 #a5b4fc; }.aya-nav .aya-group { margin:16px 0 0; }.aya-nav .aya-group:first-child { margin-top:0; }.aya-nav .aya-group button { color:#c7d2fe; font-size:11px; letter-spacing:.075em; text-transform:uppercase; }.aya-nav .aya-group > div a { margin:2px 0; color:#dbeafe; font-size:13px; }.aya-nav .aya-group > div a:hover { color:#fff; background:rgba(255,255,255,.1); }
.aya-main { min-width:0; background:var(--aya-bg); }.aya-topbar { position:sticky; z-index:20; top:0; min-height:64px; padding:0 28px; background:rgba(255,255,255,.93); border-bottom:1px solid var(--aya-line); backdrop-filter:blur(12px); }.aya-page-title { color:#26334a; font-size:15px; font-weight:750; }.aya-page-title:before { content:'Painel administrativo'; display:block; margin-bottom:1px; color:#94a3b8; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.aya-profile-button { width:35px; height:35px; padding:0; border:1px solid #e2e8f0; border-radius:10px; color:#475569; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.03); }.aya-profile-button:hover { color:var(--aya-primary); background:#f8faff; border-color:#c7d2fe; }.aya-content { width:100%; max-width:1520px; margin:0 auto; padding:30px 32px 42px; }
/* Primitivos visuais compartilhados por listas, formulários e telas administrativas. */
.aya-content h1.text-lg, .aya-content h1.text-xl { color:#172033; font-weight:760; letter-spacing:-.02em; }.aya-content h2.text-base { color:#243047; font-weight:740; }.aya-content .bg-white.rounded-lg, .aya-content .bg-white.rounded-xl, .aya-content .border.rounded-lg.bg-white, .aya-content .border.rounded-xl.bg-white { border-color:var(--aya-line); box-shadow:0 4px 16px rgba(15,23,42,.035); }.aya-content input:not([type=checkbox]):not([type=radio]), .aya-content select, .aya-content textarea { border-color:#d8e0eb; color:#243047; background:#fff; box-shadow:inset 0 1px 1px rgba(15,23,42,.02); transition:border .15s ease,box-shadow .15s ease; }.aya-content input:not([type=checkbox]):not([type=radio]):focus, .aya-content select:focus, .aya-content textarea:focus { outline:0; border-color:#818cf8; box-shadow:0 0 0 3px rgba(99,102,241,.13); }.aya-content label { color:#475569; font-weight:600; }.aya-content button, .aya-content a.inline-block, .aya-content a.inline-flex { transition:background .15s ease,border .15s ease,color .15s ease,transform .15s ease; }.aya-content button:hover:not(:disabled), .aya-content a.inline-block:hover, .aya-content a.inline-flex:hover { border-color:#c7d2fe; }.aya-content table { border-collapse:separate; border-spacing:0; }.aya-content table thead { color:#475569; background:#f8fafc; }.aya-content table th { padding-top:13px!important; padding-bottom:13px!important; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }.aya-content table td { padding-top:13px!important; padding-bottom:13px!important; color:#334155; }.aya-content table tbody tr { transition:background .14s ease; }.aya-content table tbody tr:hover { background:#f8faff; }.aya-content .text-slate-500 { color:#718096; }
@media (max-width: 767px) { .aya-sidebar { position:fixed; z-index:40; top:0; bottom:0; height:auto; width:286px; }.aya-topbar { min-height:56px; padding:0 14px; }.aya-content { padding:20px 14px 32px; }.aya-page-title:before { display:none; }.aya-profile-button { width:34px; height:34px; } }
