BOLDER | Admin Control
body.light-mode .sidebar { background: #fff; border-right: 1px solid rgba(0,0,0,0.05); }
body.light-mode .nav-link { color: #555; }
body.light-mode .nav-label { color: rgba(0,0,0,0.4); }
body.light-mode .cms-card, body.light-mode .folder-item, body.light-mode .data-row {
background: #fff;
border: 1px solid rgba(0,0,0,0.05);
box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}
body.light-mode .search-input, body.light-mode .form-group input, body.light-mode .form-group select, body.light-mode .form-group textarea {
background: #fff;
border: 1px solid rgba(0,0,0,0.1);
color: #333;
}
body.light-mode .main { background: #f5f5f7; }
#bolder-app-frame {
background-color: var(–bg-dark);
color: #fff;
display: flex;
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 999999;
overflow-x: hidden;
overflow-y: auto;
font-family: ‘Inter’, sans-serif;
transition: background-color 0.4s ease, color 0.4s ease;
}
/* Sidebar */
.sidebar {
width: var(–sidebar-width);
flex-shrink: 0;
background: #000;
border-right: 1px solid rgba(255, 255, 255, 0.05);
padding: 2rem;
position: sticky;
top: 0;
height: 100vh;
z-index: 100;
overflow-y: auto;
}
/* Subtle scrollbar for sidebar */
.sidebar::-webkit-scrollbar { width: 4px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }
.sidebar-logo {
font-family: var(–font-display);
font-size: 1.2rem;
margin-bottom: 3rem;
letter-spacing: 2px;
color: var(–accent-color);
}
.nav-item {
margin-bottom: 2rem;
}
.nav-label {
font-size: 0.6rem;
text-transform: uppercase;
letter-spacing: 2px;
color: rgba(255,255,255,0.3);
margin-bottom: 1rem;
display: block;
}
.nav-link {
color: #fff;
text-decoration: none;
font-size: 0.85rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.6rem 0;
cursor: pointer;
transition: color 0.3s ease;
}
.nav-link:hover, .nav-link.active { color: var(–accent-color); }
/* Main Area */
.main {
flex-grow: 1;
padding: 4rem;
max-width: 1400px;
min-height: 100vh;
}
.view-section { display: none !important; }
.view-section.active { display: block !important; }
.data-table { color: #fff !important; }
.data-row td { color: #fff !important; }
.admin-header {
margin-bottom: 3rem;
display: flex;
justify-content: space-between;
align-items: center;
}
/* Filter Bar */
.filter-bar {
display: flex;
gap: 1rem;
margin-bottom: 2rem;
}
.search-input {
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.1);
padding: 0.8rem 1.2rem;
border-radius: 8px;
color: #fff;
flex-grow: 1;
font-family: inherit;
}
/* Tables */
.data-table {
width: 100%;
border-collapse: separate;
border-spacing: 0 8px;
}
.data-table th {
text-align: left;
padding: 1rem;
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 2px;
color: rgba(255, 255, 255, 0.3);
}
.data-row {
background: var(–card-bg);
border: 1px solid rgba(255,255,255,0.03);
}
.data-row td { padding: 1.2rem 1rem; }
.badge-pack {
padding: 0.3rem 0.6rem;
border-radius: 4px;
font-size: 0.6rem;
font-weight: 700;
text-transform: uppercase;
}
.badge-essential { background: rgba(0, 229, 255, 0.1); color: #00e5ff; }
.badge-growth { background: rgba(240, 148, 51, 0.1); color: #f09433; }
.badge-premium { background: rgba(255, 0, 255, 0.1); color: #ff00ff; }
.badge-hibrido { background: rgba(255, 235, 59, 0.1); color: #fbc02d; }
.badge-imagens { background: rgba(76, 175, 80, 0.1); color: #4caf50; }
.badge-video_promocional { background: rgba(233, 30, 99, 0.1); color: #e91e63; }
/* Archive Modal specifically */
.archive-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
gap: 1rem;
max-height: 400px;
overflow-y: auto;
padding-right: 10px;
}
.archive-item {
background: rgba(255,255,255,0.03);
border-radius: 8px;
overflow: hidden;
border: 1px solid rgba(255,255,255,0.05);
font-size: 0.65rem;
}
.archive-thumb {
width: 100%;
aspect-ratio: 1;
background-size: cover;
background-position: center;
}
.modal-overlay {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.9);
backdrop-filter: blur(10px);
z-index: 1000;
display: flex;
justify-content: center;
align-items: center;
opacity: 0;
pointer-events: none;
transition: 0.3s ease;
}
.modal-overlay.active { opacity: 1; pointer-events: auto; }
.modal-card {
background: #111;
padding: 3rem;
border-radius: 20px;
width: 100%;
max-width: 500px;
border: 1px solid rgba(255,255,255,0.1);
}
.form-group { margin-bottom: 1.5rem; }
.form-group label {
display: block;
font-size: 0.7rem;
color: rgba(255,255,255,0.4);
margin-bottom: 0.5rem;
text-transform: uppercase;
}
.form-group input, .form-group select, .form-group textarea {
width: 100%;
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.1);
padding: 0.8rem;
border-radius: 6px;
color: #fff;
font-family: inherit;
}
.btn-primary {
background: var(–accent-color);
color: #000;
border: none;
padding: 1rem 2rem;
border-radius: 6px;
font-weight: 700;
text-transform: uppercase;
cursor: pointer;
width: 100%;
}
.btn-secondary {
background: transparent;
border: 1px solid rgba(255,255,255,0.1);
color: #fff;
padding: 0.6rem 1rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.75rem;
}
/* CMS Dashboard Cards */
.cms-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 2rem;
}
.cms-card {
background: var(–card-bg);
border-radius: 12px;
padding: 2rem;
border: 1px solid rgba(255,255,255,0.05);
}
/* Social Hub Clarity & Control */
.social-card-pulse {
animation: pulseBorder 2s infinite ease-in-out;
}
@keyframes pulseBorder {
0% { border-color: rgba(240, 148, 51, 0.2); box-shadow: 0 0 5px rgba(240, 148, 51, 0.1); }
50% { border-color: rgba(240, 148, 51, 0.8); box-shadow: 0 0 15px rgba(240, 148, 51, 0.3); }
100% { border-color: rgba(240, 148, 51, 0.2); box-shadow: 0 0 5px rgba(240, 148, 51, 0.1); }
}
.status-badge {
padding: 4px 10px; border-radius: 4px; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.5px;
}
.status-pending { background: rgba(240, 148, 51, 0.1); color: #f09433; border: 1px solid rgba(240, 148, 51, 0.2); }
.status-revision { background: rgba(255, 61, 0, 0.1); color: #ff3d00; border: 1px solid rgba(255, 61, 0, 0.2); }
.status-approved { background: rgba(76, 175, 80, 0.1); color: #4caf50; border: 1px solid rgba(76, 175, 80, 0.2); }
.status-synced { background: rgba(0, 229, 255, 0.1); color: #00e5ff; border: 1px solid rgba(0, 229, 255, 0.2); }
/* Admin Power Edit Styles */
.admin-edit-input {
background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:6px; color:#fff; padding:8px; font-size:0.8rem; width:100%;
}
.admin-edit-label { font-size:0.55rem; color:rgba(255,255,255,0.4); text-transform:uppercase; margin-bottom:5px; display:block; }
🌙
Previsão MRR (Mensal)
0€
💰
Visitas Site (Mês)
1,248
📊
Marketing & Social Dashboard
Aguardar Aprovação de Cliente
0
Ações Rápidas
Widget de Contacto (WhatsApp)
| Funcionário |
Email |
Permissões |
Ações |
Trabalhos no Website
| Preview |
Info |
Status |
Ações |
| Produto |
Preço Base (€) |
Preço Promo (€) |
Descrição |
Ação |
INFO: Se definires um “Preço Promo”, o site mostrará o valor original rasurado e destacará o novo preço de campanha.
| ID Pedido |
Marca / Fiscal |
NIF |
Email |
Plano |
Ações |
Envio de Fatura Individual
Selecione um cliente para gerir faturas individuais.
Showcase Ativo
| Preview |
Info |
Métrica |
Ações |
| Entidade |
Tipo |
Data Arquivo |
Ações |
Content Pool (Pool de Conteúdos)
Selecione um cliente para ver o conteúdo disponível.
Feed de Agendamento
Agendamentos aparecerão aqui.
SEG
TER
QUA
QUI
SEX
SÁB
DOM
Enviar Proposta (Fase 1)
Submete os assets finais para validação pelo cliente no mural.
Ficha do Pedido
#ID
Histórico & Mensagens
Estado Atual
Agendar Novo Post (Admin)
Ficha de Revisão Social
Sugerir Trabalho ao Cliente
Este pedido será enviado como uma PROPOSTA. O cliente terá de aprovar antes de qualquer desconto de tokens.
BOLDER ADMIN PORTAL © 2026 | v1.2 – WhatsApp & Proposals Update
Ficha de Revisão Social