/*
Template Name: Herozi - Admin & Dashboard Template
Author: Codebucks
Version: 1.0.0
File: Custom Css File
*/

:root {
  --portal-burgundy: #520b16;
  --portal-burgundy-dark: #31030b;
  --portal-burgundy-soft: #7b0d18;
  --portal-gold: #c9a961;
  --portal-gold-light: #f5eddb;
  --portal-ink: #1a1113;
  --portal-muted: #6f6265;
  --portal-paper: #f7f3ee;
  --portal-line: #e8dfe0;
  --portal-success: #258461;
}

* { box-sizing: border-box; }
a { text-decoration: none; }
.app-header { position:fixed; z-index:1030; top:0; right:0; left:260px; height:76px; }
.nav-header { min-height:76px; display:flex; justify-content:space-between; align-items:center; }
.app-sidebar { position:fixed; z-index:1040; inset:0 auto 0 0; width:260px; overflow-y:auto; }
.app-sidebar-logo { height:76px; display:flex; border-bottom:1px solid; }
.app-sidebar-menu { padding:18px 0; }
.main-menu { list-style:none; padding:0; margin:0; }
.menu-title { padding:14px 22px 7px; }
.side-menu__item { min-height:46px; display:flex; align-items:center; gap:12px; padding:10px 14px; }
.side_menu_icon { width:24px; font-size:20px; }
.app-wrapper { min-height:100vh; margin-left:260px; padding-top:76px; }
.app-container { min-height:calc(100vh - 76px); padding:28px; }
.footer { margin-top:32px; padding:20px 0 0; border-top:1px solid var(--portal-line); font-size:13px; }
.icon-btn { width:40px; height:40px; padding:0; display:inline-grid; place-items:center; }
.app-horizontal-logo { display:none !important; }
.small-screen-sidebar { background:var(--portal-burgundy-dark); }

@media (max-width: 767.98px) {
  .app-sidebar { display:none; }
  .small-screen-sidebar .app-sidebar { position:static; display:block; width:100%; }
  .app-header { left:0; }
  .app-horizontal-logo { display:flex !important; }
  .app-horizontal-logo img { max-width:140px; object-fit:contain; }
  .app-wrapper { margin-left:0; }
  .app-container { padding:20px 16px; }
}

body.cas-portal { background: #f6f3f1; color: var(--portal-ink); font-size: 16px; }
.cas-portal .app-sidebar { background: var(--portal-burgundy-dark); }
.cas-portal .app-sidebar-logo { background: var(--portal-burgundy-dark); border-color: rgba(255,255,255,.08); }
.cas-portal .app-sidebar-logo-default { max-width: 176px; object-fit: contain; }
.cas-portal .menu-title { color: rgba(255,255,255,.44); letter-spacing: .12em; text-transform: uppercase; font-size: 11px; }
.cas-portal .side-menu__item { color: rgba(255,255,255,.72); border-radius: 8px; margin: 3px 12px; width: auto; }
.cas-portal .side-menu__item:hover { color: #fff; background: rgba(255,255,255,.08); }
.cas-portal .side-menu__item.active { color: #fff; background: var(--portal-burgundy-soft); box-shadow: inset 3px 0 var(--portal-gold); }
.cas-portal .side_menu_icon { color: var(--portal-gold); }
.cas-portal .app-header { border-bottom: 1px solid var(--portal-line); background: rgba(255,255,255,.96); }
.portal-season { color: var(--portal-muted); font-size: 14px; font-weight: 600; }
.portal-status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--portal-success); box-shadow: 0 0 0 4px rgba(37,132,97,.12); }
.portal-notification-dot { position:absolute; right: 7px; top:7px; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:var(--portal-burgundy-soft); }
.portal-profile-button { border: 0; color: var(--portal-ink); padding: 5px 8px; }
.portal-profile-button:hover { background: var(--portal-paper); }
.portal-profile-button small { display:block; color:var(--portal-muted); font-size:11px; }
.portal-avatar { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--portal-burgundy); font-weight:700; font-size:13px; }

.cas-portal .app-container { padding-top: 32px; padding-bottom: 32px; }
.portal-welcome, .portal-page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:28px; }
.portal-welcome h1, .portal-page-heading h1 { margin: 5px 0 8px; color: var(--portal-ink); font-size: clamp(1.75rem, 3vw, 2.45rem); letter-spacing:-.035em; }
.portal-welcome p, .portal-page-heading p { margin:0; color:var(--portal-muted); max-width:700px; }
.portal-kicker { color:var(--portal-burgundy-soft); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.btn-portal-primary { background:var(--portal-burgundy); border-color:var(--portal-burgundy); color:#fff; box-shadow:0 7px 18px rgba(82,11,22,.15); }
.btn-portal-primary:hover, .btn-portal-primary:focus { background:var(--portal-burgundy-soft); border-color:var(--portal-burgundy-soft); color:#fff; }
.btn-portal-primary:disabled { background:var(--portal-burgundy); border-color:var(--portal-burgundy); color:#fff; opacity:.65; }
.portal-preview-note { padding:10px 14px; display:flex; align-items:center; gap:9px; border:1px solid #e7d59f; border-radius:8px; background:#fff9e9; color:#735d25; font-size:13px; }
.portal-stat-card, .portal-card { border:1px solid var(--portal-line); box-shadow:0 10px 30px rgba(35,21,24,.04); }
.portal-stat-card .card-body { display:grid; grid-template-columns:auto 1fr; column-gap:14px; row-gap:3px; align-items:center; padding:22px; }
.portal-stat-icon { width:46px; height:46px; grid-row:1/4; border-radius:12px; display:grid; place-items:center; font-size:21px; }
.portal-stat-icon.is-burgundy { background:#f7e9eb; color:var(--portal-burgundy-soft); }
.portal-stat-icon.is-gold { background:var(--portal-gold-light); color:#96752a; }
.portal-stat-icon.is-blue { background:#e9f2fb; color:#2e6f9e; }
.portal-stat-icon.is-green { background:#e7f5ef; color:var(--portal-success); }
.portal-stat-label, .portal-stat-meta { color:var(--portal-muted); font-size:13px; }
.portal-stat-card strong { color:var(--portal-ink); font-size:16px; }
.portal-stat-card .portal-progress { margin-top:6px; }
.portal-text-link { font-size:12px; font-weight:700; color:var(--portal-burgundy-soft); }
.portal-progress { height:6px; background:#eee8e6; border-radius:50px; }
.portal-progress .progress-bar { background:linear-gradient(90deg,var(--portal-burgundy),var(--portal-burgundy-soft)); border-radius:50px; }
.portal-card-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px; border-color:var(--portal-line); }
.portal-card-header h2, .portal-card h2, .portal-help-card h2 { margin:3px 0 0; color:var(--portal-ink); font-size:20px; }
.portal-secure-badge { display:inline-flex; align-items:center; gap:5px; color:#684f10; background:var(--portal-gold-light); border:1px solid #e5d5a8; }
.portal-task { display:flex; gap:16px; align-items:center; padding:20px 0; border-bottom:1px solid var(--portal-line); }
.portal-task:last-child { border:0; }
.portal-task-number { flex:0 0 42px; height:42px; border-radius:50%; display:grid; place-items:center; font-weight:800; color:var(--portal-burgundy-soft); background:#f8edef; }
.portal-task.is-active .portal-task-number { color:#fff; background:var(--portal-burgundy); }
.portal-task-content { flex:1; min-width:0; }
.portal-task-content h3 { margin:0 0 4px; font-size:16px; color:var(--portal-ink); }
.portal-task-content p { margin:0; color:var(--portal-muted); font-size:14px; }
.portal-task-content .portal-progress { width:160px; margin-top:10px; }
.portal-task.is-muted { opacity:.65; }
.portal-ring-wrap { display:flex; align-items:center; gap:18px; padding-bottom:22px; border-bottom:1px solid var(--portal-line); }
.portal-ring { width:76px; height:76px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--portal-burgundy) 0 45%,#eee7e5 45% 100%); position:relative; }
.portal-ring::after { content:""; position:absolute; inset:8px; border-radius:50%; background:#fff; }
.portal-ring span { position:relative; z-index:1; font-weight:800; }
.portal-ring-wrap p { margin:3px 0 0; color:var(--portal-muted); font-size:13px; }
.portal-timeline { list-style:none; padding:20px 0 0; margin:0; }
.portal-timeline li { display:flex; gap:12px; position:relative; padding:0 0 18px; }
.portal-timeline li:last-child { padding-bottom:0; }
.portal-timeline li > span { width:12px; height:12px; margin-top:3px; border:3px solid #dcd3d2; border-radius:50%; background:#fff; z-index:1; }
.portal-timeline li:not(:last-child)::after { content:""; position:absolute; left:5px; top:14px; bottom:0; width:2px; background:#e6dfdd; }
.portal-timeline li.is-done > span { border-color:var(--portal-success); background:var(--portal-success); }
.portal-timeline li.is-current > span { border-color:var(--portal-gold); background:var(--portal-gold); box-shadow:0 0 0 4px var(--portal-gold-light); }
.portal-timeline strong, .portal-timeline small { display:block; }
.portal-timeline small { color:var(--portal-muted); font-size:12px; }
.portal-help-card { display:flex; gap:16px; padding:22px; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--portal-burgundy-dark),var(--portal-burgundy)); box-shadow:0 15px 32px rgba(49,3,11,.18); }
.portal-help-card h2 { color:#fff; }
.portal-help-card p { color:rgba(255,255,255,.72); margin:7px 0 10px; font-size:14px; }
.portal-help-card a { color:var(--portal-gold); font-weight:700; }
.portal-help-card .portal-kicker { color:var(--portal-gold); }
.portal-help-icon { flex:0 0 44px; height:44px; border-radius:50%; display:grid; place-items:center; font-size:20px; color:var(--portal-gold); background:rgba(255,255,255,.1); }

.portal-save-state { color:var(--portal-success); font-size:13px; font-weight:700; }
.portal-stepper { display:flex; justify-content:space-between; position:relative; }
.portal-stepper::before { content:""; position:absolute; left:7%; right:7%; top:18px; height:2px; background:#e6dfdd; }
.portal-stepper > div { position:relative; z-index:1; text-align:center; color:var(--portal-muted); }
.portal-stepper span { width:38px; height:38px; margin:0 auto 7px; border-radius:50%; display:grid; place-items:center; background:#fff; border:2px solid #ddd4d3; font-weight:700; }
.portal-stepper small { font-size:12px; }
.portal-stepper .is-complete span { color:#fff; border-color:var(--portal-success); background:var(--portal-success); }
.portal-stepper .is-current span { color:#fff; border-color:var(--portal-burgundy); background:var(--portal-burgundy); box-shadow:0 0 0 5px #f7e9eb; }
.portal-form-heading { margin-bottom:26px; }
.portal-form-heading > span { color:var(--portal-burgundy-soft); font-size:12px; font-weight:700; }
.portal-form-heading h2 { margin:5px 0; font-size:25px; }
.portal-form-heading p { color:var(--portal-muted); }
.cas-portal .form-label { color:var(--portal-ink); font-weight:650; margin-bottom:9px; }
.cas-portal .form-control, .cas-portal .form-select { min-height:48px; border-color:#ddd3d2; }
.cas-portal .form-control:focus, .cas-portal .form-select:focus { border-color:var(--portal-burgundy-soft); box-shadow:0 0 0 3px rgba(123,13,24,.09); }
.portal-choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.portal-choice-grid label { display:flex; gap:12px; padding:16px; border:1px solid #ddd3d2; border-radius:8px; cursor:pointer; }
.portal-choice-grid input { accent-color:var(--portal-burgundy); }
.portal-choice-grid strong, .portal-choice-grid small { display:block; }
.portal-choice-grid small { color:var(--portal-muted); margin-top:2px; }
.portal-form-actions { display:flex; justify-content:space-between; padding-top:12px; border-top:1px solid var(--portal-line); }
.portal-sticky-card { position:sticky; top:100px; }
.portal-shield-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:var(--portal-burgundy-soft); background:#f7e9eb; font-size:25px; margin-bottom:18px; }
.portal-card p { color:var(--portal-muted); }

.portal-security-banner { display:flex; gap:14px; padding:18px 20px; border:1px solid #d9e9e2; border-left:4px solid var(--portal-success); border-radius:8px; background:#f3faf7; }
.portal-security-banner > i { color:var(--portal-success); font-size:23px; }
.portal-security-banner p { margin:3px 0 0; color:#557066; }
.portal-document-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:18px 24px; border-bottom:1px solid var(--portal-line); }
.portal-document-row:last-child { border-bottom:0; }
.portal-doc-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; color:var(--portal-burgundy-soft); background:#f8edef; font-size:20px; }
.portal-document-row strong, .portal-document-row small { display:block; }
.portal-document-row small { color:var(--portal-muted); margin-top:2px; }
.portal-donut { width:150px; height:150px; margin:24px auto; position:relative; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--portal-success) 0 29%,var(--portal-gold) 29% 57%,#eee7e5 57% 100%); }
.portal-donut::after { content:""; position:absolute; inset:18px; border-radius:50%; background:#fff; }
.portal-donut span { position:relative; z-index:1; font-size:24px; font-weight:800; }
.portal-legend { list-style:none; padding:0; margin:0; }
.portal-legend li { display:flex; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid var(--portal-line); }
.portal-legend li:last-child { border:0; }
.portal-legend li > span { width:9px; height:9px; border-radius:50%; }
.portal-legend .is-green { background:var(--portal-success); }
.portal-legend .is-gold { background:var(--portal-gold); }
.portal-legend .is-red { background:var(--portal-burgundy-soft); }
.portal-legend strong { margin-left:auto; }

.portal-conversation { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; padding:18px 20px; color:var(--portal-ink); border-bottom:1px solid var(--portal-line); }
.portal-conversation:hover, .portal-conversation.is-active { color:var(--portal-ink); background:#fbf6f6; }
.portal-conversation.is-active { box-shadow:inset 3px 0 var(--portal-burgundy-soft); }
.portal-conversation strong, .portal-conversation small { display:block; }
.portal-conversation small { color:var(--portal-muted); white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.portal-conversation time { color:var(--portal-muted); font-size:11px; }
.portal-avatar.is-gold { color:var(--portal-ink); background:var(--portal-gold); }
.portal-chat { min-height:570px; }
.portal-chat-body { display:flex; flex-direction:column; justify-content:flex-end; gap:15px; background:#faf8f7; }
.portal-message { max-width:75%; }
.portal-message p { padding:13px 16px; margin:0 0 4px; border-radius:12px 12px 12px 3px; color:var(--portal-ink); background:#fff; border:1px solid var(--portal-line); }
.portal-message time { color:var(--portal-muted); font-size:11px; }
.portal-message.is-sent { align-self:flex-end; text-align:right; }
.portal-message.is-sent p { color:#fff; background:var(--portal-burgundy); border-color:var(--portal-burgundy); border-radius:12px 12px 3px 12px; text-align:left; }
.portal-setting-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid var(--portal-line); }
.portal-setting-row strong, .portal-setting-row small { display:block; }
.portal-setting-row small { color:var(--portal-muted); }
.portal-support-option { color:var(--portal-ink); border:1px solid var(--portal-line); box-shadow:0 10px 30px rgba(35,21,24,.04); transition:transform .2s ease, box-shadow .2s ease; }
a.portal-support-option:hover { color:var(--portal-ink); transform:translateY(-3px); box-shadow:0 16px 34px rgba(35,21,24,.09); }
.portal-support-option h2 { margin:20px 0 7px; font-size:20px; }
.portal-support-option p { min-height:66px; color:var(--portal-muted); }
.portal-support-option a, .portal-support-option span { color:var(--portal-burgundy-soft); font-weight:700; }

.portal-auth-page { min-height:100vh; display:grid; grid-template-columns:minmax(360px,46%) 1fr; background:#fff; }
.portal-auth-panel { display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,7vw,110px); }
.portal-auth-brand { position:absolute; top:34px; left:clamp(32px,7vw,110px); }
.portal-auth-brand img { max-width:190px; max-height:55px; object-fit:contain; filter:brightness(0) saturate(100%) invert(9%) sepia(55%) saturate(4029%) hue-rotate(338deg) brightness(84%); }
.portal-auth-card { width:100%; max-width:470px; margin:auto; }
.portal-auth-card h1 { margin:8px 0 10px; font-size:clamp(2rem,4vw,2.7rem); letter-spacing:-.04em; }
.portal-auth-card > p { color:var(--portal-muted); margin-bottom:30px; }
.portal-auth-card .form-control { min-height:50px; }
.portal-auth-card .form-icon { position:relative; }
.portal-auth-card .form-control-icon { padding-left:46px; }
.portal-auth-card .form-icon > i {
  position:absolute;
  z-index:3;
  top:50%;
  left:16px;
  margin:0;
  transform:translateY(-50%);
  color:var(--portal-muted);
  pointer-events:none;
  line-height:1;
}
.portal-auth-card .form-icon:focus-within > i { color:var(--portal-burgundy-soft); }
.portal-auth-card .btn { min-height:50px; }
.portal-auth-visual { position:relative; display:flex; align-items:flex-end; overflow:hidden; padding:clamp(35px,6vw,80px); color:#fff; background:linear-gradient(145deg,var(--portal-burgundy-dark),#720f20); }
.portal-auth-visual::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 20%,rgba(201,169,97,.2),transparent 30%),linear-gradient(135deg,transparent 0 49%,rgba(255,255,255,.025) 49% 51%,transparent 51% 100%); background-size:auto,55px 55px; }
.portal-auth-copy { position:relative; z-index:1; max-width:580px; }
.portal-auth-copy .portal-kicker { color:var(--portal-gold); }
.portal-auth-copy h2 { margin:12px 0 18px; color:#fff; font-size:clamp(2.2rem,5vw,4.6rem); line-height:1.02; letter-spacing:-.05em; }
.portal-auth-copy p { max-width:520px; color:rgba(255,255,255,.72); font-size:17px; }
.portal-auth-points { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:28px; }
.portal-auth-points span { display:flex; gap:7px; align-items:center; color:rgba(255,255,255,.86); font-size:13px; }
.portal-auth-points i { color:var(--portal-gold); }
.portal-auth-help { margin-top:25px; color:var(--portal-muted); font-size:13px; }

@media (max-width: 991.98px) {
  .portal-auth-page { grid-template-columns:1fr; }
  .portal-auth-visual { display:none; }
  .portal-auth-panel { min-height:100vh; }
}

.cas-portal .footer { color:var(--portal-muted); background:transparent; }
.cas-portal .footer a { color:var(--portal-burgundy-soft); }

@media (max-width: 991.98px) {
  .portal-welcome, .portal-page-heading { align-items:flex-start; flex-direction:column; }
  .portal-welcome .btn, .portal-page-heading .btn { width:100%; }
  .portal-sticky-card { position:static; }
}
@media (max-width: 575.98px) {
  .cas-portal .app-container { padding-top:22px; }
  .portal-stat-card .card-body { padding:18px; }
  .portal-task { align-items:flex-start; flex-wrap:wrap; }
  .portal-task-content { flex-basis:calc(100% - 60px); }
  .portal-task > .btn, .portal-task > .badge { margin-left:58px; }
  .portal-stepper small { display:none; }
  .portal-choice-grid { grid-template-columns:1fr; }
  .portal-document-row { grid-template-columns:44px minmax(0,1fr); }
  .portal-document-row > .badge, .portal-document-row > .btn { grid-column:2; justify-self:start; }
  .portal-message { max-width:90%; }
  .portal-form-actions { gap:10px; }
  .portal-form-actions .btn { flex:1; }
}
