:root { color-scheme:light; --blue:#0b57d0; --blue-hover:#0842a0; --blue-soft:#e8f0fe; --ink:#1f1f1f; --muted:#5f6368; --line:#dadce0; --soft:#f8fafd; --danger:#b3261e; --success:#146c2e; --shadow:0 1px 2px rgba(60,64,67,.08),0 2px 8px rgba(60,64,67,.06); }
* { box-sizing:border-box; }
body { margin:0; background:#f6f8fc; color:var(--ink); font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,textarea { font:inherit; }
button { min-height:44px; padding:10px 18px; border:0; border-radius:9px; background:var(--blue); color:#fff; font-weight:650; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
button:hover { background:var(--blue-hover); }
button:focus-visible { outline:3px solid rgba(11,87,208,.22); outline-offset:2px; }
.text-button { min-height:auto; padding:6px 8px; background:transparent; color:var(--blue); }
.text-button:hover { background:var(--blue-soft); }
.danger { color:var(--danger); }
.brand { display:flex; align-items:center; gap:9px; font-size:15px; font-weight:700; }
.brand i { width:19px; height:19px; border-radius:6px 6px 6px 2px; background:var(--blue); box-shadow:7px 7px 0 -3px #8ab4f8; }
.brand small { color:var(--muted); font-weight:500; }
.topbar { height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 max(24px,calc((100vw - 1280px)/2)); border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); box-shadow:0 1px 2px rgba(60,64,67,.05); }
.topbar form { margin:0; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(420px,100%); padding:36px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 4px 18px rgba(60,64,67,.10); }
.login-card h1 { margin:32px 0 5px; font-size:26px; }
.login-card > p { margin:0 0 24px; color:var(--muted); }
label { display:grid; gap:7px; min-width:0; }
label > span { color:#3c4043; font-size:12px; font-weight:650; }
input,textarea { width:100%; border:1px solid #c4c7c5; border-radius:9px; padding:10px 12px; background:#fff; color:var(--ink); outline:0; }
input { min-height:44px; }
input:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 2px rgba(11,87,208,.15); }
.login-card form { display:grid; gap:18px; }
.dashboard { width:min(1280px,calc(100% - 40px)); margin:0 auto; padding:44px 0 72px; }
.page-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,460px); align-items:center; gap:40px; margin-bottom:28px; }
.page-copy { max-width:620px; }
.eyebrow { color:var(--blue); font-size:11px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
h1 { margin:7px 0 6px; font-size:34px; line-height:1.16; letter-spacing:-.025em; }
.page-heading p,.panel-heading p { margin:0; color:var(--muted); }
.version-card { padding:22px; border:1px solid #c9daf8; border-radius:14px; background:linear-gradient(145deg,#fff 0%,#f8fbff 100%); box-shadow:var(--shadow); }
.version-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.version-card .release-label { display:block; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.version-card strong { display:block; margin-top:3px; color:#174ea6; font-size:28px; letter-spacing:-.02em; }
.version-card p { margin:12px 0 0; color:var(--muted); font-size:12px; }
.version-card small { display:block; margin-top:10px; color:var(--muted); font-size:11px; }
.release-status { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:999px; background:#e6f4ea; color:var(--success); font-size:10px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.release-status i { width:7px; height:7px; border-radius:50%; background:#1e8e3e; box-shadow:0 0 0 3px rgba(30,142,62,.12); }
.download-actions { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; margin-top:16px; }
.download-link { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:8px; padding:9px 15px; border:1px solid var(--blue); border-radius:9px; background:var(--blue); color:#fff; font-weight:650; text-decoration:none; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.download-link span,.copy-download-link span { color:inherit; font-size:13px; font-weight:650; text-transform:none; }
.download-actions svg { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.download-link:hover { border-color:var(--blue-hover); background:var(--blue-hover); }
.download-link:focus-visible { outline:3px solid rgba(11,87,208,.22); outline-offset:2px; }
.copy-download-link { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:8px; padding:9px 13px; border:1px solid #a8c7fa; border-radius:9px; background:#fff; color:var(--blue); font-size:13px; white-space:nowrap; transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.copy-download-link:hover { border-color:#7baaf7; background:var(--blue-soft); }
.copy-download-link:focus-visible { outline:3px solid rgba(11,87,208,.22); outline-offset:2px; }
.grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
.panel { border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow); overflow:hidden; }
.panel-heading { padding:22px 24px 17px; }
.panel-heading h2 { margin:0 0 3px; font-size:18px; }
.inline-form,.release-form { display:grid; gap:13px; padding:18px 24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--soft); }
.inline-form { grid-template-columns:minmax(0,1fr) 130px 150px auto; align-items:end; }
.field-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.release-form > button { justify-self:start; }
.table-wrap { max-width:100%; overflow-x:auto; scrollbar-gutter:stable; }
table { width:100%; border-collapse:collapse; }
th,td { padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
th:last-child,td:last-child { width:1%; text-align:right; }
th { color:var(--muted); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
tbody tr { transition:background-color .18s ease; }
tbody tr:hover { background:#fafcff; }
td strong,td small { display:block; }
td small { margin-top:2px; color:var(--muted); }
.license-domains { max-width:220px; overflow:hidden; text-overflow:ellipsis; }
.status { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; font-size:10px; font-weight:700; text-transform:uppercase; }
.status.active { background:#e6f4ea; color:var(--success); }
.status.inactive { background:#fce8e6; color:var(--danger); }
.alert { margin:0 0 20px; padding:12px 15px; border-radius:9px; }
.alert.success { background:#e6f4ea; color:var(--success); }
.alert.error { background:#fce8e6; color:var(--danger); }
.secret-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 20px; padding:20px 22px; border:1px solid #a8c7fa; border-radius:14px; background:var(--blue-soft); }
.secret-card span,.secret-card strong,.secret-card p { display:block; }
.secret-card span { color:var(--blue); font-size:11px; font-weight:700; text-transform:uppercase; }
.secret-card strong { margin:5px 0; font:600 16px/1.4 ui-monospace,SFMono-Regular,monospace; word-break:break-all; }
.secret-card p { margin:0; color:var(--muted); font-size:12px; }
.secret-card button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:8px; }
.secret-card button svg,.license-key-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.license-actions { display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.license-actions form { margin:0; }
.license-key-button { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.license-key-button span { color:inherit; font-size:inherit; font-weight:inherit; }
.edit-license-dialog { width:min(560px,calc(100% - 32px)); padding:0; border:0; border-radius:16px; background:#fff; color:var(--ink); box-shadow:0 12px 44px rgba(32,33,36,.24); }
.edit-license-dialog::backdrop { background:rgba(32,33,36,.52); backdrop-filter:blur(2px); }
.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:24px 24px 18px; border-bottom:1px solid var(--line); text-align:left; }
.dialog-heading h2 { margin:5px 0 3px; font-size:21px; line-height:1.25; }
.dialog-heading p { margin:0; color:var(--muted); font-size:13px; }
.dialog-close { display:grid; min-width:44px; width:44px; padding:0; place-items:center; border-radius:50%; background:transparent; color:var(--muted); }
.dialog-close:hover { background:var(--blue-soft); color:var(--blue); }
.dialog-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.edit-license-dialog > form { display:grid; gap:18px; padding:22px 24px 24px; text-align:left; }
.dialog-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.edit-license-dialog label small { color:var(--muted); font-size:11px; }
.dialog-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:4px; }
.release-list { padding:18px 24px; }
.release-list h3 { margin:0 0 12px; font-size:13px; }
.release-list article { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--line); }
.release-list article > div { display:flex; gap:8px; align-items:center; }
.release-list small,.empty { color:var(--muted); }
@media (max-width:1180px) { .page-heading { grid-template-columns:1fr; } .version-card { width:100%; } }
@media (max-width:700px) { .dashboard { width:min(100% - 24px,1280px); padding-top:28px; } .page-heading { gap:24px; } h1 { font-size:29px; } .inline-form,.field-row,.download-actions,.dialog-fields { grid-template-columns:1fr; } .inline-form button { width:100%; } .topbar { padding:0 16px; } .secret-card { align-items:flex-start; flex-direction:column; } .secret-card button,.download-actions > * { width:100%; } .table-wrap { padding:12px; overflow:visible; } table,tbody,tr,td { display:block; width:100%; } thead { display:none; } tbody { display:grid; gap:12px; } tbody tr { padding:8px 0; border:1px solid var(--line); border-radius:12px; background:#fff; } td { display:grid; grid-template-columns:104px minmax(0,1fr); gap:12px; align-items:start; padding:8px 12px; border:0; white-space:normal; text-align:left; } td::before { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; } td:nth-child(1)::before { content:"Identificação"; } td:nth-child(2)::before { content:"Status"; } td:nth-child(3)::before { content:"Domínios"; } td:nth-child(4)::before { content:"Expiração"; } td:nth-child(5)::before { content:"Ações"; } th:last-child,td:last-child { width:100%; text-align:left; } .license-domains { max-width:100%; white-space:normal; } .license-actions { flex-wrap:wrap; justify-content:flex-start; gap:4px; } .dialog-heading { padding:20px 18px 16px; } .edit-license-dialog > form { padding:18px; } .dialog-actions { align-items:stretch; flex-direction:column-reverse; } .dialog-actions button { width:100%; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
