.actions{display:flex;gap:8px;justify-content:flex-end}
button{cursor:pointer;border:0;padding:10px 14px;border-radius:8px;background:rgba(255,255,255,0.03);color:var(--text);font-weight:600;transition:transform 120ms ease,box-shadow 160ms ease,filter 160ms ease,background 150ms ease}
button:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(2,6,23,0.35);filter:brightness(1.04);background:rgba(255,255,255,0.06)}
button[type="submit"]{background:var(--accent);color:#ffffff;font-weight:700;padding:12px 24px;border-radius:5px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 18px rgba(4,170,109,0.12)}
button[type="submit"]::after{content:" »";font-weight:700}
button[type="submit"]:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(4,170,109,0.18);filter:brightness(1.06)}
button:active{transform:translateY(1px)}

/* Ensure adequate touch target and visible focus for accessibility */
button:focus-visible, a:focus-visible{outline: 3px solid rgba(4,170,109,0.16);outline-offset:2px}

/* Removed mobile (max-width:600px) button tweaks to avoid breaking forms on small widths */

.lead-muted{color:var(--muted)}
.result{margin-top:12px;padding:12px;border-radius:8px;background:rgba(0,0,0,0.3);color:var(--text)}
.muted{color:var(--muted)}

/* form footer buttons */
form > div:last-child{margin-top:6px;display:flex;gap:8px;justify-content:flex-end}

./* fix: stray dot removed */
/* Tabs - Archivador aesthetic */
.tabs-container{margin-top:16px;padding-top:6px}
.tabs{display:flex;gap:12px;align-items:flex-start;flex-wrap:nowrap;margin-bottom:-8px;overflow:visible}
.tab{appearance:none;border:1px solid rgba(255,255,255,0.14);padding:10px 16px;border-radius:calc(var(--radius) * 1.6) calc(var(--radius) * 1.6) 0 0;background:var(--panel);color:var(--text);font-weight:700;cursor:pointer;position:relative;transition:background 160ms ease;font-size:1rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab:not(.active){box-shadow:none;z-index:1;opacity:1}
.tab.active{background:var(--panel);box-shadow:none;z-index:30;border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px;transform:translateY(-8px);border-bottom:1px solid rgba(255,255,255,0.14)}
.tab.archivador{padding-left:22px;padding-right:22px;margin-left:30px;border-bottom:none;border-radius:calc(var(--radius) * 1.1) calc(var(--radius) * 1.1) 0 0;font-size:1.05rem;flex:0 0 auto;min-width:auto}
/* ensure the archivador tab never draws a bottom border (even when active) */
.tab.archivador.active{border-bottom:none;border-radius:calc(var(--radius) * 1.1) calc(var(--radius) * 1.1) 0 0;transform:translateY(-6px);margin-bottom:-1px}
.tab:focus{outline:none}
.tab:focus-visible{box-shadow:none}
.tabs-container, .tabs{overflow:visible}
.tabs-panels{margin-top:0}
.tabs + .tabs-panels .card.dashboard{border-top:1px solid rgba(255,255,255,0.14);margin-top:0}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* Make the panel visually attached to the active tab: remove top radius so tabs fuse with panel */
/* ensure the tab visually attaches to the panel (no gap) while preserving panel radius */
.tabs-panels .card.dashboard{margin-top:0;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}

@media (max-width:720px){ .tabs{overflow:visible;padding-bottom:6px} .tabs{gap:8px} }

/* Mobile tweaks: make archivador tab fit and align nicely on small screens */
/* Removed smaller-tab mobile tweaks (max-width:600px) to prevent layout breakage */

/* intermediate breakpoint removed per user request */

/* Dashboard card: make borders transparent to match panel visual */
.card.dashboard{border-color:transparent !important}
.tabs + .tabs-panels .card.dashboard{border-top:1px solid transparent !important}
