Spaces:
Sleeping
Sleeping
Upload static/css/style.css with huggingface_hub
Browse files- static/css/style.css +122 -0
static/css/style.css
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
body { font-family: 'Segoe UI', Arial, sans-serif; background: linear-gradient(135deg, #e3e9f6 0%, #f6f8fa 100%); margin: 0; }
|
| 2 |
+
|
| 3 |
+
.card, .container {
|
| 4 |
+
background: #fff;
|
| 5 |
+
border-radius: 16px;
|
| 6 |
+
box-shadow: 0 4px 24px rgba(25,118,210,0.09), 0 1.5px 7px rgba(44,62,80,0.05);
|
| 7 |
+
padding: 2.2em 2em;
|
| 8 |
+
margin: 40px auto;
|
| 9 |
+
max-width: 820px;
|
| 10 |
+
transition: box-shadow 0.2s;
|
| 11 |
+
}
|
| 12 |
+
.card:hover, .container:hover {
|
| 13 |
+
box-shadow: 0 8px 32px rgba(25,118,210,0.13), 0 2px 10px rgba(44,62,80,0.08);
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
h1, h3 { text-align: center; color: #1976d2; letter-spacing: 0.01em; }
|
| 17 |
+
|
| 18 |
+
form label { display: block; margin-top: 1.2em; color: #34495e; font-weight: 500; }
|
| 19 |
+
form input, form button, form select {
|
| 20 |
+
width: 100%; padding: 0.55em; margin-top: 0.2em;
|
| 21 |
+
border: 1px solid #bfc9db; border-radius: 6px;
|
| 22 |
+
font-size: 1em; background: #f9fbff;
|
| 23 |
+
transition: border 0.18s, box-shadow 0.18s;
|
| 24 |
+
}
|
| 25 |
+
form input:focus, form select:focus {
|
| 26 |
+
border: 1.5px solid #1976d2;
|
| 27 |
+
outline: none;
|
| 28 |
+
box-shadow: 0 0 0 2px #e3e9f6;
|
| 29 |
+
}
|
| 30 |
+
form button {
|
| 31 |
+
background: linear-gradient(90deg, #1976d2 70%, #42a5f5 100%);
|
| 32 |
+
color: #fff;
|
| 33 |
+
font-weight: bold;
|
| 34 |
+
border: none;
|
| 35 |
+
cursor: pointer;
|
| 36 |
+
margin-top: 1.5em;
|
| 37 |
+
box-shadow: 0 2px 8px rgba(25,118,210,0.09);
|
| 38 |
+
transition: background 0.18s, box-shadow 0.18s, transform 0.12s;
|
| 39 |
+
letter-spacing: 0.03em;
|
| 40 |
+
}
|
| 41 |
+
form button:hover {
|
| 42 |
+
background: linear-gradient(90deg, #1565c0 70%, #64b5f6 100%);
|
| 43 |
+
transform: translateY(-2px) scale(1.03);
|
| 44 |
+
box-shadow: 0 4px 16px rgba(25,118,210,0.13);
|
| 45 |
+
}
|
| 46 |
+
#results, #predictionResults, #exportsCountryResults, #importsCountryResults, #exportsProductResults, #importsProductResults, #rankingsResults, #bilateralResults, #dataDownloadStatus {
|
| 47 |
+
margin-top: 2em;
|
| 48 |
+
font-size: 1.08em;
|
| 49 |
+
}
|
| 50 |
+
.alert { padding: 1em; border-radius: 8px; margin-bottom: 1em; font-weight: bold; }
|
| 51 |
+
.alert-danger { background: #ffe5e5; color: #c0392b; border: 1px solid #e74c3c; }
|
| 52 |
+
.alert-success { background: #e5ffe5; color: #27ae60; border: 1px solid #2ecc71; }
|
| 53 |
+
.spinner {
|
| 54 |
+
border: 6px solid #f3f3f3;
|
| 55 |
+
border-top: 6px solid #1976d2;
|
| 56 |
+
border-radius: 50%;
|
| 57 |
+
width: 44px;
|
| 58 |
+
height: 44px;
|
| 59 |
+
animation: spin 1s linear infinite;
|
| 60 |
+
margin: 2em auto;
|
| 61 |
+
display: block;
|
| 62 |
+
}
|
| 63 |
+
@keyframes spin {
|
| 64 |
+
0% { transform: rotate(0deg); }
|
| 65 |
+
100% { transform: rotate(360deg); }
|
| 66 |
+
}
|
| 67 |
+
table {
|
| 68 |
+
width: 100%; border-collapse: separate; border-spacing: 0;
|
| 69 |
+
margin-top: 2em; min-width: 600px;
|
| 70 |
+
background: #fff; border-radius: 10px;
|
| 71 |
+
overflow: hidden;
|
| 72 |
+
box-shadow: 0 2px 10px rgba(25,118,210,0.07);
|
| 73 |
+
font-size: 1.07em;
|
| 74 |
+
}
|
| 75 |
+
thead {
|
| 76 |
+
background: linear-gradient(90deg, #1976d2 70%, #42a5f5 100%);
|
| 77 |
+
color: #fff;
|
| 78 |
+
}
|
| 79 |
+
th, td {
|
| 80 |
+
padding: 0.65em 0.6em;
|
| 81 |
+
border: 1px solid #e3e9f6;
|
| 82 |
+
text-align: left;
|
| 83 |
+
}
|
| 84 |
+
tr:nth-child(even) { background: #f6f8fa; }
|
| 85 |
+
tr:hover { background: #e3e9f6; transition: background 0.18s; }
|
| 86 |
+
#tradeChart, #predictionChart, #exportsCountryChart, #importsCountryChart, #exportsProductChart, #importsProductChart, #rankingsChart, #bilateralChart {
|
| 87 |
+
max-width: 100%; margin-top: 2em; background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(25,118,210,0.07);
|
| 88 |
+
}
|
| 89 |
+
@media (max-width: 900px) {
|
| 90 |
+
.container, .card { max-width: 98vw; padding: 1.2em 0.5em; }
|
| 91 |
+
table { min-width: 350px; font-size: 0.97em; }
|
| 92 |
+
}
|
| 93 |
+
.container { max-width: 700px; margin: 40px auto; background: #fff; padding: 2em; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
|
| 94 |
+
h1 { text-align: center; color: #2c3e50; }
|
| 95 |
+
form label { display: block; margin-top: 1em; color: #34495e; }
|
| 96 |
+
form input, form button, form select { width: 100%; padding: 0.5em; margin-top: 0.2em; border: 1px solid #ccc; border-radius: 4px; }
|
| 97 |
+
form button { background: #3498db; color: #fff; font-weight: bold; border: none; cursor: pointer; margin-top: 1em; }
|
| 98 |
+
form button:hover { background: #217dbb; }
|
| 99 |
+
#results { margin-top: 2em; }
|
| 100 |
+
.alert { padding: 1em; border-radius: 5px; margin-bottom: 1em; font-weight: bold; }
|
| 101 |
+
.alert-danger { background: #ffe5e5; color: #c0392b; border: 1px solid #e74c3c; }
|
| 102 |
+
.alert-success { background: #e5ffe5; color: #27ae60; border: 1px solid #2ecc71; }
|
| 103 |
+
.spinner {
|
| 104 |
+
border: 6px solid #f3f3f3;
|
| 105 |
+
border-top: 6px solid #3498db;
|
| 106 |
+
border-radius: 50%;
|
| 107 |
+
width: 40px;
|
| 108 |
+
height: 40px;
|
| 109 |
+
animation: spin 1s linear infinite;
|
| 110 |
+
margin: 2em auto;
|
| 111 |
+
display: block;
|
| 112 |
+
}
|
| 113 |
+
@keyframes spin {
|
| 114 |
+
0% { transform: rotate(0deg); }
|
| 115 |
+
100% { transform: rotate(360deg); }
|
| 116 |
+
}
|
| 117 |
+
table { width: 100%; border-collapse: collapse; margin-top: 2em; min-width: 600px; }
|
| 118 |
+
thead { background: #3498db; color: #fff; }
|
| 119 |
+
th, td { padding: 0.5em; border: 1px solid #ddd; text-align: left; }
|
| 120 |
+
tr:nth-child(even) { background: #f2f2f2; }
|
| 121 |
+
#results { margin-top: 2em; }
|
| 122 |
+
#tradeChart { max-width: 100%; margin-top: 2em; }
|