:root {
--primary: #0D9488;
--primary-dark: #0F766E;
--primary-light: #CCFBF1;
--primary-rgb: 13, 148, 136;
--secondary: #D97706;
--secondary-light: #FEF3C7;
--accent: #E11D48;
--accent-light: #FFE4E6;
--success: #059669;
--success-light: #D1FAE5;
--danger: #DC2626;
--danger-light: #FEE2E2;
--warning: #D97706;
--warning-light: #FEF3C7;
--info: #0891B2;
--info-light: #CFFAFE;
--bg: #F1F5F9;
--bg-alt: #E2E8F0;
--card: #FFFFFF;
--card-hover: #F8FAFC;
--sidebar: #0F172A;
--sidebar-text: #CBD5E1;
--header: #FFFFFF;
--footer: #0F172A;
--footer-text: #94A3B8;
--text: #1E293B;
--text-muted: #64748B;
--text-light: #94A3B8;
--border: #E2E8F0;
--btn-text: #FFFFFF;
--link: var(--primary);
--radius: 12px;
--radius-sm: 8px;
--radius-lg: 16px;
--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -2px rgba(0,0,0,.06);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);
--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.06);
--font: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
--font-size-sm: 0.8125rem;
--font-size-base: 0.9375rem;
--font-size-lg: 1.125rem;
--font-size-xl: 1.5rem;
--font-size-2xl: 2rem;
--font-size-3xl: 2.75rem;
--gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dark));
--gradient-hero: linear-gradient(135deg, #0F172A 0%, #1E3A4A 50%, #0F766E 100%);
--transition: 200ms ease;
--sidebar-width: 260px;
} [data-theme="dark"] {
--bg: #0B1120;
--bg-alt: #1E293B;
--card: #1E293B;
--card-hover: #334155;
--header: #1E293B;
--text: #F1F5F9;
--text-muted: #94A3B8;
--text-light: #64748B;
--border: #334155;
--shadow: 0 1px 3px rgba(0,0,0,.3);
--shadow-md: 0 4px 6px rgba(0,0,0,.3);
--shadow-lg: 0 10px 15px rgba(0,0,0,.3);
--primary-light: #042F2E;
--secondary-light: #422006;
--accent-light: #4C0519;
--success-light: #022C22;
--danger-light: #450A0A;
--warning-light: #422006;
--info-light: #083344;
} *, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
font-family: var(--font);
font-size: var(--font-size-base);
color: var(--text);
background: var(--bg);
line-height: 1.6;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: var(--link);
text-decoration: none;
transition: color var(--transition);
}
a:hover {
color: var(--primary-dark);
}
button, input, select, textarea {
font-family: inherit;
font-size: inherit;
color: inherit;
border: none;
outline: none;
background: none;
}
button {
cursor: pointer;
}
table {
border-collapse: collapse;
width: 100%;
}
ul, ol {
list-style: none;
} .container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}
.hidden {
display: none !important;
}
.text-center {
text-align: center;
}
.text-muted {
color: var(--text-muted);
}
.text-sm {
font-size: var(--font-size-sm);
}
.text-lg {
font-size: var(--font-size-lg);
}
.text-xl {
font-size: var(--font-size-xl);
}
.text-2xl {
font-size: var(--font-size-2xl);
}
.fw-500 {
font-weight: 500;
}
.fw-600 {
font-weight: 600;
}
.fw-700 {
font-weight: 700;
}
.fw-800 {
font-weight: 800;
}
.mt-1 {
margin-top: 8px;
}
.mt-2 {
margin-top: 16px;
}
.mt-3 {
margin-top: 24px;
}
.mb-1 {
margin-bottom: 8px;
}
.mb-2 {
margin-bottom: 16px;
}
.mb-3 {
margin-bottom: 24px;
}
.w-full {
width: 100%;
}
.num {
font-variant-numeric: tabular-nums;
font-weight: 600;
} .btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 10px 20px;
border-radius: var(--radius-sm);
font-weight: 600;
font-size: var(--font-size-sm);
transition: all var(--transition);
white-space: nowrap;
line-height: 1.4;
}
.btn-primary {
background: var(--gradient-primary);
color: var(--btn-text);
box-shadow: 0 2px 8px rgba(var(--primary-rgb),.3);
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(var(--primary-rgb),.4);
color: var(--btn-text);
}
.btn-secondary {
background: var(--bg-alt);
color: var(--text);
}
.btn-secondary:hover {
background: var(--border);
}
.btn-danger {
background: var(--danger);
color: #fff;
}
.btn-danger:hover {
opacity: .9;
color: #fff;
}
.btn-success {
background: var(--success);
color: #fff;
}
.btn-success:hover {
opacity: .9;
color: #fff;
}
.btn-outline {
border: 1.5px solid var(--border);
color: var(--text);
background: transparent;
}
.btn-outline:hover {
border-color: var(--primary);
color: var(--primary);
background: var(--primary-light);
}
.btn-sm {
padding: 6px 14px;
font-size: .75rem;
}
.btn-lg {
padding: 14px 28px;
font-size: var(--font-size-base);
}
.btn-icon {
padding: 8px;
width: 36px;
height: 36px;
justify-content: center;
border-radius: var(--radius-sm);
}
.btn:disabled,
.btn[disabled] {
opacity: .5;
cursor: not-allowed;
pointer-events: none;
} .card {
background: var(--card);
border-radius: var(--radius);
box-shadow: var(--shadow);
border: 1px solid var(--border);
transition: box-shadow var(--transition);
overflow: hidden;
}
.card:hover {
box-shadow: var(--shadow-md);
}
.card-body {
padding: 24px;
}
.card-header {
padding: 16px 24px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: space-between;
font-weight: 600;
font-size: var(--font-size-sm);
gap: 12px;
} .badge {
display: inline-flex;
align-items: center;
padding: 3px 10px;
border-radius: 100px;
font-size: .7rem;
font-weight: 600;
letter-spacing: .02em;
line-height: 1.6;
}
.badge-primary {
background: var(--primary-light);
color: var(--primary-dark);
}
.badge-success {
background: var(--success-light);
color: var(--success);
}
.badge-danger {
background: var(--danger-light);
color: var(--danger);
}
.badge-warning {
background: var(--warning-light);
color: var(--warning);
}
.badge-info {
background: var(--info-light);
color: var(--info);
} .form-group {
margin-bottom: 20px;
}
.form-label {
display: block;
font-weight: 600;
font-size: var(--font-size-sm);
margin-bottom: 6px;
color: var(--text);
}
.form-input,
.form-select,
.form-textarea {
width: 100%;
padding: 10px 14px;
border-radius: var(--radius-sm);
border: 1.5px solid var(--border);
background: var(--card);
transition: all var(--transition);
font-size: var(--font-size-sm);
color: var(--text);
line-height: 1.5;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
border-color: var(--primary);
box-shadow: 0 0 0 3px rgba(var(--primary-rgb),.12);
}
.form-input::placeholder,
.form-textarea::placeholder {
color: var(--text-light);
}
.form-input[readonly],
.form-select[readonly] {
background: var(--bg-alt);
cursor: default;
}
.form-textarea {
resize: vertical;
min-height: 80px;
}
.form-select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748B' d='M6 8.825L.35 3.175l.7-.7L6 7.425l4.95-4.95.7.7z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 36px;
} .table-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.table {
font-size: var(--font-size-sm);
}
.table th {
text-align: left;
padding: 12px 16px;
font-weight: 600;
color: var(--text-muted);
font-size: .75rem;
text-transform: uppercase;
letter-spacing: .05em;
border-bottom: 2px solid var(--border);
background: var(--bg);
position: sticky;
top: 0;
z-index: 1;
white-space: nowrap;
}
.table td {
padding: 12px 16px;
border-bottom: 1px solid var(--border);
vertical-align: middle;
}
.table tr:last-child td {
border-bottom: none;
}
.table tbody tr:hover td {
background: var(--card-hover);
} .progress {
height: 8px;
background: var(--bg-alt);
border-radius: 100px;
overflow: hidden;
}
.progress-bar {
height: 100%;
border-radius: 100px;
transition: width 1s ease;
}
.progress-bar.primary {
background: var(--gradient-primary);
}
.progress-bar.success {
background: var(--success);
}
.progress-bar.danger {
background: var(--danger);
}
.progress-bar.warning {
background: var(--warning);
}
.progress-bar.info {
background: var(--info);
} .stat-card {
padding: 24px;
border-radius: var(--radius);
background: var(--card);
border: 1px solid var(--border);
box-shadow: var(--shadow);
transition: all var(--transition);
position: relative;
overflow: hidden;
}
.stat-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
}
.stat-card.teal::before {
background: var(--gradient-primary);
}
.stat-card.amber::before {
background: linear-gradient(90deg, var(--secondary), #B45309);
}
.stat-card.rose::before {
background: linear-gradient(90deg, var(--accent), #BE123C);
}
.stat-card.cyan::before {
background: linear-gradient(90deg, var(--info), #0E7490);
}
.stat-card.green::before {
background: linear-gradient(90deg, var(--success), #047857);
}
.stat-icon {
width: 44px;
height: 44px;
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
flex-shrink: 0;
}
.stat-number {
font-size: var(--font-size-2xl);
font-weight: 800;
line-height: 1.1;
}
.stat-label {
font-size: var(--font-size-sm);
color: var(--text-muted);
margin-top: 2px;
} .toast-container {
position: fixed;
top: 20px;
right: 20px;
z-index: 10000;
display: flex;
flex-direction: column;
gap: 8px;
pointer-events: none;
}
.toast {
padding: 14px 20px;
border-radius: var(--radius-sm);
background: var(--card);
border: 1px solid var(--border);
box-shadow: var(--shadow-lg);
display: flex;
align-items: center;
gap: 12px;
font-size: var(--font-size-sm);
font-weight: 500;
min-width: 300px;
max-width: 420px;
animation: toastIn .3s ease;
pointer-events: auto;
}
.toast.success .ti {
color: var(--success);
}
.toast.error .ti {
color: var(--danger);
}
.toast.warning .ti {
color: var(--warning);
}
.toast.info .ti {
color: var(--info);
}
@keyframes toastIn {
from { opacity: 0; transform: translateX(40px); }
to { opacity: 1; transform: translateX(0); }
}
@keyframes toastOut {
from { opacity: 1; transform: translateX(0); }
to { opacity: 0; transform: translateX(40px); }
} .modal-overlay {
position: fixed;
inset: 0;
background: rgba(0,0,0,.5);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 9000;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: all .25s ease;
padding: 16px;
}
.modal-overlay.active {
opacity: 1;
visibility: visible;
}
.modal {
background: var(--card);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-xl);
width: 100%;
max-width: 560px;
max-height: 85vh;
overflow-y: auto;
transform: scale(.95) translateY(10px);
transition: transform .25s ease;
}
.modal-overlay.active .modal {
transform: scale(1) translateY(0);
}
.modal-header {
padding: 20px 24px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: space-between;
}
.modal-header h3 {
font-size: var(--font-size-lg);
font-weight: 700;
}
.modal-body {
padding: 24px;
}
.modal-footer {
padding: 16px 24px;
border-top: 1px solid var(--border);
display: flex;
justify-content: flex-end;
gap: 8px;
} .tabs {
display: flex;
gap: 4px;
border-bottom: 2px solid var(--border);
margin-bottom: 24px;
overflow-x: auto;
}
.tab-btn {
padding: 10px 20px;
font-weight: 600;
font-size: var(--font-size-sm);
color: var(--text-muted);
border-bottom: 2px solid transparent;
margin-bottom: -2px;
transition: all var(--transition);
background: none;
white-space: nowrap;
}
.tab-btn:hover {
color: var(--text);
}
.tab-btn.active {
color: var(--primary);
border-bottom-color: var(--primary);
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
} .bar-chart {
display: flex;
flex-direction: column;
gap: 12px;
}
.bar-item {
display: flex;
align-items: center;
gap: 12px;
}
.bar-label {
min-width: 120px;
font-size: var(--font-size-sm);
font-weight: 500;
text-align: right;
flex-shrink: 0;
}
.bar-track {
flex: 1;
height: 28px;
background: var(--bg-alt);
border-radius: var(--radius-sm);
overflow: hidden;
position: relative;
}
.bar-fill {
height: 100%;
border-radius: var(--radius-sm);
transition: width 1.2s ease;
display: flex;
align-items: center;
padding-left: 10px;
min-width: fit-content;
}
.bar-value {
font-size: .7rem;
font-weight: 700;
color: #fff;
white-space: nowrap;
} .donut-wrap {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
}
.donut-center {
position: absolute;
text-align: center;
pointer-events: none;
}
.donut-center .dv {
font-size: var(--font-size-2xl);
font-weight: 800;
}
.donut-center .dl {
font-size: var(--font-size-sm);
color: var(--text-muted);
} .dm-toggle {
position: relative;
width: 44px;
height: 24px;
border-radius: 100px;
background: var(--bg-alt);
border: 1px solid var(--border);
cursor: pointer;
transition: background var(--transition);
flex-shrink: 0;
}
.dm-toggle::after {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 18px;
height: 18px;
border-radius: 50%;
background: var(--primary);
transition: transform var(--transition);
}
[data-theme="dark"] .dm-toggle {
background: var(--primary);
}
[data-theme="dark"] .dm-toggle::after {
transform: translateX(20px);
background: #fff;
} .file-upload {
border: 2px dashed var(--border);
border-radius: var(--radius);
padding: 32px;
text-align: center;
cursor: pointer;
transition: all var(--transition);
}
.file-upload:hover {
border-color: var(--primary);
background: var(--primary-light);
}
.file-upload i {
font-size: 2rem;
color: var(--text-muted);
margin-bottom: 8px;
}
.file-upload.uploaded {
border-color: var(--success);
background: var(--success-light);
}
.file-upload.uploading {
border-color: var(--primary);
background: var(--primary-light);
} .search-box {
position: relative;
display: inline-flex;
align-items: center;
}
.search-box i {
position: absolute;
left: 12px;
color: var(--text-muted);
font-size: .85rem;
pointer-events: none;
}
.search-box input {
padding-left: 36px;
width: 200px;
} .notif-bell {
position: relative;
}
.notif-badge {
position: absolute;
top: -2px;
right: -2px;
width: 16px;
height: 16px;
border-radius: 50%;
background: var(--danger);
color: #fff;
font-size: .6rem;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
line-height: 1;
} .activity-item {
display: flex;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid var(--border);
}
.activity-item:last-child {
border-bottom: none;
}
.activity-dot {
width: 8px;
height: 8px;
border-radius: 50%;
margin-top: 6px;
flex-shrink: 0;
}
.activity-time {
font-size: .7rem;
color: var(--text-muted);
white-space: nowrap;
margin-top: 2px;
} .server-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid var(--border);
}
.server-item:last-child {
border-bottom: none;
} .log-item {
display: grid;
grid-template-columns: 140px 80px 1fr 120px;
gap: 12px;
padding: 10px 16px;
font-size: var(--font-size-sm);
border-bottom: 1px solid var(--border);
align-items: center;
}
.log-item:hover {
background: var(--card-hover);
}
.log-level {
font-weight: 600;
text-transform: uppercase;
font-size: .7rem;
}
.log-level.info {
color: var(--info);
}
.log-level.warning {
color: var(--warning);
}
.log-level.error {
color: var(--danger);
}
.log-level.success {
color: var(--success);
} .tree-parent {
display: flex;
align-items: center;
gap: 8px;
font-weight: 600;
font-size: var(--font-size-sm);
cursor: pointer;
padding: 6px 0;
user-select: none;
}
.tree-parent i.fa-caret-right {
font-size: .7rem;
color: var(--text-muted);
transition: transform var(--transition);
width: 12px;
flex-shrink: 0;
}
.tree-parent.open i.fa-caret-right {
transform: rotate(90deg);
}
.tree-children {
padding-left: 24px;
display: none;
}
.tree-children.open {
display: block;
}
.tree-child {
padding: 6px 0;
font-size: var(--font-size-sm);
color: var(--text-muted);
display: flex;
align-items: center;
justify-content: space-between;
} .step-item {
display: flex;
gap: 16px;
margin-bottom: 20px;
}
.step-num {
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--gradient-primary);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: var(--font-size-sm);
flex-shrink: 0;
} .color-field {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
}
.color-field input[type="color"] {
width: 40px;
height: 40px;
border: 2px solid var(--border);
border-radius: var(--radius-sm);
cursor: pointer;
padding: 2px;
flex-shrink: 0;
}
.color-field code {
font-size: .7rem;
color: var(--text-muted);
background: var(--bg-alt);
padding: 2px 8px;
border-radius: 4px;
margin-left: auto;
} @keyframes slideUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: .4; }
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.animate-in {
animation: slideUp .5s ease both;
} .candidate-result-card {
display: flex;
align-items: center;
gap: 16px;
padding: 20px;
border-bottom: 1px solid var(--border);
}
.candidate-result-card:last-child {
border-bottom: none;
}
.candidate-avatar {
width: 56px;
height: 56px;
border-radius: 50%;
object-fit: cover;
border: 3px solid var(--border);
flex-shrink: 0;
} .live-feed {
max-height: 400px;
overflow-y: auto;
}
.live-item {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid var(--border);
font-size: var(--font-size-sm);
animation: slideUp .4s ease;
}
.live-item:last-child {
border-bottom: none;
}
.live-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--success);
flex-shrink: 0;
animation: pulse 2s infinite;
}
.live-time {
color: var(--text-muted);
font-size: .75rem;
white-space: nowrap;
flex-shrink: 0;
} .pub-header {
position: sticky;
top: 0;
z-index: 100;
background: var(--header);
border-bottom: 1px solid var(--border);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
background: rgba(255,255,255,.85);
}
[data-theme="dark"] .pub-header {
background: rgba(30,41,59,.85);
}
.pub-nav {
display: flex;
align-items: center;
justify-content: space-between;
height: 64px;
gap: 16px;
}
.pub-logo {
display: flex;
align-items: center;
gap: 10px;
font-weight: 800;
font-size: 1.2rem;
color: var(--text);
cursor: pointer;
flex-shrink: 0;
}
.pub-logo:hover {
color: var(--text);
}
.logo-icon {
width: 36px;
height: 36px;
border-radius: var(--radius-sm);
background: var(--gradient-primary);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: .9rem;
flex-shrink: 0;
}
.pub-actions {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
} .pub-event-info {
display: flex;
align-items: center;
gap: 16px;
flex: 1;
justify-content: center;
}
.pub-event-name {
font-weight: 700;
font-size: var(--font-size-sm);
color: var(--text);
white-space: nowrap;
}
.pub-event-progress {
display: flex;
align-items: center;
gap: 8px;
}
.pub-event-pct {
font-weight: 700;
font-size: var(--font-size-sm);
color: var(--primary);
min-width: 40px;
}
.pub-event-status {
font-size: var(--font-size-sm);
color: var(--text-muted);
white-space: nowrap;
} .qc-header {
background: var(--gradient-hero);
padding: 40px 0 56px;
position: relative;
overflow: hidden;
}
.qc-header::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 20% 80%, rgba(var(--primary-rgb),.3), transparent 50%),
radial-gradient(circle at 80% 20%, rgba(217,119,6,.2), transparent 50%);
}
.qc-header .container {
position: relative;
z-index: 1;
}
.qc-header h1 {
color: #fff;
font-size: var(--font-size-2xl);
font-weight: 800;
margin-bottom: 8px;
}
.qc-header p {
color: rgba(255,255,255,.6);
font-size: var(--font-size-base);
} .qc-progress-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: -40px;
position: relative;
z-index: 2;
} .dash-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 16px;
margin-bottom: 24px;
}
.dash-grid-2 {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 24px;
}
.dash-grid-2-1 {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 24px;
margin-bottom: 24px;
} .rekap-table-wrap {
max-height: 600px;
overflow: auto;
border-radius: var(--radius);
border: 1px solid var(--border);
-webkit-overflow-scrolling: touch;
}
.rekap-row-parent td {
font-weight: 700;
background: var(--bg);
}
.indent-1 td:first-child {
padding-left: 40px;
} .pub-footer {
background: var(--footer);
color: var(--footer-text);
padding: 32px 0 24px;
margin-top: 40px;
}
.footer-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 24px;
margin-bottom: 24px;
}
.footer-col {
display: flex;
flex-direction: column;
gap: 6px;
}
.footer-col-main {
flex: 1;
min-width: 200px;
}
.footer-col-stats {
flex-shrink: 0;
}
.footer-col-tech {
flex-shrink: 0;
text-align: right;
}
.footer-logo {
color: #fff;
font-weight: 800;
font-size: 1.1rem;
}
.footer-desc {
font-size: var(--font-size-sm);
line-height: 1.7;
opacity: .7;
margin-top: 4px;
}
.footer-stat-row {
display: flex;
align-items: center;
gap: 12px;
font-size: var(--font-size-sm);
}
.footer-stat-label {
color: var(--footer-text);
opacity: .6;
white-space: nowrap;
}
.footer-stat-value {
color: #fff;
font-weight: 700;
white-space: nowrap;
}
.footer-tech-badges {
display: flex;
gap: 6px;
margin-top: 4px;
justify-content: flex-end;
}
.footer-bottom {
border-top: 1px solid rgba(255,255,255,.1);
padding-top: 20px;
display: flex;
justify-content: space-between;
font-size: var(--font-size-sm);
opacity: .5;
} .saksi-login-page {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: var(--gradient-hero);
position: relative;
}
.saksi-login-page::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 30% 70%, rgba(var(--primary-rgb),.3), transparent 50%);
}
.saksi-login-box {
background: var(--card);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-xl);
width: 90%;
max-width: 420px;
padding: 48px 40px;
position: relative;
z-index: 1;
} .saksi-sidebar {
width: var(--sidebar-width);
position: fixed;
top: 0;
left: 0;
bottom: 0;
z-index: 50;
display: flex;
flex-direction: column;
transition: transform .3s ease;
background: var(--card);
border-right: 1px solid var(--border);
} .admin-sidebar {
width: var(--sidebar-width);
position: fixed;
top: 0;
left: 0;
bottom: 0;
z-index: 50;
display: flex;
flex-direction: column;
transition: transform .3s ease;
background: var(--sidebar);
} .sidebar-logo {
padding: 20px 24px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
gap: 10px;
flex-shrink: 0;
}
.admin-sidebar .sidebar-logo {
border-bottom-color: rgba(255,255,255,.08);
}
.admin-sidebar .sidebar-logo span {
color: #fff;
}
.admin-sidebar .sidebar-logo small {
font-size: .65rem;
color: var(--sidebar-text);
font-weight: 400;
}
.saksi-sidebar nav,
.admin-sidebar nav {
flex: 1;
padding: 12px;
overflow-y: auto;
}
.nav-section {
font-size: .6rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: var(--text-muted);
padding: 16px 12px 6px;
}
.admin-sidebar .nav-section {
color: rgba(203,213,225,.4);
}
.nav-item {
display: flex;
align-items: center;
gap: 12px;
padding: 9px 12px;
border-radius: var(--radius-sm);
font-size: var(--font-size-sm);
font-weight: 500;
color: var(--text-muted);
transition: all var(--transition);
cursor: pointer;
margin-bottom: 1px;
}
.nav-item:hover {
background: var(--bg);
color: var(--text);
}
.nav-item.active {
background: var(--primary-light);
color: var(--primary);
font-weight: 600;
}
.admin-sidebar .nav-item {
color: var(--sidebar-text);
}
.admin-sidebar .nav-item:hover {
background: rgba(255,255,255,.06);
color: #fff;
}
.admin-sidebar .nav-item.active {
background: var(--primary);
color: #fff;
}
.nav-item i {
width: 20px;
text-align: center;
font-size: .85rem;
flex-shrink: 0;
}
.sidebar-footer {
padding: 12px;
border-top: 1px solid var(--border);
flex-shrink: 0;
}
.admin-sidebar .sidebar-footer {
border-top-color: rgba(255,255,255,.08);
}
.user-info {
display: flex;
align-items: center;
gap: 10px;
padding: 8px;
border-radius: var(--radius-sm);
cursor: pointer;
transition: background var(--transition);
}
.user-info:hover {
background: var(--bg);
}
.admin-sidebar .user-info:hover {
background: rgba(255,255,255,.06);
}
.user-avatar {
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--gradient-primary);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-weight: 700;
font-size: .8rem;
flex-shrink: 0;
}
.user-name {
font-weight: 600;
font-size: var(--font-size-sm);
}
.user-role {
font-size: .7rem;
color: var(--text-muted);
}
.admin-sidebar .user-name {
color: #fff;
}
.admin-sidebar .user-role {
color: var(--sidebar-text);
} .saksi-main {
margin-left: var(--sidebar-width);
flex: 1;
min-height: 100vh;
}
.saksi-topbar {
position: sticky;
top: 0;
z-index: 40;
background: var(--header);
border-bottom: 1px solid var(--border);
padding: 0 32px;
height: 60px;
display: flex;
align-items: center;
justify-content: space-between;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
background: rgba(255,255,255,.85);
}
[data-theme="dark"] .saksi-topbar {
background: rgba(30,41,59,.85);
}
.saksi-content {
padding: 32px;
} .admin-main {
margin-left: var(--sidebar-width);
flex: 1;
min-height: 100vh;
}
.admin-topbar {
position: sticky;
top: 0;
z-index: 40;
background: var(--header);
border-bottom: 1px solid var(--border);
padding: 0 32px;
height: 60px;
display: flex;
align-items: center;
justify-content: space-between;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
background: rgba(255,255,255,.85);
}
[data-theme="dark"] .admin-topbar {
background: rgba(30,41,59,.85);
}
.admin-content {
padding: 32px;
} .page-title {
font-weight: 700;
font-size: var(--font-size-lg);
}
.topbar-actions {
display: flex;
align-items: center;
gap: 8px;
}
.mobile-toggle {
display: none;
} ::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--border);
border-radius: 100px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--text-light);
} .val-msg {
padding: 10px 16px;
border-radius: var(--radius-sm);
font-size: var(--font-size-sm);
font-weight: 500;
margin-bottom: 16px;
display: flex;
align-items: center;
gap: 8px;
}
.val-msg.success {
background: var(--success-light);
color: var(--success);
}
.val-msg.error {
background: var(--danger-light);
color: var(--danger);
}
.val-msg.info {
background: var(--info-light);
color: var(--info);
}
.val-msg.warning {
background: var(--warning-light);
color: var(--warning);
} .alert-box {
padding: 14px 20px;
border-radius: var(--radius-sm);
font-size: var(--font-size-sm);
font-weight: 500;
display: flex;
align-items: flex-start;
gap: 10px;
margin-bottom: 16px;
}
.alert-box.success {
background: var(--success-light);
color: var(--success);
border: 1px solid var(--success);
}
.alert-box.error {
background: var(--danger-light);
color: var(--danger);
border: 1px solid var(--danger);
}
.alert-box.info {
background: var(--info-light);
color: var(--info);
border: 1px solid var(--info);
}
.alert-box.warning {
background: var(--warning-light);
color: var(--warning);
border: 1px solid var(--warning);
} .loading-overlay {
position: fixed;
inset: 0;
background: rgba(0,0,0,.4);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: all .2s ease;
}
.loading-overlay.active {
opacity: 1;
visibility: visible;
}
.loading-box {
background: var(--card);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-xl);
padding: 32px 48px;
text-align: center;
}
.loading-spinner {
width: 40px;
height: 40px;
border: 3px solid var(--border);
border-top-color: var(--primary);
border-radius: 50%;
animation: spin .8s linear infinite;
margin: 0 auto 16px;
} .empty-state {
text-align: center;
padding: 60px 24px;
color: var(--text-muted);
}
.empty-state i {
font-size: 3rem;
opacity: .3;
margin-bottom: 16px;
display: block;
}
.empty-state h3 {
font-size: var(--font-size-lg);
font-weight: 700;
color: var(--text);
margin-bottom: 4px;
}
.empty-state p {
font-size: var(--font-size-sm);
max-width: 360px;
margin: 0 auto;
} @media (max-width: 1024px) {
.dash-grid {
grid-template-columns: repeat(3, 1fr);
}
.dash-grid-2,
.dash-grid-2-1 {
grid-template-columns: 1fr;
}
.qc-progress-row {
grid-template-columns: repeat(2, 1fr);
}
.pub-event-info {
display: none;
}
.log-item {
grid-template-columns: 120px 70px 1fr;
}
.log-item > *:last-child {
display: none;
}
} @media (max-width: 768px) {
.container {
padding: 0 16px;
}
.qc-header h1 {
font-size: 1.5rem;
}
.qc-progress-row {
grid-template-columns: 1fr 1fr;
}
.dash-grid {
grid-template-columns: repeat(2, 1fr);
}
.saksi-sidebar,
.admin-sidebar {
transform: translateX(-100%);
}
.saksi-sidebar.open,
.admin-sidebar.open {
transform: translateX(0);
}
.saksi-main,
.admin-main {
margin-left: 0;
}
.saksi-topbar,
.admin-topbar {
padding: 0 16px;
}
.saksi-content,
.admin-content {
padding: 16px;
}
.mobile-toggle {
display: flex;
}
.footer-inner {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
.footer-col-tech {
text-align: left;
}
.footer-tech-badges {
justify-content: flex-start;
}
.bar-label {
min-width: 80px;
font-size: .75rem;
}
.log-item {
grid-template-columns: 1fr;
gap: 4px;
}
.log-item > *:nth-child(2),
.log-item > *:last-child {
display: none;
}
.modal {
max-width: 100%;
margin: 16px;
max-height: 90vh;
}
.rekap-table-wrap {
border-radius: var(--radius-sm);
}
.toast {
min-width: 260px;
max-width: calc(100vw - 40px);
}
.toast-container {
right: 12px;
left: 12px;
}
} @media (max-width: 480px) {
.qc-progress-row {
grid-template-columns: 1fr;
}
.dash-grid {
grid-template-columns: 1fr;
}
.stat-number {
font-size: 1.3rem;
}
.pub-logo span {
display: none;
}
.footer-bottom {
flex-direction: column;
gap: 4px;
text-align: center;
}
} @media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
} @media print {
.pub-header,
.pub-footer,
.toast-container,
.modal-overlay,
.loading-overlay,
.dm-toggle {
display: none !important;
}
body {
background: #fff;
color: #000;
font-size: 12pt;
}
.card {
box-shadow: none;
border: 1px solid #ccc;
break-inside: avoid;
}
.rekap-table-wrap {
max-height: none;
overflow: visible;
}
} body.hitpat-splash-body {
margin: 0 !important;
padding: 0 !important;
min-height: 100vh !important;
width: 100% !important;
display: flex !important;
justify-content: center !important;
align-items: center !important; background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%) !important; 
font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
text-align: center;
overflow: hidden !important;
position: relative;
} .splash-orb {
position: absolute;
border-radius: 50%;
filter: blur(80px);
z-index: 1;
opacity: 0.4;
animation: float 8s infinite ease-in-out alternate;
}
.splash-orb-1 {
width: 500px;
height: 500px;
background: #0D9488; top: -150px;
left: -150px;
}
.splash-orb-2 {
width: 400px;
height: 400px;
background: #D97706; bottom: -100px;
right: -100px;
animation-delay: 2s;
} .splash-grid-overlay {
position: absolute;
inset: 0;
background-image: 
linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
background-size: 50px 50px;
z-index: 1;
mask-image: radial-gradient(circle at center, black 0%, transparent 80%);
-webkit-mask-image: radial-gradient(circle at center, black 0%, transparent 80%);
} .hitpat-splash-container {
position: relative;
z-index: 10;
padding: 40px;
max-width: 600px;
color: #ffffff;
animation: fadeInUp 1.2s cubic-bezier(0.16, 1, 0.3, 1);
} .hitpat-splash-logo {
width: 90px;
height: 90px;
margin: 0 auto 30px;
border-radius: 28px;
background: linear-gradient(135deg, #0D9488, #0F766E);
display: flex;
align-items: center;
justify-content: center;
font-size: 2.5rem;
color: #fff;
box-shadow: 0 15px 35px rgba(13, 148, 136, 0.4);
animation: pulseGlow 3s infinite ease-in-out;
} .hitpat-splash-title {
font-size: 6rem;
margin: 0;
font-weight: 800;
letter-spacing: 2px;
background: linear-gradient(180deg, #ffffff 0%, #94A3B8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 4px 20px rgba(0,0,0,0.3);
} .hitpat-splash-divider {
width: 60px;
height: 4px;
background: #0D9488;
margin: 25px auto;
border-radius: 10px;
} .hitpat-splash-subtitle {
font-size: 1.3rem;
font-weight: 400;
margin-bottom: 45px;
opacity: 0.9;
line-height: 1.7;
color: #CBD5E1;
}
.hitpat-splash-subtitle span {
font-weight: 600;
color: #ffffff;
letter-spacing: 0.5px;
} .hitpat-splash-btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 16px 40px;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
color: #ffffff !important;
text-decoration: none !important;
font-weight: 600;
font-size: 1.1rem;
border-radius: 50px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
} .hitpat-splash-btn:hover {
background: #ffffff;
color: #0F172A !important;
transform: translateY(-4px);
box-shadow: 0 15px 40px rgba(255, 255, 255, 0.2);
border-color: #ffffff;
}
.hitpat-splash-btn i {
transition: transform 0.3s ease;
}
.hitpat-splash-btn:hover i {
transform: translateX(6px);
} @keyframes float {
0% { transform: translate(0, 0); }
100% { transform: translate(50px, 50px); }
}
@keyframes pulseGlow {
0%, 100% { box-shadow: 0 15px 35px rgba(13, 148, 136, 0.4); }
50% { box-shadow: 0 15px 50px rgba(13, 148, 136, 0.7); }
}
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(40px); }
to { opacity: 1; transform: translateY(0); }
} @media (max-width: 600px) {
.hitpat-splash-title { font-size: 4rem; }
.hitpat-splash-subtitle { font-size: 1.1rem; }
.splash-orb-1 { width: 300px; height: 300px; }
.splash-orb-2 { width: 250px; height: 250px; }
}blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0;border:0}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}progress{vertical-align:baseline}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;margin:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}body,button,input,select,textarea{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400;text-transform:none;font-size:17px;line-height:1.5}p{margin-bottom:1.5em}h1,h2,h3,h4,h5,h6{font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit}pre{background:rgba(0,0,0,.05);font-family:inherit;font-size:inherit;line-height:normal;margin-bottom:1.5em;padding:20px;overflow:auto;max-width:100%}blockquote{border-left:5px solid rgba(0,0,0,.05);padding:20px;font-size:1.2em;font-style:italic;margin:0 0 1.5em;position:relative}blockquote p:last-child{margin:0}table,td,th{border:1px solid rgba(0,0,0,.1)}table{border-collapse:separate;border-spacing:0;border-width:1px 0 0 1px;margin:0 0 1.5em;width:100%}td,th{padding:8px}th{border-width:0 1px 1px 0}td{border-width:0 1px 1px 0}hr{background-color:rgba(0,0,0,.1);border:0;height:1px;margin-bottom:40px;margin-top:40px}fieldset{padding:0;border:0;min-width:inherit}fieldset legend{padding:0;margin-bottom:1.5em}h1{font-size:42px;margin-bottom:20px;line-height:1.2em;font-weight:400;text-transform:none}h2{font-size:35px;margin-bottom:20px;line-height:1.2em;font-weight:400;text-transform:none}h3{font-size:29px;margin-bottom:20px;line-height:1.2em;font-weight:400;text-transform:none}h4{font-size:24px}h5{font-size:20px}h4,h5,h6{margin-bottom:20px}ol,ul{margin:0 0 1.5em 3em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}b,strong{font-weight:700}cite,dfn,em,i{font-style:italic}address{margin:0 0 1.5em}code,kbd,tt,var{font:15px Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{text-decoration:none}sub,sup{font-size:75%;height:0;line-height:0;position:relative;vertical-align:baseline}sup{bottom:1ex}sub{top:.5ex}small{font-size:75%}big{font-size:125%}figure{margin:0}table{margin:0 0 1.5em;width:100%}th{font-weight:700}img{height:auto;max-width:100%}button,input[type=button],input[type=reset],input[type=submit]{background:#55555e;color:#fff;border:1px solid transparent;cursor:pointer;-webkit-appearance:button;padding:10px 20px}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid;border-radius:0;padding:10px 15px;max-width:100%}textarea{width:100%}a,button,input{transition:color .1s ease-in-out,background-color .1s ease-in-out}a{text-decoration:none}.button,.wp-block-button .wp-block-button__link{padding:10px 20px;display:inline-block}.wp-block-button .wp-block-button__link{font-size:inherit;line-height:inherit}.using-mouse :focus{outline:0}.using-mouse ::-moz-focus-inner{border:0}.alignleft{float:left;margin-right:1.5em}.alignright{float:right;margin-left:1.5em}.aligncenter{clear:both;display:block;margin:0 auto}.size-auto,.size-full,.size-large,.size-medium,.size-thumbnail{max-width:100%;height:auto}.no-sidebar .entry-content .alignfull{margin-left:calc(-100vw / 2 + 100% / 2);margin-right:calc(-100vw / 2 + 100% / 2);max-width:100vw;width:auto}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#primary[tabindex="-1"]:focus{outline:0}.main-navigation{z-index:100;padding:0;clear:both;display:block}.main-navigation a{display:block;text-decoration:none;font-weight:400;text-transform:none;font-size:15px}.main-navigation ul{list-style:none;margin:0;padding-left:0}.main-navigation .main-nav ul li a{padding-left:20px;padding-right:20px;line-height:60px}.inside-navigation{position:relative}.main-navigation .inside-navigation{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between}.main-navigation .main-nav>ul{display:flex;flex-wrap:wrap;align-items:center}.main-navigation li{position:relative}.main-navigation .menu-bar-items{display:flex;align-items:center;font-size:15px}.main-navigation .menu-bar-items a{color:inherit}.main-navigation .menu-bar-item{position:relative}.main-navigation .menu-bar-item.search-item{z-index:20}.main-navigation .menu-bar-item>a{padding-left:20px;padding-right:20px;line-height:60px}.sidebar .main-navigation .main-nav{flex-basis:100%}.sidebar .main-navigation .main-nav>ul{flex-direction:column}.sidebar .main-navigation .menu-bar-items{margin:0 auto}.sidebar .main-navigation .menu-bar-items .search-item{order:10}.nav-align-center .inside-navigation{justify-content:center}.nav-align-center .main-nav>ul{justify-content:center}.nav-align-right .inside-navigation{justify-content:flex-end}.main-navigation ul ul{display:block;box-shadow:1px 1px 0 rgba(0,0,0,.1);float:left;position:absolute;left:-99999px;opacity:0;z-index:99999;width:200px;text-align:left;top:auto;transition:opacity 80ms linear;transition-delay:0s;pointer-events:none;height:0;overflow:hidden}.main-navigation ul ul a{display:block}.main-navigation ul ul li{width:100%}.main-navigation .main-nav ul ul li a{line-height:normal;padding:10px 20px;font-size:14px}.main-navigation .main-nav ul li.menu-item-has-children>a{padding-right:0;position:relative}.main-navigation.sub-menu-left ul ul{box-shadow:-1px 1px 0 rgba(0,0,0,.1)}.main-navigation.sub-menu-left .sub-menu{right:0}.main-navigation:not(.toggled) ul li.sfHover>ul,.main-navigation:not(.toggled) ul li:hover>ul{left:auto;opacity:1;transition-delay:150ms;pointer-events:auto;height:auto;overflow:visible}.main-navigation:not(.toggled) ul ul li.sfHover>ul,.main-navigation:not(.toggled) ul ul li:hover>ul{left:100%;top:0}.main-navigation.sub-menu-left:not(.toggled) ul ul li.sfHover>ul,.main-navigation.sub-menu-left:not(.toggled) ul ul li:hover>ul{right:100%;left:auto}.nav-float-right .main-navigation ul ul ul{top:0}.menu-item-has-children .dropdown-menu-toggle{display:inline-block;height:100%;clear:both;padding-right:20px;padding-left:10px}.menu-item-has-children ul .dropdown-menu-toggle{padding-top:10px;padding-bottom:10px;margin-top:-10px}.sidebar .menu-item-has-children .dropdown-menu-toggle,nav ul ul .menu-item-has-children .dropdown-menu-toggle{float:right}.widget-area .main-navigation li{float:none;display:block;width:100%;padding:0;margin:0}.sidebar .main-navigation.sub-menu-right ul li.sfHover ul,.sidebar .main-navigation.sub-menu-right ul li:hover ul{top:0;left:100%}.sidebar .main-navigation.sub-menu-left ul li.sfHover ul,.sidebar .main-navigation.sub-menu-left ul li:hover ul{top:0;right:100%}.site-main .comment-navigation,.site-main .post-navigation,.site-main .posts-navigation{margin:0 0 2em;overflow:hidden}.site-main .post-navigation{margin-bottom:0}.paging-navigation .nav-next,.paging-navigation .nav-previous{display:none}.paging-navigation .nav-links>*{padding:0 5px}.paging-navigation .nav-links .current{font-weight:700}.nav-links>:first-child{padding-left:0}.site-header{position:relative}.inside-header{padding:20px 40px}.main-title{margin:0;font-size:25px;line-height:1.2em;word-wrap:break-word;font-weight:700;text-transform:none}.site-description{margin:0;line-height:1.5;font-weight:400;text-transform:none;font-size:15px}.site-logo{display:inline-block;max-width:100%}.site-header .header-image{vertical-align:middle}.inside-header{display:flex;align-items:center}.header-widget{margin-left:auto}.header-widget p:last-child{margin-bottom:0}.nav-float-right .header-widget{margin-left:20px}.nav-float-right #site-navigation{margin-left:auto}.nav-float-left #site-navigation{margin-right:auto;order:-10}.nav-float-left .header-widget{margin-left:0;margin-right:20px;order:-15}.header-aligned-center:not([class*=nav-float-]) .inside-header{justify-content:center;flex-direction:column;text-align:center}.header-aligned-center:not([class*=nav-float-]) .header-widget{margin-left:auto;margin-right:auto}.header-aligned-center:not([class*=nav-float-]) .inside-header>:not(:first-child){margin-top:1em}.header-aligned-right:not([class*=nav-float-]) .inside-header{justify-content:flex-end}.header-aligned-right:not([class*=nav-float-]) .header-widget{margin-right:auto;margin-left:0;order:-10}.site-branding-container{display:inline-flex;align-items:center;text-align:left;flex-shrink:0}.site-branding-container .site-logo{margin-right:1em}.sticky{display:block}.entry-header .gp-icon,.posted-on .updated{display:none}.byline,.entry-header .cat-links,.entry-header .comments-link,.entry-header .tags-links,.group-blog .byline,.single .byline{display:inline}footer.entry-meta .byline,footer.entry-meta .posted-on{display:block}.entry-content:not(:first-child),.entry-summary:not(:first-child),.page-content:not(:first-child){margin-top:2em}.page-links{clear:both;margin:0 0 1.5em}.archive .format-aside .entry-header,.archive .format-status .entry-header,.archive .format-status .entry-meta,.archive .format-status .entry-title,.blog .format-aside .entry-header,.blog .format-status .entry-header,.blog .format-status .entry-meta,.blog .format-status .entry-title{display:none}.archive .format-aside .entry-content,.archive .format-status .entry-content,.blog .format-aside .entry-content,.blog .format-status .entry-content{margin-top:0}.archive .format-status .entry-content p:last-child,.blog .format-status .entry-content p:last-child{margin-bottom:0}.entry-header,.site-content{word-wrap:break-word}.entry-title{margin-bottom:0}.author .page-header .page-title{display:flex;align-items:center}.author .page-header .avatar{margin-right:20px}.page-header .author-info>:last-child,.page-header>:last-child{margin-bottom:0}.entry-meta{font-size:85%;margin-top:.5em;line-height:1.5}footer.entry-meta{margin-top:2em}.cat-links,.comments-link,.tags-links{display:block}.entry-content>p:last-child,.entry-summary>p:last-child,.page-content>p:last-child,.read-more-container,.taxonomy-description p:last-child{margin-bottom:0}.wp-caption{margin-bottom:1.5em;max-width:100%;position:relative}.wp-caption img[class*=wp-image-]{display:block;margin:0 auto 0;max-width:100%}.wp-caption .wp-caption-text{font-size:75%;padding-top:5px;opacity:.8}.wp-caption img{position:relative;vertical-align:bottom}.wp-block-image figcaption{font-size:13px;text-align:center}.wp-block-gallery,ul.blocks-gallery-grid{margin-left:0}.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{background:rgba(255,255,255,.7);color:#000;padding:10px;box-sizing:border-box}.gallery{margin-bottom:1.5em}.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%}.gallery-columns-2 .gallery-item{max-width:50%}.gallery-columns-3 .gallery-item{max-width:33.33%}.gallery-columns-4 .gallery-item{max-width:25%}.gallery-columns-5 .gallery-item{max-width:20%}.gallery-columns-6 .gallery-item{max-width:16.66%}.gallery-columns-7 .gallery-item{max-width:14.28%}.gallery-columns-8 .gallery-item{max-width:12.5%}.gallery-columns-9 .gallery-item{max-width:11.11%}.gallery-caption{display:block}.site-main .gallery{margin-bottom:1.5em}.gallery-item img{vertical-align:bottom}.gallery-icon{padding:5px}embed,iframe,object{max-width:100%}.wp-block-post-template{margin-left:0}.widget-area .widget{padding:40px}.widget select{max-width:100%}.footer-widgets .widget :last-child,.sidebar .widget :last-child{margin-bottom:0}.widget-title{margin-bottom:30px;font-size:20px;line-height:1.5;font-weight:400;text-transform:none}.widget ol,.widget ul{margin:0}.widget .search-field{width:100%}.widget .search-form{display:flex}.widget .search-form button.search-submit{font-size:15px}.footer-widgets .widget{margin-bottom:30px}.footer-widgets .widget:last-child,.sidebar .widget:last-child{margin-bottom:0}.widget ul li{list-style-type:none;position:relative;margin-bottom:.5em}.widget ul li ul{margin-left:1em;margin-top:.5em}.wp-calendar-table{table-layout:fixed}.site-content{display:flex}.grid-container{margin-left:auto;margin-right:auto;max-width:1200px}.page-header,.sidebar .widget,.site-main>*{margin-bottom:20px}.both-left .inside-left-sidebar,.both-right .inside-left-sidebar{margin-right:10px}.both-left .inside-right-sidebar,.both-right .inside-right-sidebar{margin-left:10px}.one-container.both-right .site-main,.one-container.right-sidebar .site-main{margin-right:40px}.one-container.both-left .site-main,.one-container.left-sidebar .site-main{margin-left:40px}.one-container.both-sidebars .site-main{margin:0 40px 0 40px}.one-container.archive .post:not(:last-child):not(.is-loop-template-item),.one-container.blog .post:not(:last-child):not(.is-loop-template-item){padding-bottom:40px}.one-container .site-content{padding:40px}.separate-containers .comments-area,.separate-containers .inside-article,.separate-containers .page-header,.separate-containers .paging-navigation{padding:40px}.separate-containers .site-main{margin:20px}.separate-containers.no-sidebar .site-main{margin-left:0;margin-right:0}.separate-containers.both-right .site-main,.separate-containers.right-sidebar .site-main{margin-left:0}.separate-containers.both-left .site-main,.separate-containers.left-sidebar .site-main{margin-right:0}.separate-containers .inside-left-sidebar,.separate-containers .inside-right-sidebar{margin-top:20px;margin-bottom:20px}.inside-page-header{padding:40px}.widget-area .main-navigation{margin-bottom:20px}.one-container .site-main>:last-child,.separate-containers .site-main>:last-child{margin-bottom:0}.full-width-content .container.grid-container{max-width:100%}.full-width-content.no-sidebar.separate-containers .site-main{margin:0}.full-width-content.one-container .site-content,.full-width-content.separate-containers .inside-article{padding:0}.full-width-content .entry-content .alignwide{margin-left:0;width:auto;max-width:unset}.contained-content.one-container .site-content,.contained-content.separate-containers .inside-article{padding:0}.sidebar .grid-container{max-width:100%;width:100%}.both-left .is-left-sidebar,.both-sidebars .is-left-sidebar,.left-sidebar .sidebar{order:-10}.both-left .is-right-sidebar{order:-5}.both-right .is-left-sidebar{order:5}.both-right .is-right-sidebar,.both-sidebars .is-right-sidebar{order:10}.inside-site-info{display:flex;align-items:center;justify-content:center;padding:20px 40px}.site-info{text-align:center;font-size:15px}.post-image:not(:first-child){margin-top:2em}.featured-image{line-height:0}.separate-containers .featured-image{margin-top:20px}.separate-containers .inside-article>.featured-image{margin-top:0;margin-bottom:2em}.one-container .inside-article>.featured-image{margin-top:0;margin-bottom:2em}.gp-icon{display:inline-flex;align-self:center}.gp-icon svg{height:1em;width:1em;top:.125em;position:relative;fill:currentColor}.close-search .icon-search svg:first-child,.icon-menu-bars svg:nth-child(2),.icon-search svg:nth-child(2),.toggled .icon-menu-bars svg:first-child{display:none}.close-search .icon-search svg:nth-child(2),.toggled .icon-menu-bars svg:nth-child(2){display:block}.entry-meta .gp-icon{margin-right:.6em;opacity:.7}nav.toggled .icon-arrow-left svg{transform:rotate(-90deg)}nav.toggled .icon-arrow-right svg{transform:rotate(90deg)}nav.toggled .sfHover>a>.dropdown-menu-toggle .gp-icon svg{transform:rotate(180deg)}nav.toggled .sfHover>a>.dropdown-menu-toggle .gp-icon.icon-arrow-left svg{transform:rotate(-270deg)}nav.toggled .sfHover>a>.dropdown-menu-toggle .gp-icon.icon-arrow-right svg{transform:rotate(270deg)}.container.grid-container{width:auto}.menu-toggle,.mobile-bar-items,.sidebar-nav-mobile{display:none}.menu-toggle{padding:0 20px;line-height:60px;margin:0;font-weight:400;text-transform:none;font-size:15px;cursor:pointer}.menu-toggle .mobile-menu{padding-left:3px}.menu-toggle .gp-icon+.mobile-menu{padding-left:9px}.menu-toggle .mobile-menu:empty{display:none}button.menu-toggle{background-color:transparent;flex-grow:1;border:0;text-align:center}button.menu-toggle:active,button.menu-toggle:focus,button.menu-toggle:hover{background-color:transparent}.has-menu-bar-items button.menu-toggle{flex-grow:0}nav.toggled ul ul.sub-menu{width:100%}.toggled .menu-item-has-children .dropdown-menu-toggle{padding-left:20px}.main-navigation.toggled .main-nav{flex-basis:100%;order:3}.main-navigation.toggled .main-nav>ul{display:block}.main-navigation.toggled .main-nav li{width:100%;text-align:left}.main-navigation.toggled .main-nav ul ul{transition:0s;visibility:hidden;box-shadow:none;border-bottom:1px solid rgba(0,0,0,.05)}.main-navigation.toggled .main-nav ul ul li:last-child>ul{border-bottom:0}.main-navigation.toggled .main-nav ul ul.toggled-on{position:relative;top:0;left:auto!important;right:auto!important;width:100%;pointer-events:auto;height:auto;opacity:1;display:block;visibility:visible;float:none}.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle{float:right}.mobile-menu-control-wrapper{display:none;margin-left:auto;align-items:center}.has-inline-mobile-toggle #site-navigation.toggled{margin-top:1.5em}.has-inline-mobile-toggle #site-navigation.has-active-search{margin-top:1.5em}.has-inline-mobile-toggle #site-navigation.has-active-search .nav-search-active{position:relative}.has-inline-mobile-toggle #site-navigation.has-active-search .navigation-search input{outline:auto}.nav-float-left .mobile-menu-control-wrapper{order:-10;margin-left:0;margin-right:auto;flex-direction:row-reverse}@media (max-width:768px){.hide-on-mobile{display:none!important}a,body,button,input,select,textarea{transition:all 0s ease-in-out}.inside-header{flex-direction:column;text-align:center}.site-header .header-widget{margin-top:1.5em;margin-left:auto;margin-right:auto;text-align:center}.site-content{flex-direction:column}.container .site-content .content-area{width:auto}.is-left-sidebar.sidebar,.is-right-sidebar.sidebar{width:auto;order:initial}.is-left-sidebar+.is-right-sidebar .inside-right-sidebar{margin-top:0}.both-left .inside-left-sidebar,.both-left .inside-right-sidebar,.both-right .inside-left-sidebar,.both-right .inside-right-sidebar{margin-right:0;margin-left:0}#main{margin-left:0;margin-right:0}body:not(.no-sidebar) #main{margin-bottom:0}.alignleft,.alignright{float:none;display:block;margin-left:auto;margin-right:auto}.comment .children{padding-left:10px;margin-left:0}.entry-meta{font-size:inherit}.entry-meta a{line-height:1.8em}}@media (min-width:769px) and (max-width:1024px){.hide-on-tablet{display:none!important}}@media (min-width:1025px){.hide-on-desktop{display:none!important}}