Skip to content

Commit 34ce812

Browse files
authored
Add export buttons and modal styles
1 parent 39d8a2e commit 34ce812

1 file changed

Lines changed: 262 additions & 0 deletions

File tree

styles.css

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,3 +1381,265 @@ section {
13811381
.mensaje-oculto {
13821382
display: none;
13831383
}
1384+
1385+
1386+
/* ========================================
1387+
BOTONES DE EXPORTACIÓN
1388+
======================================== */
1389+
.export-buttons {
1390+
margin-top: var(--space-xl);
1391+
padding: var(--space-lg);
1392+
background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
1393+
border: 1px solid var(--color-border);
1394+
border-radius: 8px;
1395+
text-align: center;
1396+
}
1397+
1398+
.export-buttons.hidden {
1399+
display: none;
1400+
}
1401+
1402+
.export-buttons-title {
1403+
font-size: 0.85rem;
1404+
font-weight: 600;
1405+
text-transform: uppercase;
1406+
letter-spacing: 0.05em;
1407+
color: var(--color-text-muted);
1408+
margin-bottom: var(--space-md);
1409+
}
1410+
1411+
.export-buttons-group {
1412+
display: flex;
1413+
justify-content: center;
1414+
gap: var(--space-md);
1415+
flex-wrap: wrap;
1416+
}
1417+
1418+
.btn-export {
1419+
display: inline-flex;
1420+
align-items: center;
1421+
gap: var(--space-sm);
1422+
padding: var(--space-sm) var(--space-lg);
1423+
font-family: var(--font-body);
1424+
font-size: 0.9rem;
1425+
font-weight: 600;
1426+
border: 2px solid;
1427+
border-radius: 6px;
1428+
cursor: pointer;
1429+
transition: all 0.2s ease;
1430+
}
1431+
1432+
.btn-export:hover {
1433+
transform: translateY(-2px);
1434+
box-shadow: var(--shadow-md);
1435+
}
1436+
1437+
.btn-export:active {
1438+
transform: translateY(0);
1439+
}
1440+
1441+
.btn-copiar {
1442+
background: white;
1443+
color: var(--color-info);
1444+
border-color: var(--color-info);
1445+
}
1446+
1447+
.btn-copiar:hover {
1448+
background: var(--color-info);
1449+
color: white;
1450+
}
1451+
1452+
.btn-preview {
1453+
background: white;
1454+
color: var(--color-warning);
1455+
border-color: var(--color-warning);
1456+
}
1457+
1458+
.btn-preview:hover {
1459+
background: var(--color-warning);
1460+
color: white;
1461+
}
1462+
1463+
.btn-pdf {
1464+
background: var(--color-accent);
1465+
color: white;
1466+
border-color: var(--color-accent);
1467+
}
1468+
1469+
.btn-pdf:hover {
1470+
background: #9b2c2c;
1471+
border-color: #9b2c2c;
1472+
}
1473+
1474+
/* ========================================
1475+
MODAL DE VISTA PREVIA
1476+
======================================== */
1477+
.modal-overlay {
1478+
position: fixed;
1479+
top: 0;
1480+
left: 0;
1481+
right: 0;
1482+
bottom: 0;
1483+
background: rgba(0, 0, 0, 0.7);
1484+
display: flex;
1485+
align-items: center;
1486+
justify-content: center;
1487+
z-index: 1000;
1488+
padding: var(--space-lg);
1489+
}
1490+
1491+
.modal-content {
1492+
background: white;
1493+
border-radius: 8px;
1494+
max-width: 900px;
1495+
width: 100%;
1496+
max-height: 90vh;
1497+
display: flex;
1498+
flex-direction: column;
1499+
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
1500+
}
1501+
1502+
.modal-header {
1503+
display: flex;
1504+
justify-content: space-between;
1505+
align-items: center;
1506+
padding: var(--space-md) var(--space-lg);
1507+
border-bottom: 1px solid var(--color-border);
1508+
background: var(--color-primary);
1509+
color: white;
1510+
border-radius: 8px 8px 0 0;
1511+
}
1512+
1513+
.modal-header h3 {
1514+
margin: 0;
1515+
font-family: var(--font-heading);
1516+
font-size: 1.1rem;
1517+
}
1518+
1519+
.modal-close {
1520+
background: none;
1521+
border: none;
1522+
font-size: 1.5rem;
1523+
color: white;
1524+
cursor: pointer;
1525+
padding: 0;
1526+
line-height: 1;
1527+
opacity: 0.8;
1528+
transition: opacity 0.2s;
1529+
}
1530+
1531+
.modal-close:hover {
1532+
opacity: 1;
1533+
}
1534+
1535+
.modal-body {
1536+
flex: 1;
1537+
overflow: auto;
1538+
padding: var(--space-lg);
1539+
background: #1a1a2e;
1540+
}
1541+
1542+
.modal-body pre {
1543+
font-family: var(--font-mono);
1544+
font-size: 0.75rem;
1545+
line-height: 1.5;
1546+
color: #e0e0e0;
1547+
white-space: pre-wrap;
1548+
word-wrap: break-word;
1549+
margin: 0;
1550+
}
1551+
1552+
.modal-footer {
1553+
display: flex;
1554+
justify-content: flex-end;
1555+
gap: var(--space-md);
1556+
padding: var(--space-md) var(--space-lg);
1557+
border-top: 1px solid var(--color-border);
1558+
background: var(--color-bg-alt);
1559+
border-radius: 0 0 8px 8px;
1560+
}
1561+
1562+
.modal-footer .btn-secondary {
1563+
padding: var(--space-sm) var(--space-lg);
1564+
background: white;
1565+
color: var(--color-text);
1566+
border: 1px solid var(--color-border-dark);
1567+
border-radius: 4px;
1568+
font-family: var(--font-body);
1569+
font-size: 0.9rem;
1570+
cursor: pointer;
1571+
transition: background 0.2s;
1572+
}
1573+
1574+
.modal-footer .btn-secondary:hover {
1575+
background: var(--color-bg-alt);
1576+
}
1577+
1578+
.modal-footer .btn-primary {
1579+
padding: var(--space-sm) var(--space-lg);
1580+
background: var(--color-primary);
1581+
color: white;
1582+
border: none;
1583+
border-radius: 4px;
1584+
font-family: var(--font-body);
1585+
font-size: 0.9rem;
1586+
font-weight: 600;
1587+
cursor: pointer;
1588+
transition: background 0.2s;
1589+
}
1590+
1591+
.modal-footer .btn-primary:hover {
1592+
background: var(--color-primary-light);
1593+
}
1594+
1595+
/* Toast de notificación */
1596+
.toast {
1597+
position: fixed;
1598+
bottom: 20px;
1599+
left: 50%;
1600+
transform: translateX(-50%);
1601+
padding: var(--space-md) var(--space-xl);
1602+
background: var(--color-primary-dark);
1603+
color: white;
1604+
border-radius: 8px;
1605+
font-size: 0.9rem;
1606+
box-shadow: var(--shadow-lg);
1607+
z-index: 1001;
1608+
animation: toastIn 0.3s ease, toastOut 0.3s ease 2.7s;
1609+
}
1610+
1611+
.toast.success {
1612+
background: var(--color-success);
1613+
}
1614+
1615+
.toast.error {
1616+
background: var(--color-accent);
1617+
}
1618+
1619+
@keyframes toastIn {
1620+
from {
1621+
opacity: 0;
1622+
transform: translateX(-50%) translateY(20px);
1623+
}
1624+
to {
1625+
opacity: 1;
1626+
transform: translateX(-50%) translateY(0);
1627+
}
1628+
}
1629+
1630+
@keyframes toastOut {
1631+
from {
1632+
opacity: 1;
1633+
transform: translateX(-50%) translateY(0);
1634+
}
1635+
to {
1636+
opacity: 0;
1637+
transform: translateX(-50%) translateY(20px);
1638+
}
1639+
}
1640+
1641+
@media print {
1642+
.export-buttons {
1643+
display: none;
1644+
}
1645+
}

0 commit comments

Comments
 (0)