178 lines
3.6 KiB
CSS
178 lines
3.6 KiB
CSS
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
font-size: 15px;
|
|
background: #f5f5f5;
|
|
color: #333;
|
|
line-height: 1.5;
|
|
}
|
|
.container { max-width: 100%; margin: 0 auto; padding: 20px; }
|
|
h1 { margin-bottom: 15px; }
|
|
h2 { margin: 15px 0 8px; font-size: 16px; }
|
|
|
|
.nav { margin-bottom: 15px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
|
|
|
|
.btn {
|
|
display: inline-block;
|
|
padding: 7px 14px;
|
|
background: #555;
|
|
color: #fff;
|
|
text-decoration: none;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
font-size: 14px;
|
|
}
|
|
.btn:hover { opacity: 0.85; }
|
|
.btn-green { background: #2a7d2a; }
|
|
.btn-blue { background: #0066cc; }
|
|
.btn-danger { background: #c0392b; }
|
|
.btn-sm { padding: 3px 10px; font-size: 13px; }
|
|
.btn-logout { background: #666; }
|
|
|
|
.input {
|
|
padding: 8px 10px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
width: 100%;
|
|
max-width: 300px;
|
|
}
|
|
.input-sm { max-width: 120px; }
|
|
.input-xs { max-width: 80px; }
|
|
|
|
#subject-select { max-width: 220px; }
|
|
|
|
.search-bar { margin-bottom: 15px; }
|
|
|
|
.filter-extras {
|
|
margin-bottom: 12px;
|
|
padding: 8px 12px;
|
|
background: #fafafa;
|
|
border: 1px solid #e0e0e0;
|
|
border-radius: 4px;
|
|
}
|
|
.filter-extras .form-row {
|
|
margin-bottom: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.filter-extras .form-row label {
|
|
min-width: auto;
|
|
font-weight: 500;
|
|
font-size: 13px;
|
|
margin-right: 2px;
|
|
}
|
|
.filter-extras .form-row label:not(:first-child) {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.filter-bar {
|
|
display: flex;
|
|
gap: 12px;
|
|
margin-bottom: 12px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.filter-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-size: 13px;
|
|
cursor: pointer;
|
|
padding: 4px 10px;
|
|
border-radius: 4px;
|
|
background: #eee;
|
|
transition: background 0.2s;
|
|
}
|
|
.filter-label:hover { background: #ddd; }
|
|
.filter-gia { color: #0066cc; }
|
|
.filter-gve { color: #666; }
|
|
.filter-nodata { color: #c0392b; }
|
|
|
|
table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 4px; overflow: hidden; }
|
|
table th, table td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #eee; }
|
|
table th { background: #eee; font-weight: 600; }
|
|
table tr:hover { background: #fafafa; }
|
|
|
|
.row-warning { background: #ffe6e6 !important; }
|
|
.row-warning:hover { background: #ffd6d6 !important; }
|
|
|
|
.banner-warning {
|
|
background: #fff3cd;
|
|
border: 1px solid #ffc107;
|
|
color: #856404;
|
|
padding: 10px 15px;
|
|
border-radius: 6px;
|
|
margin-bottom: 12px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.badge {
|
|
display: inline-block;
|
|
padding: 2px 8px;
|
|
border-radius: 3px;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
}
|
|
.badge-gia { background: #d4edff; color: #0056b3; }
|
|
.badge-gve { background: #eee; color: #555; }
|
|
|
|
.card {
|
|
background: #fff;
|
|
padding: 15px 20px;
|
|
border-radius: 6px;
|
|
margin-bottom: 15px;
|
|
box-shadow: 0 1px 3px rgba(0,0,0,0.08);
|
|
}
|
|
|
|
.form-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin-bottom: 8px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.form-row label { min-width: 180px; font-weight: 500; }
|
|
|
|
.checkbox-label {
|
|
display: block;
|
|
margin: 3px 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.msg { font-size: 13px; margin-left: 10px; }
|
|
.msg-ok { color: #2a7d2a; }
|
|
.msg-err { color: #c0392b; }
|
|
|
|
.toolbar { margin-top: 15px; }
|
|
|
|
ol { padding-left: 20px; }
|
|
ol li { margin: 4px 0; }
|
|
|
|
.user-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
font-size: 13px;
|
|
color: #666;
|
|
}
|
|
|
|
.decl-input {
|
|
max-width: 180px;
|
|
font-size: 13px;
|
|
padding: 4px 6px;
|
|
}
|
|
.decl-input:disabled {
|
|
background: #f0f0f0;
|
|
color: #999;
|
|
cursor: not-allowed;
|
|
}
|
|
.decl-cb {
|
|
width: 18px;
|
|
height: 18px;
|
|
cursor: pointer;
|
|
}
|