99 lines
2.9 KiB
HTML
99 lines
2.9 KiB
HTML
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<link rel="stylesheet" href="/static/style.css" type="text/css" />
|
|
<link rel="icon" href="/static/images/favicon.ico" sizes="32x32" />
|
|
<title>{{ title }}</title>
|
|
{% if extra_scripts %}<script src="{{ extra_scripts }}"></script>{% endif %}
|
|
<style>
|
|
/* Navigation bar — shared across all pages */
|
|
.nav {
|
|
background: #fff;
|
|
padding: 10px 15px;
|
|
margin-bottom: 10px;
|
|
box-shadow: 0 2px 4px rgba(0,0,0,.1);
|
|
border-radius: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
.nav-links { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
|
|
.nav a {
|
|
margin-right: 20px;
|
|
text-decoration: none;
|
|
color: #0066cc;
|
|
font-weight: 500;
|
|
font-size: 0.9em;
|
|
}
|
|
.nav a:hover { text-decoration: underline; }
|
|
.nav a.active { color: #333; font-weight: bold; }
|
|
.nav-user {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
text-decoration: none;
|
|
color: #333;
|
|
font-size: 0.9em;
|
|
font-weight: 500;
|
|
padding: 4px 8px;
|
|
border-radius: 20px;
|
|
transition: background 0.15s;
|
|
}
|
|
.nav-user:hover { background: #f0f4ff; text-decoration: none; }
|
|
.nav-avatar {
|
|
width: 28px; height: 28px;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
flex-shrink: 0;
|
|
}
|
|
.nav-initials {
|
|
width: 28px; height: 28px;
|
|
border-radius: 50%;
|
|
background: #0066cc;
|
|
color: #fff;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.75em;
|
|
font-weight: 700;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* ── Mobile nav: hamburger toggle ── */
|
|
.nav-hamburger {
|
|
display: none;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
width: 26px; height: 20px;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
.nav-hamburger span {
|
|
display: block;
|
|
height: 3px;
|
|
background: #555;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
.nav-hamburger { display: flex; }
|
|
.nav-links {
|
|
display: none;
|
|
width: 100%;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
padding-top: 8px;
|
|
border-top: 1px solid #eee;
|
|
order: 3;
|
|
}
|
|
.nav-links.nav-open { display: flex; }
|
|
.nav-links a { margin-right: 0; padding: 6px 0; font-size: 1em; }
|
|
}
|
|
</style>
|
|
<script src="static/sorttable.js"></script>
|
|
</head> |