Files
peworkshop/app/globals.css
T
2025-03-11 17:46:24 +00:00

767 lines
13 KiB
CSS

/*!* Global Styles *!*/
/*body {*/
/* font-family: Arial, sans-serif;*/
/* margin: 0;*/
/* padding: 0;*/
/* background-color: #f4f4f4;*/
/*}*/
/*h1 {*/
/* color: #333;*/
/*}*/
/*form {*/
/* margin: 20px 0;*/
/*}*/
/*input {*/
/* display: block;*/
/* margin: 10px 0;*/
/* padding: 8px;*/
/* width: 100%;*/
/* max-width: 300px;*/
/*}*/
/*button {*/
/* padding: 10px 20px;*/
/* background-color: #0070f3;*/
/* color: white;*/
/* border: none;*/
/* cursor: pointer;*/
/*}*/
/*button:hover {*/
/* background-color: #005bb5;*/
/*}*/
/*a {*/
/* color: #0070f3;*/
/* text-decoration: none;*/
/*}*/
/*a:hover {*/
/* text-decoration: underline;*/
/*}*/
/*.error {*/
/* color: red;*/
/*}*/
/*!* Reset & Base Styles *!*/
/** {*/
/* box-sizing: border-box;*/
/* margin: 0;*/
/* padding: 0;*/
/*}*/
/*body {*/
/* font-family: Arial, sans-serif;*/
/* background-color: #f4f4f4;*/
/* color: #333;*/
/* min-height: 100vh;*/
/*}*/
/*!* Typography *!*/
/*h1 {*/
/* color: #333;*/
/* margin-bottom: 1rem;*/
/* font-size: 1.5rem;*/
/* text-align: center;*/
/*}*/
/*h2 {*/
/* color: #444;*/
/* margin-bottom: 0.75rem;*/
/* font-size: 1.25rem;*/
/*}*/
/*p {*/
/* margin-bottom: 1rem;*/
/*}*/
/*!* Layout Components *!*/
/*.container {*/
/* max-width: 1200px;*/
/* margin: 0 auto;*/
/* padding: 1rem;*/
/*}*/
/*!* Card Styles *!*/
/*.auth-container,*/
/*.team-selection-container,*/
/*.admin-page,*/
/*.stats-container {*/
/* display: flex;*/
/* justify-content: center;*/
/* align-items: center;*/
/* min-height: 100vh;*/
/* padding: 1rem;*/
/*}*/
/*.auth-card,*/
/*.team-selection-card,*/
/*.admin-card,*/
/*.stats-card {*/
/* background-color: #fff;*/
/* border-radius: 8px;*/
/* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);*/
/* padding: 2rem;*/
/* width: 100%;*/
/* max-width: 400px;*/
/*}*/
/*!* Form Elements *!*/
/*.form-group {*/
/* margin-bottom: 1rem;*/
/*}*/
/*input[type="text"],*/
/*input[type="password"],*/
/*.auth-input,*/
/*.team-input {*/
/* display: block;*/
/* width: 100%;*/
/* padding: 0.75rem;*/
/* border: 1px solid #ccc;*/
/* border-radius: 4px;*/
/* font-size: 1rem;*/
/* margin-bottom: 1rem;*/
/*}*/
/*button,*/
/*.auth-button,*/
/*.team-button {*/
/* display: block;*/
/* width: 100%;*/
/* padding: 0.75rem;*/
/* background-color: #0070f3;*/
/* color: white;*/
/* border: none;*/
/* border-radius: 4px;*/
/* font-size: 1rem;*/
/* cursor: pointer;*/
/* transition: background-color 0.2s;*/
/*}*/
/*button:hover,*/
/*.auth-button:hover,*/
/*.team-button:hover {*/
/* background-color: #005bb5;*/
/*}*/
/*button:disabled {*/
/* background-color: #ccc;*/
/* cursor: not-allowed;*/
/*}*/
/*!* Admin Panel Styles *!*/
/*.timer-section {*/
/* margin-top: 1.5rem;*/
/* padding: 1rem;*/
/* border: 1px solid #eee;*/
/* border-radius: 4px;*/
/*}*/
/*.active {*/
/* color: #22c55e;*/
/* font-weight: bold;*/
/*}*/
/*.inactive {*/
/* color: #ef4444;*/
/* font-weight: bold;*/
/*}*/
/*.start-button {*/
/* background-color: #22c55e;*/
/*}*/
/*.start-button:hover {*/
/* background-color: #16a34a;*/
/*}*/
/*.stop-button {*/
/* background-color: #ef4444;*/
/*}*/
/*.stop-button:hover {*/
/* background-color: #dc2626;*/
/*}*/
/*.control-buttons {*/
/* margin-top: 1rem;*/
/*}*/
/*!* QR Scanner *!*/
/*.qr-scanner {*/
/* margin: 1rem 0;*/
/* border-radius: 8px;*/
/* overflow: hidden;*/
/* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);*/
/*}*/
/*!* Links *!*/
/*a {*/
/* color: #0070f3;*/
/* text-decoration: none;*/
/*}*/
/*a:hover {*/
/* text-decoration: underline;*/
/*}*/
/*.auth-link {*/
/* margin-top: 1rem;*/
/* text-align: center;*/
/*}*/
/*.create-team-link {*/
/* display: block;*/
/* margin-top: 1rem;*/
/* text-align: center;*/
/*}*/
/*!* Error messages *!*/
/*.error {*/
/* color: #ef4444;*/
/* margin-top: 0.5rem;*/
/* font-size: 0.875rem;*/
/*}*/
/*!* Loading state *!*/
/*.loading {*/
/* text-align: center;*/
/* font-size: 1rem;*/
/* padding: 2rem;*/
/*}*/
/*!* Team page styled as in Figma *!*/
/*.team-page {*/
/* background-color: #f8e9a1;*/
/* padding: 1rem;*/
/* border-radius: 8px;*/
/*}*/
/*.user-box {*/
/* background-color: #d99e6a;*/
/* border-radius: 8px;*/
/* padding: 0.75rem;*/
/* margin-bottom: 0.75rem;*/
/* color: #fff;*/
/*}*/
/*.add-users {*/
/* display: flex;*/
/* align-items: center;*/
/* justify-content: space-between;*/
/* background-color: #f3cf55;*/
/* border-radius: 8px;*/
/* padding: 0.5rem 1rem;*/
/* margin-bottom: 1rem;*/
/*}*/
/*!* Stats page styled as in Figma *!*/
/*.stats-user-box {*/
/* background-color: #d99e6a;*/
/* border-radius: 4px;*/
/* padding: 0.5rem;*/
/* margin-bottom: 0.5rem;*/
/*}*/
/*.clue-box {*/
/* margin: 0.75rem 0;*/
/*}*/
/*.clue-item {*/
/* display: flex;*/
/* justify-content: space-between;*/
/* padding: 0.5rem;*/
/* border-bottom: 1px solid #eee;*/
/*}*/
/*.found {*/
/* color: #22c55e;*/
/*}*/
/*.not-found {*/
/* color: #ef4444;*/
/*}*/
/*!* Progress page styled as in Figma *!*/
/*.progress-page {*/
/* background-color: #8fbc8f; !* Green background *!*/
/* padding: 1rem;*/
/* border-radius: 8px;*/
/*}*/
/*.progress-map {*/
/* position: relative;*/
/* margin-top: 1rem;*/
/* min-height: 200px;*/
/*}*/
/*.progress-point {*/
/* width: 20px;*/
/* height: 20px;*/
/* border-radius: 50%;*/
/* background-color: #fff;*/
/* position: absolute;*/
/*}*/
/*.progress-point.active {*/
/* background-color: #ff6b6b;*/
/*}*/
/*!* Navigation bar at bottom of screens as in Figma *!*/
/*.nav-bar {*/
/* display: flex;*/
/* justify-content: space-around;*/
/* background-color: #f8f8f8;*/
/* border-top: 1px solid #ddd;*/
/* padding: 0.75rem 0;*/
/* position: fixed;*/
/* bottom: 0;*/
/* width: 100%;*/
/*}*/
/*.nav-item {*/
/* display: flex;*/
/* flex-direction: column;*/
/* align-items: center;*/
/* color: #777;*/
/*}*/
/*.nav-item.active {*/
/* color: #0070f3;*/
/*}*/
/*.nav-icon {*/
/* font-size: 1.5rem;*/
/* margin-bottom: 0.25rem;*/
/*}*/
/*!* Leaderboard *!*/
/*.leaderboard {*/
/* padding: 1rem;*/
/* background-color: #f8e9a1;*/
/* border-radius: 8px;*/
/*}*/
/*.team-row {*/
/* background-color: #f3cf55;*/
/* padding: 0.75rem;*/
/* margin-bottom: 0.75rem;*/
/* border-radius: 4px;*/
/* display: flex;*/
/* justify-content: space-between;*/
/*}*/
/*!* Clue page as in Figma *!*/
/*.clue-page {*/
/* background-color: #f3cf55;*/
/* padding: 1rem;*/
/* border-radius: 8px;*/
/*}*/
/*.clue-box {*/
/* background-color: #fff8dc;*/
/* padding: 1rem;*/
/* border-radius: 8px;*/
/* margin-bottom: 1rem;*/
/*}*/
/*.clue-description {*/
/* margin-bottom: 1rem;*/
/*}*/
/*.clue-buttons {*/
/* display: flex;*/
/* justify-content: space-between;*/
/* margin-top: 1rem;*/
/*}*/
/*.clue-button {*/
/* width: 48%;*/
/*}*/
/* Global Styles */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
background-color: #f4e9dc;
color: #333;
min-height: 100vh;
}
/* Typography */
h1 {
color: #333;
margin-bottom: 1rem;
font-size: 1.5rem;
text-align: center;
}
h2 {
color: #444;
margin-bottom: 0.75rem;
font-size: 1.25rem;
}
p {
margin-bottom: 1rem;
}
/* Layout Components */
.container {
max-width: 1200px;
margin: 0 auto;
padding: 1rem;
}
/* Page Header */
.page-header {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #f4e9dc;
padding: 1rem;
border-bottom: 1px solid #e0dbd0;
}
.back-button {
font-size: 1.2rem;
width: 20px;
}
.page-title {
font-weight: bold;
font-size: 1.1rem;
}
.placeholder {
width: 20px;
}
/* Auth Pages Styling */
.auth-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f4e9dc;
}
.auth-container {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 1rem;
}
.auth-card {
background-color: #f4e9dc;
width: 100%;
max-width: 400px;
display: flex;
flex-direction: column;
gap: 1rem;
}
.input-container {
width: 100%;
}
.auth-input {
width: 100%;
padding: 0.75rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 1rem;
}
.auth-button {
background-color: #63503d;
color: white;
border: none;
border-radius: 4px;
padding: 0.75rem;
font-size: 1rem;
cursor: pointer;
width: 100%;
display: block;
}
.auth-button:hover {
background-color: #53402d;
}
.error-message {
color: #e53935;
font-size: 0.875rem;
padding: 0.5rem 0;
}
/* Navigation Bar */
.nav-bar {
display: flex;
justify-content: space-around;
background-color: #f8f8f8;
border-top: 1px solid #ddd;
padding: 0.75rem 0;
position: sticky;
bottom: 0;
width: 100%;
}
.nav-item {
display: flex;
flex-direction: column;
align-items: center;
color: #777;
}
.nav-icon {
font-size: 1.5rem;
}
/* Team Selection Page */
.team-selection-container {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 1rem;
}
.team-selection-card {
background-color: #f4e9dc;
width: 100%;
max-width: 400px;
}
.team-input {
width: 100%;
padding: 0.75rem;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 1rem;
margin-bottom: 1rem;
}
.team-button {
background-color: #63503d;
color: white;
border: none;
border-radius: 4px;
padding: 0.75rem;
font-size: 1rem;
cursor: pointer;
width: 100%;
}
/* Clue Page */
.clue-page {
background-color: #f3cf55;
display: flex;
flex-direction: column;
min-height: 100vh;
}
.clue-card {
background-color: #fff8dc;
padding: 1rem;
border-radius: 8px;
margin: 1rem;
}
.clue-content {
padding: 1rem 0;
}
.clue-buttons {
display: flex;
justify-content: space-between;
gap: 1rem;
margin-top: 1rem;
}
.clue-button {
padding: 0.5rem 1rem;
background-color: #63503d;
color: white;
border: none;
border-radius: 4px;
flex: 1;
text-align: center;
}
/* Admin Page */
.admin-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f4e9dc;
}
.admin-card {
margin: 1rem;
background-color: #f4e9dc;
}
.admin-controls {
background-color: #fff;
border-radius: 8px;
padding: 1rem;
margin-bottom: 1rem;
}
.admin-input-container {
margin-bottom: 1rem;
}
.admin-input {
width: 100%;
padding: 0.75rem;
border: 1px solid #ddd;
border-radius: 4px;
margin-bottom: 0.5rem;
}
.admin-button {
width: 100%;
padding: 0.75rem;
background-color: #63503d;
color: white;
border: none;
border-radius: 4px;
margin-bottom: 1rem;
}
.green-button {
background-color: #4caf50;
}
.red-button {
background-color: #f44336;
}
/* Map Progress Page */
.progress-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #8fbc8f;
}
.progress-map {
flex: 1;
position: relative;
overflow: hidden;
}
.map-point {
position: absolute;
width: 20px;
height: 20px;
border-radius: 50%;
background-color: #fff;
}
.map-point.current {
background-color: #e53935;
}
/* Stats Page */
.stats-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f4e9dc;
}
.stats-card {
background-color: #ffecb3;
border-radius: 8px;
margin: 1rem;
padding: 1rem;
}
.stats-row {
display: flex;
justify-content: space-between;
padding: 0.5rem 0;
border-bottom: 1px solid #f0e6ce;
}
/* Leaderboard Page */
.leaderboard-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f4e9dc;
}
.leaderboard-card {
background-color: #d0c0a0;
border-radius: 8px;
margin: 1rem;
padding: 0.5rem;
}
.team-row {
background-color: #f3cf55;
padding: 0.75rem;
margin-bottom: 0.75rem;
border-radius: 4px;
display: flex;
justify-content: space-between;
}
/* QR Scanner */
.qr-scanner-container {
padding: 1rem;
background-color: #f4e9dc;
}
.scanner-wrapper {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
margin-bottom: 1rem;
}
/* Team Header */
.team-header {
position: sticky;
top: 0;
background-color: #63503d;
color: white;
padding: 0.75rem 1rem;
text-align: center;
font-weight: bold;
z-index: 100;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.team-name {
font-size: 1rem;
}
/* Adjust the main layout to account for sticky header */
.main-layout {
display: flex;
flex-direction: column;
min-height: 100vh;
}