uLinkShortener/static/style.css
2025-02-21 01:23:57 +01:00

299 lines
No EOL
4.8 KiB
CSS

:root {
--bg-color: #1a1a1a;
--text-color: #ffffff;
--primary-color: #8a2be2;
--hover-color: #9f3fff;
--input-bg: #2d2d2d;
--success-color: #4CAF50;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
h1, h2, h3 {
color: var(--primary-color);
}
.form-group {
margin: 20px 0;
}
input[type="text"],
input[type="url"] {
background: var(--input-bg);
border: 1px solid var(--primary-color);
color: var(--text-color);
padding: 10px;
border-radius: 4px;
width: 300px;
margin-right: 10px;
}
button {
background: var(--primary-color);
color: var(--text-color);
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s;
}
button:hover {
background: var(--hover-color);
}
.link-stats {
background: rgba(0, 0, 0, 0.2);
padding: 15px;
margin: 10px 0;
border-radius: 5px;
border: 1px solid var(--primary-color);
}
#analytics {
margin-top: 20px;
}
#stats {
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid var(--primary-color);
}
#stats ul {
list-style: none;
padding: 0;
}
#stats li {
margin: 5px 0;
padding: 5px;
background: rgba(0, 0, 0, 0.2);
border-radius: 4px;
}
a {
color: var(--primary-color);
text-decoration: none;
}
a:hover {
color: var(--hover-color);
text-decoration: underline;
}
#result {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.2);
border-radius: 5px;
border: 1px solid var(--primary-color);
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
margin-top: 20px;
}
.stats-card {
background: rgba(0, 0, 0, 0.2);
padding: 20px;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.analytics-table {
width: 100%;
border-collapse: collapse;
margin-top: 15px;
background: rgba(0, 0, 0, 0.1);
}
.analytics-table th,
.analytics-table td {
padding: 8px;
text-align: left;
border-bottom: 1px solid var(--primary-color);
}
.analytics-table th {
background: var(--primary-color);
color: white;
}
.analytics-table tr:hover {
background: rgba(255, 255, 255, 0.1);
}
.analytics-table td {
vertical-align: top;
}
details {
margin: 5px 0;
}
details summary {
cursor: pointer;
color: var(--primary-color);
}
details summary:hover {
color: var(--hover-color);
}
details p {
margin: 5px 0;
font-size: 0.9em;
word-break: break-all;
}
.account-info {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px;
background: rgba(0, 0, 0, 0.2);
border-radius: 4px;
margin-bottom: 20px;
}
.account-info span {
color: var(--text-color);
}
.account-info strong {
color: var(--primary-color);
}
.logout-btn {
background: #dc3545;
}
.logout-btn:hover {
background: #c82333;
}
.link-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.link-header h3 a {
text-decoration: none;
}
.link-header h3 a:hover {
text-decoration: underline;
}
.link-stats p a {
word-break: break-all;
}
.delete-btn {
background: #dc3545;
padding: 5px 10px;
font-size: 0.9em;
}
.delete-btn:hover {
background: #c82333;
}
.error-message {
background: rgba(220, 53, 69, 0.1);
color: #dc3545;
padding: 10px;
border-radius: 4px;
border: 1px solid #dc3545;
margin: 10px 0;
display: none;
}
.success-message {
background: rgba(40, 167, 69, 0.1);
color: #28a745;
padding: 10px;
border-radius: 4px;
border: 1px solid #28a745;
margin: 10px 0;
display: none;
}
.message-fade {
animation: fadeOut 3s forwards;
animation-delay: 2s;
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; display: none; }
}
.dialog-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 1000;
}
.dialog-box {
background: var(--bg-color);
border: 1px solid var(--primary-color);
border-radius: 8px;
padding: 20px;
max-width: 400px;
width: 90%;
}
.dialog-title {
color: var(--primary-color);
margin-top: 0;
}
.dialog-message {
margin: 15px 0;
line-height: 1.4;
}
.dialog-buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 20px;
}
.dialog-buttons button {
min-width: 100px;
}
.dialog-confirm {
background: var(--primary-color);
}
.dialog-cancel {
background: #666;
}