desktop.css
5.26 KB
/* =============================================
WorkersPanel Desktop Polish (PC)
هدف: modern professional desktop feel
Principles (desktop only, 901px+):
- One cohesive page surface (not lots of heavy blocks)
- Top-level sections are separated with subtle dividers
- Grid tiles still look like tiles (stats etc.)
- Mobile/tablet behaviour unchanged
============================================= */
@media (min-width: 901px) {
/* Subtle depth so the UI doesn't feel flat */
body {
background:
radial-gradient(900px 500px at 20% 10%, rgba(255, 140, 26, 0.10), rgba(0, 0, 0, 0) 60%),
radial-gradient(800px 500px at 85% 20%, rgba(16, 185, 129, 0.08), rgba(0, 0, 0, 0) 55%),
var(--bg-main);
}
/* Main content is a layout container on desktop (avoid a giant boxed block) */
.main-content {
max-width: 1500px;
margin: 0 auto;
padding: 22px 30px 34px;
background: transparent;
border: none;
border-radius: 0;
}
/* Make the first content header feel intentional */
.main-content > .content-header {
margin: 0 0 18px;
padding: 4px 0 16px;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
/* Sidebar + header feel like a desktop app */
.sidebar {
background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00) 55%), var(--bg-panel);
border-right: 1px solid rgba(255,255,255,0.08);
box-shadow: 10px 0 34px rgba(0,0,0,0.30);
}
.page-header-simple {
background: rgba(26, 26, 26, 0.78);
border-bottom: 1px solid rgba(255,255,255,0.08);
box-shadow: 0 10px 30px rgba(0,0,0,0.20);
backdrop-filter: blur(10px);
}
.header-nav {
background: rgba(26, 26, 26, 0.72);
border-bottom: 1px solid rgba(255,255,255,0.08);
backdrop-filter: blur(10px);
}
/* ─────────────────────────────────────────────
Section system
- Top-level cards become sections with dividers
- Grid cards remain tiles
───────────────────────────────────────────── */
/* Tile cards inside grids */
.grid-2 > .card,
.grid-3 > .card,
.grid-4 > .card {
background: rgba(255,255,255,0.018);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 16px;
padding: 16px 18px;
box-shadow: none;
}
/* Section cards (most pages stack cards directly under main-content) */
.main-content > .card {
background: transparent;
border: none;
border-radius: 0;
padding: 18px 0;
box-shadow: none;
}
.main-content > .card + .card {
border-top: 1px solid rgba(255,255,255,0.08);
}
/* Remove "boxed header" behaviour for section cards */
.main-content > .card .card-header {
background: transparent;
border: none;
border-radius: 0;
padding: 0;
margin: 0 0 12px;
}
.main-content > .card .card-body {
padding: 0;
}
/* Grids: reduce chunky gaps */
.grid-2, .grid-3, .grid-4 { gap: 14px; }
/* Tables: desktop readability */
table thead th {
background: rgba(255,255,255,0.02);
border-bottom: 1px solid rgba(255,255,255,0.08);
}
table tbody td {
border-bottom: 1px solid rgba(255,255,255,0.08);
}
table tbody tr:nth-child(even) td {
background: rgba(255,255,255,0.01);
}
table tbody tr:hover td {
background: rgba(255,255,255,0.03);
}
.table-wrap{
background: rgba(255,255,255,0.012);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 14px;
}
/* Inputs (Bootstrap + custom) */
.input,
.form-control,
.form-select {
border-radius: 12px;
border-color: rgba(255,255,255,0.10);
background: rgba(255,255,255,0.02);
color: var(--text-main);
}
.input:focus,
.form-control:focus,
.form-select:focus {
border-color: rgba(255,140,26,0.65);
box-shadow: 0 0 0 4px rgba(255,140,26,0.16);
}
/* Buttons: single consistent look across the whole app */
.btn {
border-radius: 12px;
border-width: 1px;
font-weight: 750;
letter-spacing: 0.2px;
min-height: 38px;
padding: 0 14px;
transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease, background 0.12s ease;
}
.btn:hover {
transform: translateY(-1px);
box-shadow: 0 14px 30px rgba(0,0,0,0.26);
}
.btn:active {
transform: translateY(0);
box-shadow: 0 8px 18px rgba(0,0,0,0.22);
}
.btn-primary {
background: linear-gradient(180deg, var(--accent), #ff7a00);
border-color: rgba(255,140,26,0.85);
color: #fff;
}
.btn-primary:hover { filter: brightness(1.03); }
.btn-secondary {
background: rgba(255,255,255,0.03);
border-color: rgba(255,255,255,0.10);
color: var(--text-main);
}
.btn-secondary:hover { background: rgba(255,255,255,0.06); }
.btn-danger {
background: rgba(239, 68, 68, 0.16);
border-color: rgba(239, 68, 68, 0.35);
color: #ffd1d1;
}
.btn-danger:hover { background: rgba(239, 68, 68, 0.22); }
/* Icon-only buttons used in map overlays etc */
.btn.btn-icon,
.tt-map-controls .btn {
padding: 0 10px;
min-width: 40px;
}
/* Content header typography (desktop) */
.content-title { font-size: 1.45rem; }
.content-subtitle { margin-top: 6px; font-size: .95rem; }
}