@import "tailwindcss"; /* ─── Neo Brutalist Design System ─── */ :root { --brutal-bg: #ffffff; --brutal-border: 3px solid #111827; --brutal-border-thin: 2px solid #111827; --brutal-shadow: 4px 4px 0px #111827; --brutal-shadow-hover: 6px 6px 0px #111827; --brutal-shadow-active: 2px 2px 0px #111827; --brutal-shadow-gold: 4px 4px 0px #b8860b; --gold: #fabf04; --gold-light: rgba(250, 191, 4, 0.15); --dark: #111827; --radius: 0px; --radius-sm: 0px; --radius-xs: 0px; } /* ─── Background ─── */ body.glass-bg { background: #f5f5f0; background-image: repeating-linear-gradient(0deg, transparent, transparent 49px, rgba(0,0,0,0.03) 49px, rgba(0,0,0,0.03) 50px), repeating-linear-gradient(90deg, transparent, transparent 49px, rgba(0,0,0,0.03) 49px, rgba(0,0,0,0.03) 50px); } /* ─── Brutalist panels ─── */ .glass { background: var(--brutal-bg); border: var(--brutal-border); border-radius: var(--radius); box-shadow: var(--brutal-shadow); } .glass-heavy { background: var(--brutal-bg); border: var(--brutal-border); border-radius: var(--radius); box-shadow: var(--brutal-shadow); } .glass-dark { background: var(--dark); border: var(--brutal-border); border-radius: var(--radius); box-shadow: var(--brutal-shadow); color: white; } .glass-dark-heavy { background: var(--dark); border: 3px solid #000; color: white; } .glass-gold { background: var(--gold); border: var(--brutal-border); border-radius: var(--radius); box-shadow: var(--brutal-shadow-gold); } /* ─── Brutalist buttons ─── */ .btn-glass { background: var(--brutal-bg); border: var(--brutal-border-thin); border-radius: var(--radius); box-shadow: var(--brutal-shadow); transition: all 0.1s ease; cursor: pointer; &:hover { box-shadow: var(--brutal-shadow-hover); transform: translate(-2px, -2px); } &:active { box-shadow: var(--brutal-shadow-active); transform: translate(2px, 2px); } } .btn-gold { background: var(--gold); border: var(--brutal-border-thin); border-radius: var(--radius); box-shadow: var(--brutal-shadow); transition: all 0.1s ease; cursor: pointer; &:hover { box-shadow: var(--brutal-shadow-hover); transform: translate(-2px, -2px); } &:active { box-shadow: var(--brutal-shadow-active); transform: translate(2px, 2px); } } .btn-dark { background: var(--dark); border: var(--brutal-border-thin); border-radius: var(--radius); color: white; box-shadow: var(--brutal-shadow); transition: all 0.1s ease; cursor: pointer; &:hover { background: var(--gold); color: var(--dark); box-shadow: var(--brutal-shadow-hover); transform: translate(-2px, -2px); } &:active { box-shadow: var(--brutal-shadow-active); transform: translate(2px, 2px); } } /* ─── Brutalist input ─── */ .input-glass { background: #ffffff; border: var(--brutal-border-thin); border-radius: var(--radius); transition: all 0.1s ease; &:focus { outline: none; border-color: var(--gold); box-shadow: 3px 3px 0px var(--gold); } } /* ─── Page containers ─── */ .page-container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 2rem 0; @media (min-width: 768px) { width: 80%; padding: 3rem 0; } } .heading-page { border-bottom: 4px solid var(--gold); display: inline-block; padding-bottom: 0.5rem; } .admin-content .page-container { width: 95%; max-width: none; @media (min-width: 768px) { width: 90%; } } /* ─── Admin layout ─── */ .admin-wrapper { display: flex; min-height: 100vh; width: 100%; } .admin-sidebar { width: 260px; flex-shrink: 0; overflow-y: auto; } .admin-content { flex: 1; min-width: 0; overflow-y: auto; } @media (max-width: 1023px) { .admin-sidebar { position: fixed; left: -260px; top: 0; bottom: 0; z-index: 50; transition: left 0.2s ease; } .admin-sidebar.open { left: 0; } .admin-overlay { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); z-index: 40; } .admin-sidebar.open + .admin-overlay { display: block; } } /* ─── Sidebar nav items ─── */ .sidebar-nav-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.875rem; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; border-radius: 0; transition: all 0.1s ease; color: rgba(255, 255, 255, 0.75); border-left: 4px solid transparent; &:hover { background: rgba(255, 255, 255, 0.1); color: white; border-left-color: var(--gold); } &.active { background: var(--gold); color: #111827; border-left-color: #111827; font-weight: 900; } &.active-danger { background: #dc2626; color: white; border-left-color: #111827; } } /* ─── Scrollbar styling ─── */ .admin-sidebar::-webkit-scrollbar { width: 6px; } .admin-sidebar::-webkit-scrollbar-track { background: transparent; } .admin-sidebar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 0; } /* ─── Smooth transitions ─── */ * { scroll-behavior: smooth; } /* ─── Devis lines drag & drop ─── */ .line-row.dragging { opacity: 0.4; } .line-row.drag-over { border-top: 4px solid var(--gold); } /* ─── Brutalist overrides for Tailwind rounded ─── */ .rounded, .rounded-lg, .rounded-xl, .rounded-md, .rounded-sm, .rounded-full { border-radius: 0 !important; }