:root{
--bg:#f4f6f9;
--card:#ffffff;
--text:#222;
--accent:#4a90e2;
--border:#e5e7eb;
}

[data-theme="dark"]{
--bg:#0f172a;
--card:#1e293b;
--text:#f1f5f9;
--accent:#60a5fa;
--border:#334155;
}

body{
margin:0;
font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial;
background:var(--bg);
color:var(--text);
transition:background .3s,color .3s;
}

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 30px;
}

.left{
display:flex;
align-items:center;
gap:15px;
}

h1{
font-size:1.3rem;
margin:0;
}

.user{
font-size:0.9rem;
opacity:0.8;
}

.actions{
display:flex;
gap:10px;
}

.btn{
cursor:pointer;
font-size:1rem;
border:none;
background:var(--card);
color:var(--text);
padding:10px 14px;
border-radius:10px;
border:1px solid var(--border);
text-decoration:none;
}

.container{
max-width:1100px;
margin:auto;
padding:20px;
}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:20px;
}

.card{
background:var(--card);
border:1px solid var(--border);
border-radius:16px;
padding:30px;
text-align:center;
text-decoration:none;
color:var(--text);
transition:all .2s ease;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:15px;
}

.card i{
font-size:2rem;
color:var(--accent);
}

.card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.card.empty{
opacity:0.4;
pointer-events:none;
}

footer{
text-align:center;
margin-top:40px;
font-size:.9rem;
opacity:.7;
}

/* formularios */

form{
max-width:400px;
margin:auto;
background:var(--card);
padding:30px;
border-radius:12px;
border:1px solid var(--border);
display:flex;
flex-direction:column;
gap:15px;
}

input,select{
padding:10px;
border-radius:8px;
border:1px solid var(--border);
background:var(--bg);
color:var(--text);
}

table{
width:100%;
border-collapse:collapse;
background:var(--card);
border-radius:12px;
overflow:hidden;
}

th,td{
padding:12px;
border-bottom:1px solid var(--border);
text-align:left;
}
