vbb / static /students /homework.css
PratyanshSrivastava's picture
Upload 2212 files
d7ef89d verified
Raw History Blame Contribute Delete
8.98 kB
*,
*::before,
*::after {
box-sizing: border-box;
}
html, body {
margin: 0;
padding: 0;
}
body {
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background: #f3f4f6;
color: #111827;
}
/* App shell */
.app-shell {
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* Top bar */
.topbar {
height: 64px;
background: #0f172a;
color: #fff;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
box-shadow: 0 4px 12px rgba(15, 23, 42, 0.5);
}
.topbar-left {
display: flex;
align-items: center;
gap: 12px;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 999px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.6);
flex-shrink: 0;
background: #111827;
}
.avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.identity-name {
font-weight: 600;
font-size: 15px;
}
.identity-meta {
font-size: 13px;
opacity: 0.85;
}
.topbar-right {
display: flex;
align-items: center;
gap: 8px;
}
.icon-btn {
width: 32px;
height: 32px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.3);
background: transparent;
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
font-size: 14px;
transition: background 0.15s ease-out, transform 0.1s ease-out;
}
.icon-btn i {
font-size: 14px;
}
.icon-btn:hover {
background: rgba(15, 23, 42, 0.4);
transform: translateY(-1px);
}
.icon-btn.logout-btn {
background: rgba(239, 68, 68, 0.12);
border-color: rgba(248, 113, 113, 0.7);
}
.icon-btn.logout-btn:hover {
background: rgba(239, 68, 68, 0.22);
}
/* Main area */
.main {
flex: 1;
padding: 24px 18px 32px;
}
/* Grid of tiles */
/* Desktop: 4 columns, Tablet: 3, Mobile: 2 */
.grid {
max-width: 1120px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 20px;
}
.tile {
text-decoration: none;
background: #ffffff;
border-radius: 20px;
padding: 26px 20px 20px;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
box-shadow:
0 18px 45px rgba(15, 23, 42, 0.10),
0 0 0 1px rgba(15, 23, 42, 0.02);
color: #111827;
transition:
transform 0.14s ease-out,
box-shadow 0.14s ease-out,
background 0.14s ease-out;
}
.tile:hover {
transform: translateY(-4px);
box-shadow:
0 26px 60px rgba(15, 23, 42, 0.18),
0 0 0 1px rgba(15, 23, 42, 0.04);
background: #f9fafb;
}
.tile-icon {
width: 52px;
height: 52px;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
background: transparent; /* transparent bg */
color: #1f2933; /* dark grey */
}
.tile-icon i {
font-size: 26px;
font-weight: 400;
}
.tile-label {
text-align: center;
font-size: 14px;
font-weight: 500;
}
/* Responsive */
@media (max-width: 960px) {
.grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}
}
@media (max-width: 720px) {
.topbar {
padding-inline: 12px;
}
.identity-name {
font-size: 14px;
}
.identity-meta {
font-size: 12px;
}
.grid {
grid-template-columns: repeat(2, minmax(0, 1fr)); /* mobile: 2 columns */
gap: 14px;
}
.tile {
padding: 20px 14px 16px;
}
.tile-icon {
width: 46px;
height: 46px;
}
.tile-icon i {
font-size: 20px;
}
.tile-label {
font-size: 13px;
}
}
/* Profile layout (same as before) */
.profile-layout {
max-width: 1120px;
margin: 0 auto;
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
gap: 24px;
}
/* Left card unchanged ... */
/* Right: tabbed details */
.profile-details {
background: #ffffff;
border-radius: 20px;
padding: 20px 18px 18px;
box-shadow:
0 18px 45px rgba(15, 23, 42, 0.10),
0 0 0 1px rgba(15, 23, 42, 0.02);
}
.profile-tabs-wrapper input[type="radio"] {
display: none;
}
/* Tabs row */
.profile-tabs {
position: relative;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
border-radius: 999px;
padding: 3px;
background: #f3f4f6;
margin-bottom: 16px;
column-gap: 2px;
}
.profile-tabs label {
position: relative;
z-index: 1;
cursor: pointer;
text-align: center;
padding: 7px 0;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #6b7280;
user-select: none;
}
.profile-tabs-indicator {
position: absolute;
top: 3px;
bottom: 3px;
width: calc(33.333% - 4px);
border-radius: 999px;
background: #111827;
transform: translateX(0%);
transition: transform 0.2s ease-out;
}
/* Panels */
.profile-panels {
margin-top: 4px;
}
.profile-panel {
display: none;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px 24px;
}
/* Show correct panel based on checked radio */
#tab-main:checked ~ .profile-tabs .profile-tabs-indicator {
transform: translateX(0%);
}
#tab-classes:checked ~ .profile-tabs .profile-tabs-indicator {
transform: translateX(100%);
}
#tab-subjects:checked ~ .profile-tabs .profile-tabs-indicator {
transform: translateX(200%);
}
/* active label color */
#tab-main:checked ~ .profile-tabs label:nth-of-type(1),
#tab-classes:checked ~ .profile-tabs label:nth-of-type(2),
#tab-subjects:checked ~ .profile-tabs label:nth-of-type(3) {
color: #ffffff;
font-weight: 600;
}
/* which panel is visible */
.profile-panel {display: none;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 14px 24px;}
#tab-main:checked ~ .profile-panels .profile-panel[data-panel="main"],
#tab-classes:checked ~ .profile-panels .profile-panel[data-panel="classes"],
#tab-subjects:checked ~ .profile-panels .profile-panel[data-panel="subjects"] {
display: grid;
}
/* Detail styling */
.detail-group {
display: flex;
flex-direction: column;
gap: 3px;
}
.detail-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #9ca3af;
}
.detail-value {
font-size: 14px;
color: #111827;
word-break: break-word;
}
.detail-address {
grid-column: 1 / -1;
}
/* Responsive */
@media (max-width: 768px) {
.profile-layout {
grid-template-columns: minmax(0, 1fr);
}
.profile-panel {
grid-template-columns: minmax(0, 1fr);
}
}
/* Profile layout shell */
.profile-layout {
max-width: 1120px;
margin: 0 auto;
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
gap: 24px;
}
/* Left profile card */
.profile-card {
background: #ffffff;
border-radius: 20px;
padding: 24px 20px 20px;
box-shadow:
0 18px 45px rgba(15, 23, 42, 0.10),
0 0 0 1px rgba(15, 23, 42, 0.02);
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
/* Photo */
.profile-photo {
width: 96px;
height: 96px;
border-radius: 999px;
overflow: hidden;
margin-bottom: 8px;
background: #e5e7eb;
}
.profile-photo img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* Text under photo */
.profile-name {
font-size: 18px;
font-weight: 600;
color: #111827;
text-align: center;
}
.profile-class,
.profile-addm {
font-size: 13px;
color: #6b7280;
text-align: center;
}
/* Responsive */
@media (max-width: 768px) {
.profile-layout {
grid-template-columns: minmax(0, 1fr);
}
}
/* Style all text inputs and selects */
.detail-value[type="text"],
.detail-value[type="file"],
.detail-value,
select.detail-value {
padding: 8px 12px;
border: 1px solid #d1d5db;
border-radius: 8px;
background: #f9fafb;
font-size: 14px;
transition: border-color 0.2s, box-shadow 0.2s;
outline: none;
width: 100%;
box-sizing: border-box;
}
/* Focus state */
.detail-value:focus,
select.detail-value:focus {
border-color: #111827;
box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.1);
background: #ffffff;
}
/* File input custom style (optional for consistency) */
input[type="file"].detail-value {
padding: 6px 10px;
border-radius: 8px;
background: #f3f4f6;
cursor: pointer;
}