/* ==========================================================================
   Filevo Theme — Design System
   Part 1: tokens, fonts, base, typography
   Primary brand colour is driven by colors.css (--primary_color) so it stays
   editable from the admin panel; everything else derives from it.
   ========================================================================== */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;
  src:local("Montserrat"),local("Montserrat Regular")}
/* To self-host Montserrat: add Montserrat-Variable.woff2 to assets/fonts/ and see assets/fonts/README.txt */

:root{
  --fv-primary:var(--primary_color,#635BFF);
  --fv-primary-hover:color-mix(in srgb,var(--fv-primary) 86%,#000);
  --fv-primary-soft:color-mix(in srgb,var(--fv-primary) 9%,#fff);
  --fv-primary-ring:color-mix(in srgb,var(--fv-primary) 28%,transparent);
  --fv-bg:#F5F7FC;--fv-surface:#fff;--fv-surface-2:#F8FAFD;--fv-text:#15213B;--fv-muted:#78839A;
  --fv-border:#E6EAF2;--fv-border-strong:#D5DBE8;
  --fv-success:#16A878;--fv-warning:#E8A23A;--fv-danger:#E05260;--fv-info:#3B82F6;
  --fv-success-soft:#E6F7F1;--fv-warning-soft:#FDF4E3;--fv-danger-soft:#FCEBED;--fv-info-soft:#E8F0FE;
  --fv-sidebar:#0D1220;--fv-sidebar-2:#141B2B;--fv-sidebar-text:#AEB7CC;
  --fv-radius-sm:8px;--fv-radius:12px;--fv-radius-lg:16px;
  --fv-shadow-sm:0 1px 2px rgba(21,33,59,.05);
  --fv-shadow:0 1px 3px rgba(21,33,59,.06),0 4px 14px rgba(21,33,59,.04);
  --fv-shadow-lg:0 12px 40px rgba(21,33,59,.14);
  --fv-font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Kufi Arabic",Tahoma,Arial,sans-serif;
  --fv-sidebar-w:264px;--fv-nav-h:68px;
  --bs-primary:var(--fv-primary);--bs-body-font-family:var(--fv-font);--bs-body-color:var(--fv-text);
  --bs-body-bg:var(--fv-bg);--bs-border-color:var(--fv-border);--bs-link-color:var(--fv-primary);
  --bs-link-hover-color:var(--fv-primary-hover);--bs-primary-rgb:99,91,255;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --fv-primary-soft:color-mix(in srgb,var(--fv-primary) 16%,#141B2B);
  --fv-bg:#0D1220;--fv-surface:#141B2B;--fv-surface-2:#182033;--fv-text:#E7EBF5;--fv-muted:#8E9AB4;
  --fv-border:#222C42;--fv-border-strong:#2C3752;
  --fv-success-soft:rgba(22,168,120,.14);--fv-warning-soft:rgba(232,162,58,.14);
  --fv-danger-soft:rgba(224,82,96,.14);--fv-info-soft:rgba(59,130,246,.15);
  --fv-sidebar:#0A0F1B;--fv-sidebar-2:#121A2A;
  --fv-shadow-sm:none;--fv-shadow:0 1px 0 rgba(255,255,255,.02);--fv-shadow-lg:0 16px 48px rgba(0,0,0,.5);
  --bs-body-color:var(--fv-text);--bs-body-bg:var(--fv-bg);--bs-border-color:var(--fv-border);
  --bs-emphasis-color:#fff;--bs-secondary-color:var(--fv-muted);--bs-tertiary-bg:var(--fv-surface-2);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root[data-theme="auto"]{
    --fv-primary-soft:color-mix(in srgb,var(--fv-primary) 16%,#141B2B);
    --fv-bg:#0D1220;--fv-surface:#141B2B;--fv-surface-2:#182033;--fv-text:#E7EBF5;--fv-muted:#8E9AB4;
    --fv-border:#222C42;--fv-border-strong:#2C3752;
    --fv-success-soft:rgba(22,168,120,.14);--fv-warning-soft:rgba(232,162,58,.14);
    --fv-danger-soft:rgba(224,82,96,.14);--fv-info-soft:rgba(59,130,246,.15);
    --fv-sidebar:#0A0F1B;--fv-sidebar-2:#121A2A;--fv-shadow-sm:none;--fv-shadow:none;
    --fv-shadow-lg:0 16px 48px rgba(0,0,0,.5);--bs-body-color:var(--fv-text);--bs-body-bg:var(--fv-bg);
    --bs-border-color:var(--fv-border);--bs-emphasis-color:#fff;--bs-secondary-color:var(--fv-muted);
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--fv-font);font-size:15px;line-height:1.6;color:var(--fv-text);background:var(--fv-bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
  padding-bottom:env(safe-area-inset-bottom)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:700;color:var(--fv-text);letter-spacing:-.015em;line-height:1.25}
h1,.h1{font-size:clamp(2rem,4.2vw + .6rem,3.4rem);letter-spacing:-.03em;font-weight:800}
h2,.h2{font-size:clamp(1.55rem,2vw + 1rem,2.25rem);letter-spacing:-.025em}
h3,.h3{font-size:1.4rem}h4,.h4{font-size:1.2rem}h5,.h5{font-size:1.05rem}h6,.h6{font-size:.95rem}
p{color:inherit}
a{color:var(--fv-primary);text-decoration:none;transition:color .15s}
a:hover{color:var(--fv-primary-hover)}
.text-muted,.text-body-secondary{color:var(--fv-muted)!important}
.text-primary{color:var(--fv-primary)!important}
.bg-primary{background-color:var(--fv-primary)!important}
.bg-light{background-color:var(--fv-surface-2)!important}
.bg-white{background-color:var(--fv-surface)!important}
.border,.border-top,.border-bottom{border-color:var(--fv-border)!important}
hr{border-color:var(--fv-border);opacity:1}
::selection{background:var(--fv-primary-ring)}
:focus-visible{outline:2px solid var(--fv-primary);outline-offset:2px;border-radius:4px}
.required{color:var(--fv-danger)}
.ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
img{max-width:100%}
.fill-primary{fill:var(--fv-primary)}.stroke-primary{stroke:var(--fv-primary)}
.bg-orange{background:#F59E0B!important;color:#fff}.bg-green{background:var(--fv-success)!important;color:#fff}
.bg-red{background:var(--fv-danger)!important;color:#fff}.bg-purple{background:#8B5CF6!important;color:#fff}
.bg-blue{background:var(--fv-info)!important;color:#fff}
.large-container{max-width:1320px;margin-inline:auto;padding-inline:16px}
.container{max-width:1200px}
/* preloader */
.preloader{position:fixed;inset:0;z-index:2000;background:var(--fv-bg);display:flex;align-items:center;justify-content:center;gap:8px}
.preloader span{width:12px;height:12px;border-radius:50%;background:var(--fv-primary);animation:fvBounce .9s infinite ease-in-out}
.preloader span:nth-child(2){animation-delay:.18s;opacity:.55}
@keyframes fvBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* RTL helpers: logical, never direction-hardcoded */
[dir="rtl"] .fa-arrow-right,[dir="rtl"] .fa-arrow-left,[dir="rtl"] .fa-angle-right,[dir="rtl"] .fa-angle-left,
[dir="rtl"] .fa-chevron-right,[dir="rtl"] .fa-chevron-left,[dir="rtl"] .fa-arrow-right-long{transform:scaleX(-1)}
/* Part 2: shared components (buttons, forms, cards, tables, badges, alerts, modals…) */
/* ---------- Buttons ---------- */
.btn{--bs-btn-font-weight:600;--bs-btn-border-radius:var(--fv-radius-sm);--bs-btn-padding-x:1.1rem;--bs-btn-padding-y:.55rem;
  --bs-btn-font-size:.9rem;font-family:var(--fv-font);letter-spacing:.005em;display:inline-flex;align-items:center;justify-content:center;
  gap:.45rem;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .05s;line-height:1.35}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{box-shadow:0 0 0 3px var(--fv-primary-ring);outline:0}
.btn i{margin:0!important;font-size:.95em}
.btn-md{--bs-btn-padding-y:.65rem;--bs-btn-padding-x:1.25rem;min-height:44px}
.btn-lg{--bs-btn-padding-y:.8rem;--bs-btn-padding-x:1.6rem;--bs-btn-font-size:1rem;--bs-btn-border-radius:var(--fv-radius);min-height:50px}
.btn-sm{--bs-btn-padding-y:.35rem;--bs-btn-padding-x:.75rem;--bs-btn-font-size:.8rem;min-height:34px}
.btn-primary{--bs-btn-bg:var(--fv-primary);--bs-btn-border-color:var(--fv-primary);--bs-btn-color:#fff;
  --bs-btn-hover-bg:var(--fv-primary-hover);--bs-btn-hover-border-color:var(--fv-primary-hover);--bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--fv-primary-hover);--bs-btn-active-border-color:var(--fv-primary-hover);--bs-btn-active-color:#fff;
  --bs-btn-disabled-bg:var(--fv-primary);--bs-btn-disabled-border-color:var(--fv-primary);
  box-shadow:0 1px 2px rgba(99,91,255,.25),0 6px 14px -6px color-mix(in srgb,var(--fv-primary) 55%,transparent)}
.btn-outline-primary{--bs-btn-color:var(--fv-primary);--bs-btn-border-color:color-mix(in srgb,var(--fv-primary) 40%,transparent);
  --bs-btn-hover-bg:var(--fv-primary-soft);--bs-btn-hover-color:var(--fv-primary);--bs-btn-hover-border-color:var(--fv-primary);
  --bs-btn-active-bg:var(--fv-primary-soft);--bs-btn-active-color:var(--fv-primary);--bs-btn-active-border-color:var(--fv-primary)}
.btn-outline-secondary,.btn-light,.btn-secondary{--bs-btn-color:var(--fv-text);--bs-btn-bg:var(--fv-surface);
  --bs-btn-border-color:var(--fv-border-strong);--bs-btn-hover-bg:var(--fv-surface-2);--bs-btn-hover-color:var(--fv-text);
  --bs-btn-hover-border-color:var(--fv-border-strong);--bs-btn-active-bg:var(--fv-surface-2);--bs-btn-active-color:var(--fv-text);
  --bs-btn-active-border-color:var(--fv-border-strong)}
.btn-danger{--bs-btn-bg:var(--fv-danger);--bs-btn-border-color:var(--fv-danger);--bs-btn-hover-bg:#c93f4c;--bs-btn-hover-border-color:#c93f4c}
.btn-success{--bs-btn-bg:var(--fv-success);--bs-btn-border-color:var(--fv-success);--bs-btn-hover-bg:#0f8d65;--bs-btn-hover-border-color:#0f8d65}
.btn-warning{--bs-btn-bg:var(--fv-warning);--bs-btn-border-color:var(--fv-warning);--bs-btn-color:#fff}
.btn-outline-danger{--bs-btn-color:var(--fv-danger);--bs-btn-border-color:color-mix(in srgb,var(--fv-danger) 45%,transparent);--bs-btn-hover-bg:var(--fv-danger);--bs-btn-hover-border-color:var(--fv-danger)}
.btn-icon{gap:.5rem}
.btn-close{filter:none;opacity:.55}:root[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1)}
.btn-copy{cursor:pointer}
/* ---------- Forms ---------- */
.form-label{font-weight:600;font-size:.84rem;color:var(--fv-text);margin-bottom:.4rem}
.form-control,.form-select,.input-group-text{font-family:var(--fv-font);font-size:.92rem;color:var(--fv-text);background-color:var(--fv-surface);
  border:1px solid var(--fv-border-strong);border-radius:var(--fv-radius-sm);padding:.62rem .9rem;min-height:44px;
  transition:border-color .15s,box-shadow .15s}
.form-control::placeholder{color:var(--fv-muted);opacity:.8}
.form-control:focus,.form-select:focus{background-color:var(--fv-surface);color:var(--fv-text);border-color:var(--fv-primary);box-shadow:0 0 0 3px var(--fv-primary-ring)}
.form-control:disabled,.form-select:disabled,.form-control[readonly]{background-color:var(--fv-surface-2);color:var(--fv-muted);opacity:1}
.form-control-md,.form-select-md{min-height:46px}
textarea.form-control{min-height:96px;resize:vertical}
.form-select{padding-inline-end:2.2rem;background-position:right .75rem center}
[dir="rtl"] .form-select{background-position:left .75rem center;padding-inline-start:2.2rem}
:root[data-theme="dark"] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238E9AB4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
.form-check-input{width:1.15em;height:1.15em;border:1.5px solid var(--fv-border-strong);background-color:var(--fv-surface)}
.form-check-input:checked{background-color:var(--fv-primary);border-color:var(--fv-primary)}
.form-check-input:focus{box-shadow:0 0 0 3px var(--fv-primary-ring);border-color:var(--fv-primary)}
.form-text{color:var(--fv-muted);font-size:.8rem}
.form-section{padding:1.25rem 0;border-bottom:1px solid var(--fv-border)}
.form-section:last-child{border-bottom:0}
.form-button{margin-top:1rem}
.form-search{position:relative}
.form-icon{position:absolute;inset-inline-start:.9rem;top:50%;transform:translateY(-50%);color:var(--fv-muted)}
.input-password{position:relative}
.input-password .form-control{padding-inline-end:3rem}
.input-password button{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--fv-muted);width:38px;height:38px;border-radius:8px}
.input-password button:hover{color:var(--fv-primary);background:var(--fv-primary-soft)}
.invalid-feedback,.text-danger{color:var(--fv-danger)!important}
.select-group{position:relative;display:inline-block}
.select-group-icon{position:absolute;inset-inline-start:.85rem;top:50%;transform:translateY(-50%);color:var(--fv-muted);pointer-events:none;z-index:2}
.select-group .form-select{padding-inline-start:2.5rem}
/* ---------- Cards ---------- */
.card-v,.dashboard-card,.card{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);box-shadow:var(--fv-shadow-sm);color:var(--fv-text)}
.card-v{padding:1.5rem}.dashboard-card{padding:1.35rem}
.card-header,.card-footer{background:transparent;border-color:var(--fv-border)}
/* ---------- Tables ---------- */
.table{--bs-table-bg:transparent;--bs-table-color:var(--fv-text);--bs-table-border-color:var(--fv-border);--bs-table-hover-bg:var(--fv-surface-2);
  --bs-table-hover-color:var(--fv-text);--bs-table-striped-bg:var(--fv-surface-2);--bs-table-striped-color:var(--fv-text);
  margin-bottom:0;font-size:.9rem;vertical-align:middle}
.table>:not(caption)>*>*{padding:.9rem 1rem;background-color:var(--bs-table-bg);color:var(--bs-table-color)}
.table thead th{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fv-muted);background:var(--fv-surface-2);
  border-bottom:1px solid var(--fv-border);white-space:nowrap}
.table tbody tr{border-bottom:1px solid var(--fv-border)}.table tbody tr:last-child{border-bottom:0}
.table-borderless>:not(caption)>*>*{border-bottom-width:1px}
.dashboard-table{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--fv-border);border-radius:var(--fv-radius);background:var(--fv-surface)}
.dashboard-table .table{min-width:560px}
.dashboard-table-height{max-height:420px;overflow-y:auto}
.dashboard-table-upper{margin-bottom:.75rem}
.table .text-center,.table.text-center th,.table.text-center td{text-align:center!important}
[dir="rtl"] .table th,[dir="rtl"] .table td{text-align:right}
[dir="rtl"] .table.text-center th,[dir="rtl"] .table.text-center td{text-align:center}
/* ---------- Badges / alerts ---------- */
.badge{font-weight:600;font-size:.72rem;padding:.4em .7em;border-radius:999px;letter-spacing:.01em}
.badge.bg-success,.bg-success{background-color:var(--fv-success-soft)!important;color:var(--fv-success)!important}
.badge.bg-warning,.bg-warning{background-color:var(--fv-warning-soft)!important;color:#B7791F!important}
.badge.bg-danger,.bg-danger{background-color:var(--fv-danger-soft)!important;color:var(--fv-danger)!important}
.badge.bg-info,.bg-info{background-color:var(--fv-info-soft)!important;color:var(--fv-info)!important}
.badge.bg-primary{background-color:var(--fv-primary-soft)!important;color:var(--fv-primary)!important}
.badge.bg-secondary,.badge.bg-dark{background-color:var(--fv-surface-2)!important;color:var(--fv-muted)!important;border:1px solid var(--fv-border)}
:root[data-theme="dark"] .badge.bg-warning{color:var(--fv-warning)!important}
.alert{border-radius:var(--fv-radius);border:1px solid transparent;font-size:.9rem;padding:.85rem 1.1rem}
.alert-success{background:var(--fv-success-soft);color:var(--fv-success);border-color:color-mix(in srgb,var(--fv-success) 25%,transparent)}
.alert-danger{background:var(--fv-danger-soft);color:var(--fv-danger);border-color:color-mix(in srgb,var(--fv-danger) 25%,transparent)}
.alert-warning{background:var(--fv-warning-soft);color:#B7791F;border-color:color-mix(in srgb,var(--fv-warning) 30%,transparent)}
.alert-info,.alert-primary{background:var(--fv-primary-soft);color:var(--fv-primary);border-color:color-mix(in srgb,var(--fv-primary) 22%,transparent)}
.alert .alert-link{color:inherit;text-decoration:underline}
/* ---------- Progress ---------- */
.progress{height:8px;border-radius:999px;background:var(--fv-border);overflow:hidden}
.progress-bar{background:var(--fv-primary);border-radius:999px;transition:width .4s}
.progress-bar.bg-warning{background:var(--fv-warning)!important}.progress-bar.bg-danger{background:var(--fv-danger)!important}
/* ---------- Pagination ---------- */
.pagination{gap:.3rem;flex-wrap:wrap;justify-content:center;margin:0}
.page-link{border:1px solid var(--fv-border);background:var(--fv-surface);color:var(--fv-text);border-radius:var(--fv-radius-sm)!important;
  min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;padding:0 .7rem}
.page-link:hover{background:var(--fv-primary-soft);color:var(--fv-primary);border-color:var(--fv-primary)}
.page-item.active .page-link{background:var(--fv-primary);border-color:var(--fv-primary);color:#fff}
.page-item.disabled .page-link{background:var(--fv-surface-2);color:var(--fv-muted);opacity:.7}
/* ---------- Tabs / pills / breadcrumb / accordion ---------- */
.nav-tabs{border-bottom:1px solid var(--fv-border)}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--fv-muted);font-weight:600;font-size:.9rem;padding:.7rem 1rem}
.nav-tabs .nav-link.active{background:transparent;color:var(--fv-primary);border-bottom-color:var(--fv-primary)}
.custom-nav-pills{display:flex;gap:.4rem;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.custom-nav-pills .nav-link{border-radius:999px;padding:.45rem 1rem;font-weight:600;font-size:.85rem;color:var(--fv-muted);background:var(--fv-surface);border:1px solid var(--fv-border)}
.custom-nav-pills .nav-link.active,.nav-pills .nav-link.active{background:var(--fv-primary);color:#fff;border-color:var(--fv-primary)}
.breadcrumb{font-size:.84rem;--bs-breadcrumb-divider-color:var(--fv-muted)}
.breadcrumb-item.active{color:var(--fv-muted)}
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--fv-border);--bs-accordion-btn-focus-box-shadow:0 0 0 3px var(--fv-primary-ring);
  --bs-accordion-active-bg:var(--fv-primary-soft);--bs-accordion-active-color:var(--fv-primary);--bs-accordion-color:var(--fv-text)}
.accordion-item{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius)!important;margin-bottom:.65rem;overflow:hidden}
.accordion-button{font-weight:600;font-size:.97rem;background:var(--fv-surface);color:var(--fv-text);padding:1.05rem 1.25rem}
.accordion-button:not(.collapsed){background:var(--fv-primary-soft);color:var(--fv-primary);box-shadow:none}
.accordion-body{color:var(--fv-muted);font-size:.93rem}
:root[data-theme="dark"] .accordion-button::after{filter:invert(1) brightness(1.4)}
/* ---------- Dropdown (theme's .drop-down — JS toggles .active) ---------- */
.drop-down{position:relative}
.drop-down-btn{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}
.drop-down-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:200px;background:var(--fv-surface);border:1px solid var(--fv-border);
  border-radius:var(--fv-radius);box-shadow:var(--fv-shadow-lg);padding:.4rem;z-index:1050;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .15s,transform .15s,visibility .15s}
.drop-down.active>.drop-down-menu{opacity:1;visibility:visible;transform:none}
.drop-down-lg>.drop-down-menu{min-width:340px;padding:0}
.drop-down-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:var(--fv-radius-sm);color:var(--fv-text);font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap}
.drop-down-item i{width:1.1rem;text-align:center;color:var(--fv-muted)}
.drop-down-item:hover,.drop-down-item.active{background:var(--fv-primary-soft);color:var(--fv-primary)}
.drop-down-item:hover i,.drop-down-item.active i{color:var(--fv-primary)}
.drop-down-item.text-danger i{color:var(--fv-danger)}
.language-img{width:20px;height:20px;border-radius:50%;overflow:hidden;flex:none;display:inline-flex}
.language-img img{width:100%;height:100%;object-fit:cover}
.dropdown-menu{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius);box-shadow:var(--fv-shadow-lg)}
.dropdown-item{color:var(--fv-text)}.dropdown-item:hover{background:var(--fv-primary-soft);color:var(--fv-primary)}
/* ---------- Modals ---------- */
.modal-content,.custom-modal .modal-content{background:var(--fv-surface);color:var(--fv-text);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);box-shadow:var(--fv-shadow-lg)}
.modal-header,.modal-footer{border-color:var(--fv-border);padding:1.1rem 1.4rem}
.modal-body{padding:1.4rem}.modal-title{font-weight:700;font-size:1.05rem}
.modal-backdrop{--bs-backdrop-bg:#0D1220;--bs-backdrop-opacity:.55}
@media (max-width:575.98px){.modal-dialog{margin:.75rem}}
/* ---------- Tooltip / skeleton / empty state ---------- */
.tooltip{--bs-tooltip-bg:#15213B;--bs-tooltip-border-radius:8px;font-family:var(--fv-font)}
.fv-skeleton{display:block;border-radius:8px;background:linear-gradient(90deg,var(--fv-border) 25%,var(--fv-surface-2) 37%,var(--fv-border) 63%);background-size:400% 100%;animation:fvShimmer 1.4s infinite}
@keyframes fvShimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
.fv-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:3rem 1.25rem;color:var(--fv-muted)}
.fv-empty-icon{width:64px;height:64px;border-radius:18px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;font-size:1.6rem;margin-bottom:.35rem}
.fv-empty h5{margin:0;font-size:1rem}.fv-empty p{margin:0;font-size:.88rem;max-width:34ch}
/* simplebar / toastr harmony */
.simplebar-scrollbar::before{background:var(--fv-border-strong)!important}
/* Part 3: public website — navbar, hero, sections, footer, pages, blog, plans */
.logo{display:inline-flex;align-items:center;flex:none}
.logo img{height:36px;width:auto;display:block}
.logo-sm img{height:30px}
.logo-for-dark{display:none!important}
:root[data-theme="dark"] .logo-for-light{display:none!important}
:root[data-theme="dark"] .logo-for-dark{display:block!important}
@media (prefers-color-scheme:dark){:root[data-theme="auto"] .logo-for-light{display:none!important}:root[data-theme="auto"] .logo-for-dark{display:block!important}}
.fv-icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--fv-border);background:var(--fv-surface);color:var(--fv-text);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;flex:none;transition:background .15s,border-color .15s,color .15s;padding:0}
.fv-icon-btn:hover{background:var(--fv-primary-soft);border-color:var(--fv-primary);color:var(--fv-primary)}
.fv-icon-btn-sm{width:32px;height:32px;border-radius:8px;font-size:.8rem}
.fv-mode-sun{display:none}
:root[data-theme="dark"] .fv-mode-moon{display:none}:root[data-theme="dark"] .fv-mode-sun{display:inline}
@media (prefers-color-scheme:dark){:root[data-theme="auto"] .fv-mode-moon{display:none}:root[data-theme="auto"] .fv-mode-sun{display:inline}}
.min-w-0{min-width:0}
/* ---------- navbar ---------- */
.nav-bar{position:sticky;top:0;z-index:1040;background:var(--fv-surface);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.nav-bar.scrolling{border-bottom-color:var(--fv-border);box-shadow:var(--fv-shadow)}
.nav-bar-container{display:flex;align-items:center;gap:1.5rem;min-height:var(--fv-nav-h)}
.nav-bar-menu{margin-inline-start:auto}
.nav-bar-links{display:flex;align-items:center;gap:.25rem}
.nav-bar-menu-header{display:none}
.nav-bar-links .link{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:var(--fv-radius-sm);font-weight:600;font-size:.9rem;color:var(--fv-muted);position:relative}
.nav-bar-links .link:hover{color:var(--fv-text);background:var(--fv-surface-2)}
.nav-bar-links .link.active{color:var(--fv-primary);background:var(--fv-primary-soft)}
.nav-bar-menu-actions{display:flex;align-items:center;gap:.6rem;margin-inline-start:.75rem;padding-inline-start:.9rem;border-inline-start:1px solid var(--fv-border)}
.nav-bar-actions{display:flex;align-items:center;gap:.6rem}
.nav-bar-menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--fv-border);background:var(--fv-surface);color:var(--fv-text)}
.user-menu .drop-down-btn{padding:.2rem;border-radius:999px}
.user-img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--fv-border);background:var(--fv-surface-2)}
.user-name{font-weight:600;font-size:.88rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-bar .overlay{display:none}
@media (max-width:991.98px){
  .nav-bar-menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .nav-bar-menu{position:fixed;inset:0;z-index:1100;visibility:hidden;margin:0}
  .nav-bar-menu .overlay{display:block;position:absolute;inset:0;background:rgba(13,18,32,.55);opacity:0;transition:opacity .25s}
  .nav-bar-menu.show{visibility:visible}.nav-bar-menu.show .overlay{opacity:1}
  .nav-bar-links{position:absolute;inset-block:0;inset-inline-end:0;width:min(86vw,340px);background:var(--fv-surface);flex-direction:column;align-items:stretch;gap:.15rem;
    padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(100%);transition:transform .28s ease;box-shadow:var(--fv-shadow-lg)}
  [dir="rtl"] .nav-bar-links{transform:translateX(-100%)}
  .nav-bar-menu.show .nav-bar-links{transform:none}
  .nav-bar-menu-header{display:flex;align-items:center;padding:.25rem .25rem .9rem;margin-bottom:.4rem;border-bottom:1px solid var(--fv-border)}
  .nav-bar-menu-close{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--fv-muted);cursor:pointer}
  .nav-bar-links .link{padding:.8rem .9rem;font-size:1rem;width:100%}
  .nav-bar-links .drop-down{width:100%}
  .nav-bar-links .drop-down-btn{justify-content:space-between;width:100%}
  .nav-bar-links .drop-down-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 0 .75rem;display:none;min-width:0}
  .nav-bar-links .drop-down.active>.drop-down-menu{display:block}
  .nav-bar-menu-actions{flex-direction:column;align-items:stretch;margin:1rem 0 0;padding:1rem 0 0;border-inline-start:0;border-top:1px solid var(--fv-border);gap:.6rem}
  .nav-bar-menu-actions .btn{width:100%}
  .nav-bar-container{gap:.75rem}.nav-bar-actions{margin-inline-start:auto}
  .user-name{display:none}
}
.brands-swiper .brand-img,.brand-img{display:grid;place-items:center;height:84px;padding:1rem;border:1px solid var(--fv-border);border-radius:var(--fv-radius);background:#fff}
.brand-img img{max-height:44px;max-width:100%;object-fit:contain}
/* ---------- page header (public inner pages) ---------- */
.header-wrapper{padding:clamp(2rem,5vw,3.5rem) 0 clamp(1.5rem,3vw,2.25rem);background:radial-gradient(700px 260px at 80% -20%,color-mix(in srgb,var(--fv-primary) 12%,transparent),transparent 70%)}
.header-wrapper .page-title{margin:0;font-size:clamp(1.6rem,3vw,2.3rem)}
.header-inner,.header-container{display:block}
/* ---------- footer ---------- */
.footer{background:var(--footer_background_color,#0D1220);color:#AEB7CC;margin-top:0}
.footer-upper{padding:clamp(2.5rem,5vw,4rem) 0 2rem}
.footer-text{color:#AEB7CC;font-size:.9rem}
.footer-title{font-weight:700;color:#fff;margin-bottom:1rem;font-size:.92rem}
.footer-link{margin-bottom:.55rem}
.footer-link a{color:#AEB7CC;font-size:.9rem}.footer-link a:hover{color:#fff}
.footer-lower{border-top:1px solid rgba(255,255,255,.08);padding:1.1rem 0}
.footer-copyright{font-size:.82rem;color:#8E9AB4}
/* ---------- generic content pages / blog ---------- */
.section{padding:clamp(1.5rem,3vw,2.5rem) 0}
.section-body{position:relative}
.card-v h3,.card-v h4{margin-bottom:1rem}
.card-v img{max-width:100%;height:auto}
.socials{display:flex;gap:.5rem;flex-wrap:wrap}
.social-btn,.social-btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:40px;height:40px;padding:0 .9rem;border-radius:var(--fv-radius-sm);color:#fff!important;font-weight:600;font-size:.86rem;border:0}
.social-btn-sm{min-width:36px;height:36px;padding:0}
.social-facebook{background:#1877F2}.social-twitter{background:#0F1419}.social-linkedin{background:#0A66C2}.social-whatsapp{background:#25D366}.social-pinterest{background:#E60023}
.social-btn[class*="google"]{background:#fff;color:#15213B!important;border:1px solid var(--fv-border-strong)}
/* plans / pricing */
.plans-pricing{margin-top:clamp(3rem,6vw,5rem)}
.plan,.pricing{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.75rem;height:100%;position:relative;display:flex;flex-direction:column;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .25s}
.plan:hover,.pricing:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--fv-primary) 40%,var(--fv-border));box-shadow:var(--fv-shadow-lg)}
.plan-premium{border-color:var(--fv-primary);box-shadow:0 0 0 1px var(--fv-primary),var(--fv-shadow);
  background:linear-gradient(180deg,var(--fv-primary-soft),var(--fv-surface) 140px)}
.plan-premium:hover{border-color:var(--fv-primary)}
.plan.is-current{border-color:color-mix(in srgb,var(--fv-primary) 55%,var(--fv-border))}
.plan-badge{position:absolute;top:-12px;inset-inline-start:1.5rem;background:var(--fv-primary);color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .8rem;border-radius:999px;
  box-shadow:0 4px 10px -4px color-mix(in srgb,var(--fv-primary) 70%,transparent)}
.plan-header{margin-bottom:1.25rem}
.plan-icon{width:48px;height:48px;border-radius:14px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;margin-bottom:1rem;font-size:1.15rem;transition:transform .3s,background .2s,color .2s}
.plan-premium .plan-icon{background:var(--fv-primary);color:#fff;box-shadow:0 8px 18px -8px color-mix(in srgb,var(--fv-primary) 80%,transparent)}
.plan:hover .plan-icon{transform:translateY(-2px) rotate(-6deg)}
.plan-header-title{font-size:1.2rem;margin:0 0 .3rem}.plan-header-text{color:var(--fv-muted);font-size:.88rem;margin:0}
.plan-features{list-style:none;margin:0;padding:0;flex:1}
.plan-feature{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;font-size:.88rem;border-top:1px solid var(--fv-border)}
.plan-feature:first-child{border-top:0;padding-top:.2rem}
.plan-feature-label{color:var(--fv-muted);min-width:0}
.plan-feature b{font-weight:700;color:var(--fv-text);text-align:end;flex:none;max-width:55%}
.plan-mark{width:24px;height:24px;border-radius:50%;display:grid!important;place-items:center;font-size:.68rem}
.plan-mark.is-yes{background:var(--fv-success-soft);color:var(--fv-success)!important}
.plan-mark.is-no{background:var(--fv-danger-soft);color:var(--fv-danger)!important}
.plan-footer{margin-top:1.5rem}
.plan-footer .btn{transition:transform .2s,box-shadow .2s,background-color .15s,border-color .15s}
.plan-footer .btn:hover{transform:translateY(-2px)}
.pricing{align-items:stretch;text-align:center;padding:1.5rem}
.pricing-header{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px dashed var(--fv-border-strong)}
.pricing-duration{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--fv-primary);background:var(--fv-primary-soft);padding:.28rem .75rem;border-radius:999px}
.pricing-amount{font-size:2.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-top:.7rem;color:var(--fv-text);unicode-bidi:plaintext}
.pricing-body{display:grid;gap:.6rem;margin:0;flex:1;align-content:start}
.pricing-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:.5rem 1rem;background:#fff;border:1px solid var(--fv-border-strong);border-radius:var(--fv-radius-sm);cursor:pointer;
  transition:transform .2s,border-color .15s,box-shadow .2s}
.pricing-btn img{max-height:26px;max-width:100%;object-fit:contain}
.pricing-btn:hover{border-color:var(--fv-primary);box-shadow:0 0 0 3px var(--fv-primary-ring);transform:translateY(-1px)}
.pricing-btn:active{transform:translateY(1px)}
.pricing-btn:focus-visible{outline:0;border-color:var(--fv-primary);box-shadow:0 0 0 3px var(--fv-primary-ring)}
@media (max-width:575.98px){.plan,.pricing{padding:1.35rem}}
.payout,.rate,.proof-counter{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.25rem;display:flex;gap:1rem;align-items:center;height:100%}
.payout-icon,.rate-img,.proof-counter-icon{width:48px;height:48px;border-radius:12px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;flex:none;overflow:hidden}
.rate-img img{width:100%;height:100%;object-fit:contain;background:#fff}
.payout-title,.proof-counter-title,.rate-info h5{font-size:.82rem;font-weight:600;color:var(--fv-muted);margin:0}
.payout-text,.proof-counter-text{font-size:1.25rem;font-weight:800;margin:0}
.rate-prices{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.rate-price{font-size:.8rem;padding:.25rem .6rem;border-radius:8px;background:var(--fv-surface-2);border:1px solid var(--fv-border)}
.rate-price-icon{color:var(--fv-primary)}
/* cookies / ads */
.cookies{position:fixed;inset-inline:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));max-width:520px;margin-inline:auto;z-index:1500;background:var(--fv-surface);border:1px solid var(--fv-border);
  border-radius:var(--fv-radius-lg);box-shadow:var(--fv-shadow-lg);padding:1rem 1.1rem;display:flex;gap:.9rem;align-items:center;transform:translateY(150%);transition:transform .4s}
.cookies.show{transform:none}.cookies-img{width:40px;height:40px;flex:none}
.ad{text-align:center;overflow:hidden;max-width:100%}.ad-728x90{max-width:100%}
/* Part 4: user dashboard shell and pages */
body.fv-app{background:var(--fv-bg)}
.dashboard{display:flex;min-height:100vh;min-height:100dvh}
.dashboard-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--fv-sidebar-w);z-index:1060;background:var(--fv-sidebar);color:var(--fv-sidebar-text);transition:transform .28s ease,width .2s ease}
.dashboard-sidebar .overlay{display:none}
.dashboard-sidebar-inner{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2A3550 transparent}
.dashboard-sidebar-content{min-height:100%;display:flex;flex-direction:column;padding:1.1rem .9rem calc(1rem + env(safe-area-inset-bottom))}
.dashboard-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .5rem 1.1rem}
.fv-sidebar-close{display:none;background:transparent;border:0;color:#AEB7CC;width:36px;height:36px;border-radius:8px}
.fv-sidebar-user{display:flex;align-items:center;gap:.7rem;padding:.65rem;border-radius:var(--fv-radius);background:var(--fv-sidebar-2);margin-bottom:1rem;color:inherit}
.fv-sidebar-user:hover{background:#1A2338;color:#fff}
.fv-sidebar-user .user-img{width:38px;height:38px;border-color:#2A3550}
.fv-sidebar-user-info{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.fv-sidebar-user-info strong{color:#fff;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-sidebar-user-info small{color:#8E9AB4;font-size:.74rem}
.dashboard-sidebar-body{flex:1}
.dashboard-sidebar-links{display:flex;flex-direction:column;gap:.2rem}
.dashboard-sidebar-link-title{display:flex;align-items:center;gap:.8rem;padding:.7rem .85rem;border-radius:var(--fv-radius-sm);color:var(--fv-sidebar-text);font-size:.9rem;font-weight:600;cursor:pointer;position:relative;min-height:44px}
.dashboard-sidebar-link-title i{width:20px;text-align:center;font-size:1rem;flex:none}
.dashboard-sidebar-link-title:hover{background:rgba(255,255,255,.06);color:#fff}
.dashboard-sidebar-link.current .dashboard-sidebar-link-title{background:var(--fv-primary);color:#fff;box-shadow:0 6px 16px -8px var(--fv-primary)}
.dashboard-sidebar-footer{display:grid;gap:.7rem;margin-top:1.25rem}
.dashboard-sidebar-card{padding:.95rem;border-radius:var(--fv-radius);background:var(--fv-sidebar-2);border:1px solid rgba(255,255,255,.05)}
.fv-balance span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8E9AB4}
.fv-balance strong{color:#fff;font-size:1.25rem}
.dashboard-upgrade-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8E9AB4;margin-bottom:.6rem}
.dashboard-sidebar .progress{background:rgba(255,255,255,.1);height:6px}
.fv-storage-text{font-size:.78rem;color:#AEB7CC}
/* body */
.dashboard-body{flex:1;min-width:0;margin-inline-start:var(--fv-sidebar-w);display:flex;flex-direction:column;transition:margin .2s ease}
.dashboard-nav{position:sticky;top:0;z-index:1030;display:flex;align-items:center;gap:.75rem;height:var(--fv-nav-h);padding:0 clamp(1rem,2.5vw,2rem);
  background:var(--fv-bg);border-bottom:1px solid var(--fv-border)}
.fv-nav-end{display:flex;align-items:center;gap:.55rem;margin-inline-start:auto}
.fv-nav-toggle,.fv-nav-logo{display:none}
.fv-collapse-btn i{transition:transform .2s}
.dashboard-nav .user-menu{margin:0}
.announcements-menu-btn .announcements-menu-counter{position:absolute;top:-5px;inset-inline-end:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--fv-danger);color:#fff;font-size:.66rem;font-weight:700;display:grid;place-items:center;border:2px solid var(--fv-bg)}
.announcements-menu{width:min(340px,92vw)}
.announcements-menu-header{padding:.9rem 1.1rem;border-bottom:1px solid var(--fv-border)}
.announcements-menu-body{max-height:300px;overflow-y:auto}
.announcements-menu-item{display:flex;gap:.8rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--fv-border)}
.announcements-menu-item:last-child{border-bottom:0}
.announcements-menu-item-icon{width:34px;height:34px;border-radius:10px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;flex:none;font-size:.8rem}
.announcements-menu-item-text{font-size:.86rem;font-weight:600;line-height:1.35}.announcements-menu-item-time{font-size:.74rem;color:var(--fv-muted)}
.announcements-menu-footer{padding:.75rem 1.1rem;border-top:1px solid var(--fv-border);text-align:center;font-weight:600;font-size:.86rem}
.dashboard-container{flex:1;width:100%;max-width:1440px;margin-inline:auto;padding:clamp(1.1rem,2.5vw,2rem)}
.dashboard-footer{padding:1rem clamp(1rem,2.5vw,2rem) calc(1rem + env(safe-area-inset-bottom));font-size:.8rem;color:var(--fv-muted);border-top:1px solid var(--fv-border)}
/* page head */
.fv-page-head{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:space-between;margin-bottom:1.35rem}
.fv-page-head-main{display:flex;align-items:center;gap:.85rem;min-width:0}
.fv-page-title{font-size:clamp(1.3rem,2.2vw,1.65rem);margin:0;letter-spacing:-.02em}
.fv-page-sub{margin:.15rem 0 0;color:var(--fv-muted);font-size:.9rem}
.fv-back{width:40px;height:40px;border-radius:10px;border:1px solid var(--fv-border);background:var(--fv-surface);display:grid;place-items:center;color:var(--fv-text);flex:none}
/* cards / counters */
.fv-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.fv-card-title{font-size:1rem;margin:0;font-weight:700}
.dashboard-counter{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.2rem;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);box-shadow:var(--fv-shadow-sm);height:100%}
.dashboard-counter-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.15rem;flex:none;background:var(--fv-primary-soft);color:var(--fv-primary)}
.dashboard-counter-success .dashboard-counter-icon{background:var(--fv-success-soft);color:var(--fv-success)}
.dashboard-counter-warning .dashboard-counter-icon{background:var(--fv-warning-soft);color:var(--fv-warning)}
.dashboard-counter-danger .dashboard-counter-icon{background:var(--fv-danger-soft);color:var(--fv-danger)}
.dashboard-counter-title{font-size:.78rem;font-weight:600;color:var(--fv-muted);margin:0 0 .2rem;letter-spacing:0;text-transform:none}
.dashboard-counter-text{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.dashboard-chart{position:relative;height:300px}
@media (max-width:575.98px){.dashboard-chart{height:240px}.dashboard-counter-text{font-size:1.3rem}}
.fv-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.fv-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem .5rem;border-radius:var(--fv-radius);border:1px solid var(--fv-border);background:var(--fv-surface-2);
  color:var(--fv-text);font-size:.8rem;font-weight:600;text-align:center;cursor:pointer;min-height:84px;transition:border-color .15s,background .15s,color .15s;font-family:inherit}
.fv-action i{font-size:1.15rem;color:var(--fv-primary)}
.fv-action:hover{border-color:var(--fv-primary);background:var(--fv-primary-soft);color:var(--fv-primary)}
.fv-recent{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--fv-border)}
.fv-recent:last-of-type{border-bottom:0}
.file-name{display:flex;align-items:center;gap:.8rem;color:var(--fv-text);min-width:0}
.file-name-icon{flex:none;display:grid;place-items:center;width:40px;color:var(--files_icon_color,var(--fv-primary))}
.file-name-icon .fa-folder,.file-name-icon .fa-folder-open{color:var(--folders_icon_color,var(--fv-warning))}
.file-name-info{min-width:0}
.file-name-title{margin:0;font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}
.file-name-text{margin:0;font-size:.76rem}
.file-name-ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}
@media (max-width:575.98px){.file-name-title{max-width:46vw}}
/* files table toolbar */
.files-table .btn-group{flex-wrap:wrap;gap:.4rem}
.files-table .btn-group>.btn{border-radius:var(--fv-radius-sm)!important;margin:0!important}
.files-table .form-icon{position:relative;top:auto;transform:none;inset:auto;color:inherit}
.files-table .form-icon .icon{position:absolute;inset-inline-start:.95rem;top:50%;transform:translateY(-50%);color:var(--fv-muted);z-index:2}
.files-table .form-icon .form-control{padding-inline-start:2.5rem}
.custom-drop .dropdown-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--fv-muted);cursor:pointer}
.custom-drop .dropdown-btn:hover{background:var(--fv-primary-soft);color:var(--fv-primary)}
.custom-drop .dropdown-menu{min-width:190px;padding:.4rem}
.custom-drop .dropdown-item{display:flex;align-items:center;gap:.65rem;border-radius:8px;font-size:.88rem;padding:.5rem .7rem}
.custom-drop .dropdown-item i{width:1rem;color:var(--fv-muted)}
@media (max-width:767.98px){
  .files-table .dashboard-table .table{min-width:0}
  .files-table .table thead{display:none}
  .files-table .table tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .7rem;padding:.85rem 1rem}
  .files-table .table tbody td{padding:0;border:0;background:transparent;text-align:start!important;font-size:.78rem;color:var(--fv-muted)}
  .files-table .table tbody td:nth-child(1){order:1}
  .files-table .table tbody td:nth-child(2){order:2;flex:1 1 calc(100% - 7rem);min-width:0}
  .files-table .table tbody td:nth-child(6){order:3}
  .files-table .table tbody td:nth-child(3){order:4;margin-inline-start:2.1rem}
  .files-table .table tbody td:nth-child(4){order:5}
  .files-table .table tbody td:nth-child(5){order:6}
  .files-table .table tbody td:nth-child(4)::before,.files-table .table tbody td:nth-child(5)::before{content:"·";margin-inline-end:.7rem}
}
/* settings */
.settings-links{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}
.settings-links .row{flex-wrap:nowrap}
.settings-link{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;padding:.55rem 1rem;border-radius:999px;background:var(--fv-surface);border:1px solid var(--fv-border);color:var(--fv-muted);font-weight:600;font-size:.86rem}
.settings-link:hover{color:var(--fv-primary);border-color:var(--fv-primary)}
.settings-link.active{background:var(--fv-primary);border-color:var(--fv-primary);color:#fff}
.settings-link i{margin:0!important}
.settings-user-img{width:104px;height:104px;border-radius:50%;object-fit:cover;border:3px solid var(--fv-surface);box-shadow:0 0 0 1px var(--fv-border)}
.settings-user-btn{cursor:pointer}
.withdraw-title h6{font-size:1.05rem}
.announcement{padding:1.25rem 0;border-bottom:1px solid var(--fv-border)}.announcement:last-child{border-bottom:0}
.announcement-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.announcement-title{font-size:1rem;margin:0}.announcement-time{font-size:.78rem;color:var(--fv-muted)}.announcement-text{color:var(--fv-muted);margin:0}
.custom-modal .modal-dialog{max-width:520px}
.share-modal .form-control{font-size:.85rem}
.file-details{display:flex;gap:.8rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--fv-border)}
.file-details:last-child{border-bottom:0}
.file-details-icon{width:38px;height:38px;border-radius:10px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;flex:none}
.file-details-text{margin:0;font-weight:600;font-size:.9rem;word-break:break-word}
/* desktop collapse */
@media (min-width:992px){
  :root[data-sidebar="collapsed"]{--fv-sidebar-w:84px}
  :root[data-sidebar="collapsed"] .dashboard-sidebar-link-title span,
  :root[data-sidebar="collapsed"] .fv-sidebar-user-info,
  :root[data-sidebar="collapsed"] .dashboard-sidebar-footer,
  :root[data-sidebar="collapsed"] .dashboard-sidebar-header .logo{display:none}
  :root[data-sidebar="collapsed"] .dashboard-sidebar-link-title,:root[data-sidebar="collapsed"] .fv-sidebar-user{justify-content:center;padding-inline:0}
  :root[data-sidebar="collapsed"] .dashboard-sidebar-header{justify-content:center}
  :root[data-sidebar="collapsed"] .fv-collapse-btn i{transform:rotate(180deg)}
  [dir="rtl"]:root[data-sidebar="collapsed"] .fv-collapse-btn i{transform:none}
}
/* tablet / mobile: drawer */
@media (max-width:991.98px){
  .dashboard-sidebar{transform:translateX(-100%);width:min(84vw,300px);box-shadow:none}
  [dir="rtl"] .dashboard-sidebar{transform:translateX(100%)}
  .dashboard.toggle .dashboard-sidebar{transform:none;box-shadow:var(--fv-shadow-lg)}
  .dashboard-sidebar .overlay{display:block;position:fixed;inset:0;inset-inline-start:min(84vw,300px);width:auto;background:rgba(13,18,32,.55);opacity:0;visibility:hidden;transition:opacity .25s}
  .dashboard.toggle .dashboard-sidebar .overlay{opacity:1;visibility:visible}
  .dashboard-body{margin-inline-start:0}
  .fv-nav-toggle,.fv-nav-logo{display:inline-flex}.fv-collapse-btn{display:none}
  .fv-sidebar-close{display:grid;place-items:center}
  .dashboard-nav{padding-inline:.85rem;gap:.6rem}
  .fv-nav-end{gap:.4rem}
}
@media (max-width:420px){.fv-nav-end .fv-icon-btn{width:38px;height:38px}}
/* small screens: top-bar dropdowns become full-width sheets (never cut off, LTR or RTL) */
@media (max-width:575.98px){
  .dashboard-nav .drop-down,.nav-bar-actions .drop-down{position:static}
  .dashboard-nav .drop-down-menu,.nav-bar-actions .drop-down-menu{position:fixed;inset-inline:.75rem;width:auto;min-width:0;top:calc(var(--fv-nav-h) + 6px)!important;bottom:auto!important}
  .announcements-menu{width:auto}
}
@media (max-width:575.98px){
  .row-cols-2>*>.dashboard-counter{flex-direction:column;align-items:flex-start;gap:.65rem;padding:.9rem}
  .row-cols-2>*>.dashboard-counter .dashboard-counter-icon{width:40px;height:40px;font-size:1rem;border-radius:12px}
  .row-cols-2>*>.dashboard-counter .dashboard-counter-text{font-size:1.15rem}
  .row-cols-2>*>.dashboard-counter .dashboard-counter-title{font-size:.72rem}
}
.dashboard-table .table td:first-child,.dashboard-table .table th:first-child{white-space:nowrap}
.fv-storage-text,.file-name-text,.dashboard-counter-text,.fv-balance strong{unicode-bidi:plaintext}
/* Part 5: uploadbox / dropzone, file pages, download flow */
.uploadbox{position:fixed;inset:0;z-index:1080;display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}
.uploadbox.active{visibility:visible;opacity:1}
.uploadbox .overlay{position:absolute;inset:0;background:rgba(13,18,32,.6);backdrop-filter:blur(3px)}
.uploadbox-content{position:relative;display:flex;flex-direction:column;width:min(1100px,100%);max-height:100%;margin:auto;margin-top:max(0px,env(safe-area-inset-top));background:var(--fv-surface);
  border:1px solid var(--fv-border);border-radius:0 0 var(--fv-radius-lg) var(--fv-radius-lg);box-shadow:var(--fv-shadow-lg);transform:translateY(-100%);transition:transform .3s ease;margin-block:0 auto}
.uploadbox.active .uploadbox-content{transform:none}
.uploadbox-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--fv-border)}
.upload-more-btn{color:var(--fv-primary);font-weight:600;cursor:pointer}
.uploadbox-body{display:flex;flex-direction:column;overflow-y:auto;padding:1.25rem 1.4rem 1.5rem;min-height:0;-webkit-overflow-scrolling:touch}
.uploadbox-body-header{display:flex}
.uploadbox-body-content{flex:1}
.uploadbox-drag{display:grid;place-items:center;min-height:clamp(240px,40vh,340px);padding:1.5rem;border:2px dashed color-mix(in srgb,var(--fv-primary) 45%,var(--fv-border-strong));border-radius:var(--fv-radius-lg);
  background:var(--fv-primary-soft);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}
.uploadbox-drag:hover,.uploadbox-drag.dz-drag-hover{border-color:var(--fv-primary);background:color-mix(in srgb,var(--fv-primary) 14%,var(--fv-surface))}
.uploadbox-drag.inactive{display:none}
.uploadbox-drag-inner i{font-size:2.6rem;color:var(--fv-primary);margin-bottom:.9rem}
.uploadbox-drag-inner h3{font-size:1.15rem;margin-bottom:.5rem}
.uploadbox-wrapper{display:none}.uploadbox-wrapper.active{display:block}
.uploadbox-wrapper-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--fv-border)}
.dropzone{min-height:0;padding:0;border:0;background:transparent;pointer-events:all}
.dropzone .dz-default{display:none}
.dropzone .dz-preview{margin:0;min-height:0;display:block}
.dropzone .dz-preview .dz-preview-container{position:relative;display:block;height:100%;padding:3rem 1.1rem 1.25rem;background:var(--fv-surface);border:1.5px solid var(--fv-border);border-radius:var(--fv-radius);transition:border-color .2s}
.dropzone .dz-preview .dz-actions{position:absolute;top:.6rem;inset-inline:.7rem}
.dropzone .dz-preview .dz-actions .row{display:flex;justify-content:space-between;margin:0;flex-wrap:nowrap}
.dropzone .dz-preview .dz-actions .row>*{width:auto;padding:0}
.dropzone .dz-remove,.dropzone .dz-edit{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;cursor:pointer;background:var(--fv-surface-2);transition:background .15s}
.dropzone .dz-remove i,.dropzone .dz-edit i{font-size:.85rem;color:var(--fv-muted)}
.dropzone .dz-remove:hover{background:var(--fv-danger-soft)}.dropzone .dz-remove:hover i{color:var(--fv-danger)}
.dropzone .dz-edit:hover{background:var(--fv-primary-soft)}.dropzone .dz-edit:hover i{color:var(--fv-primary)}
.dropzone .dz-details{position:static;min-width:0;padding:0;opacity:1!important;display:block}
.dropzone .dz-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-weight:600;font-size:.88rem;padding-inline:.5rem}
.dropzone .dz-size{text-align:center;color:var(--fv-muted);font-size:.78rem;margin-top:.2rem}
.dropzone .dz-size strong{font-weight:500}
.dropzone .dz-success-mark,.dropzone .dz-error-mark{display:none;position:absolute;top:0;inset-inline-start:0;width:30px;height:30px;align-items:center;justify-content:center;margin:0;opacity:1;color:#fff;font-size:.85rem;
  background:var(--fv-success);border-end-end-radius:10px;border-start-start-radius:var(--fv-radius);animation:none!important}
.dropzone .dz-error-mark{background:var(--fv-danger)}
.dropzone .dz-error-message{position:static;display:block;opacity:1;width:auto;height:auto;padding:0;background:transparent;color:var(--fv-danger);font-size:.8rem}
.dropzone .dz-error-message::after{display:none}
.dropzone .dz-progress{position:relative;display:none;align-items:center;justify-content:center;margin:1rem 0 0;height:22px;border-radius:999px;background:var(--fv-border);overflow:hidden;opacity:1}
.dropzone .dz-progress .dz-upload{position:absolute;inset-block:0;inset-inline-start:0;width:0;background:var(--fv-primary);border-radius:999px}
.dropzone .dz-progress .dz-upload-precent{position:relative;font-weight:700;font-size:.72rem;color:#fff;mix-blend-mode:normal;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.dropzone .dz-preview.dz-processing .dz-progress{display:flex}
.dropzone .dz-preview.dz-complete .dz-progress{display:none}
.dropzone .dz-preview.dz-success .dz-preview-container{border-color:var(--fv-success)}
.dropzone .dz-preview.dz-success .dz-success-mark{display:flex}
.dropzone .dz-preview.dz-error .dz-preview-container{border-color:var(--fv-danger)}
.dropzone .dz-preview.dz-error .dz-error-mark{display:flex}
.dz-clickable{cursor:pointer}
.dropzone .dz-file-edit{visibility:hidden;opacity:0;position:fixed;inset:0;z-index:1090;display:flex;align-items:center;justify-content:center;padding:1rem;transition:opacity .2s,visibility .2s}
.dropzone .dz-file-edit.active{visibility:visible;opacity:1}
.dropzone .dz-file-edit .overlay{position:absolute;inset:0;background:rgba(13,18,32,.6)}
.dropzone .dz-file-edit-box{position:relative;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.35rem 1.5rem;box-shadow:var(--fv-shadow-lg);text-align:start}
.dropzone .dz-file-edit-box *{cursor:auto}.dropzone .dz-file-edit-box .btn,.dropzone .dz-file-edit-box select{cursor:pointer}
.dropzone .dz-file-edit-box-header{margin-bottom:1rem}.dropzone .dz-file-edit-box-body{overflow:hidden}
/* file type icon (vi) fits the new surface */
.vi{filter:none}
/* share / uploaded links */
.btn-copy{white-space:nowrap}
/* ---------- download & file pages ---------- */
.download-section,.download-section-box{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:clamp(1.25rem,3vw,2rem)}
.download-file-link{text-align:center}
.download-file-timer{font-weight:800;font-size:1.6rem;color:var(--fv-primary)}
.file-info,.file-password{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:clamp(1.25rem,3vw,2rem)}
.file-icon{display:grid;place-items:center;margin-bottom:1rem}
.file-password-img{max-width:140px;margin:0 auto 1rem;display:block}
.file-password-form{max-width:420px;margin-inline:auto}
.protection{background:var(--fv-surface-2);border:1px solid var(--fv-border);border-radius:var(--fv-radius);padding:1rem}
.protection-inner{display:flex;gap:.9rem;align-items:center}
.protection-icon{width:42px;height:42px;border-radius:12px;background:var(--fv-success-soft);color:var(--fv-success);display:grid;place-items:center;flex:none}
.protection-title{font-size:.9rem;margin:0}.protection-text{font-size:.8rem;color:var(--fv-muted);margin:0}
.d-folder{border:1px solid var(--fv-border);border-radius:var(--fv-radius);margin-bottom:.6rem;overflow:hidden;background:var(--fv-surface)}
.d-folder-btn{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;cursor:pointer;font-weight:600;width:100%;background:transparent;border:0;color:var(--fv-text);text-align:start}
.d-folder-icon{color:var(--folders_icon_color,var(--fv-warning))}.d-folder-arrow{margin-inline-start:auto;transition:transform .2s;color:var(--fv-muted)}
.d-folder-files{padding:.25rem 1rem .75rem;border-top:1px solid var(--fv-border)}
.d-file{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px dashed var(--fv-border)}.d-file:last-child{border-bottom:0}
.d-file-name{font-weight:600;font-size:.88rem;word-break:break-word}
.proof-table{margin-top:1rem}
/* Part 6: authentication pages */
body.fv-auth-body{background:var(--fv-bg)}
.fv-auth{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100vh;min-height:100dvh}
.fv-auth-aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,4vw,3.5rem);color:#E7EBF5;overflow:hidden;
  background:linear-gradient(160deg,#0D1220 0%,#171442 62%,color-mix(in srgb,var(--fv-primary) 55%,#0D1220) 140%)}
.fv-auth-aside::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(160deg,#000 0%,transparent 70%);mask-image:linear-gradient(160deg,#000 0%,transparent 70%);pointer-events:none}
.fv-auth-aside::after{content:"";position:absolute;inset-inline-end:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.02)}
.fv-auth-aside .logo img{height:38px}
.fv-auth-aside-body{max-width:420px;position:relative;z-index:1}
.fv-auth-aside h2{color:#fff;font-size:clamp(1.6rem,2.4vw,2.2rem);margin-bottom:1rem}
.fv-auth-aside p{opacity:.75;margin-bottom:1.75rem}
.fv-auth-points{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.fv-auth-points li{display:flex;align-items:center;gap:.85rem;font-weight:600;font-size:.92rem}
.fv-auth-points i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#B9B5FF}
.fv-auth-main{display:flex;flex-direction:column;padding:clamp(1rem,2.5vw,1.75rem) clamp(1rem,4vw,3rem);min-width:0}
.fv-auth-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.fv-auth-logo{visibility:hidden}
.fv-auth-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 0}
.fv-auth-copy{text-align:center;color:var(--fv-muted);font-size:.78rem;margin:0}
.sign{width:100%;max-width:440px;margin-inline:auto}
.sign-lg{max-width:540px}
.sign .card-v{padding:clamp(1.5rem,4vw,2.4rem);box-shadow:var(--fv-shadow);border-radius:20px}
.sign-header{margin-bottom:1.6rem}
.sign-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--fv-primary-soft);color:var(--fv-primary);font-size:1.15rem;margin-bottom:1.1rem}
.sign-icon-lg{width:64px;height:64px;border-radius:18px;font-size:1.6rem;margin:0 auto 1.25rem}
.sign-title{font-size:clamp(1.45rem,3vw,1.75rem);letter-spacing:-.025em;margin:0 0 .4rem}
.sign-text{margin:0;color:var(--fv-muted);font-size:.93rem}
.sign a{font-weight:600}
.sign .btn[type="submit"]{width:100%}
.sign .form-check-label{font-size:.86rem;color:var(--fv-muted)}
.sign-switch{margin:1.4rem 0 0;text-align:center;font-size:.9rem;color:var(--fv-muted)}
.sign-switch i{font-size:.75rem}
[dir="rtl"] .sign-switch .fa-arrow-left{transform:scaleX(-1)}
.link{cursor:pointer}
/* fields */
.fv-group{margin-bottom:1rem}
.fv-group-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}
.fv-link-sm{font-size:.8rem;font-weight:600;white-space:nowrap}
.fv-field{position:relative}
.fv-field .form-control{padding-inline-start:2.7rem;min-height:48px}
.fv-field-icon{position:absolute;inset-inline-start:1rem;top:50%;transform:translateY(-50%);color:var(--fv-muted);font-size:.9rem;pointer-events:none;transition:color .15s;z-index:2}
.fv-field:focus-within .fv-field-icon{color:var(--fv-primary)}
.fv-field.input-password .form-control{padding-inline-end:3rem}
.form-control:user-invalid{border-color:var(--fv-danger)}
.form-control:user-invalid:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--fv-danger) 22%,transparent)}
.fv-hint{display:block;margin-top:.4rem;font-size:.76rem;color:var(--fv-muted)}
.fv-match.ok{color:var(--fv-success)}.fv-match.bad{color:var(--fv-danger)}
.fv-otp{text-align:center;letter-spacing:.7em;font-size:1.5rem;font-weight:700;padding-inline-start:calc(.9rem + .7em);min-height:58px;font-variant-numeric:tabular-nums}
/* strength meter */
.fv-meter{display:flex;align-items:center;gap:.7rem;margin-top:.5rem}
.fv-meter-bar{flex:1;height:5px;border-radius:99px;background:var(--fv-border);overflow:hidden}
.fv-meter-bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--fv-danger);transition:width .3s,background .3s}
.fv-meter small{font-size:.74rem;color:var(--fv-muted);min-width:5.5em;text-align:end}
.fv-meter[data-level="1"] i{width:25%;background:var(--fv-danger)}
.fv-meter[data-level="2"] i{width:50%;background:var(--fv-warning)}
.fv-meter[data-level="3"] i{width:75%;background:#7BC043}
.fv-meter[data-level="4"] i{width:100%;background:var(--fv-success)}
/* loading button */
.btn.is-loading{pointer-events:none;opacity:.85}
.btn.is-loading .btn-label{opacity:.0;position:relative}
.btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:fvSpin .7s linear infinite}
.btn{position:relative}
@keyframes fvSpin{to{transform:rotate(360deg)}}
/* oauth */
.login-with{margin-top:1.4rem}
.login-with-divider{display:flex;align-items:center;gap:.8rem;color:var(--fv-muted);font-size:.78rem;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.06em}
.login-with-divider::before,.login-with-divider::after{content:"";flex:1;height:1px;background:var(--fv-border)}
.fv-oauth-list{display:grid;gap:.6rem}
.fv-oauth{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.6rem 1rem;border-radius:var(--fv-radius-sm);border:1px solid var(--fv-border-strong);background:var(--fv-surface);color:var(--fv-text)!important;font-weight:600;font-size:.92rem;transition:background .15s,border-color .15s,transform .15s}
.fv-oauth:hover{background:var(--fv-surface-2);border-color:var(--fv-muted);transform:translateY(-1px)}
.fv-oauth i{font-size:1.1rem}
.fv-oauth-google i{color:#EA4335}.fv-oauth-facebook i{color:#1877F2}.fv-oauth-twitter i{color:#1DA1F2}.fv-oauth-github i{color:var(--fv-text)}.fv-oauth-discord i{color:#5865F2}.fv-oauth-linkedin i{color:#0A66C2}
/* verify */
.fv-verify{text-align:center}
.fv-verify .sign-text{max-width:42ch;margin-inline:auto}
.fv-verify-mail{display:inline-flex;align-items:center;gap:.6rem;margin:1.1rem 0 0;padding:.5rem .95rem;border-radius:999px;background:var(--fv-surface-2);border:1px solid var(--fv-border);font-size:.88rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-verify-mail i{color:var(--fv-primary)}
.fv-verify-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.6rem}
.fv-verify-actions form{display:contents}
.fv-verify-actions .btn{min-width:140px}
@media (max-width:991.98px){
  .fv-auth{grid-template-columns:1fr}
  .fv-auth-aside{display:none}
  .fv-auth-logo{visibility:visible}
  .fv-auth-content{align-items:flex-start;padding:1.25rem 0 2rem}
  .sign .card-v{border:0;box-shadow:none;background:transparent;padding:.5rem 0}
}
.fv-auth-aside-body{margin-block:auto}
/* Part 7: homepage ("fh-" = Filevo home). Violet is used for actions + small accents only. */
.fh-kicker{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fv-primary);margin-bottom:.7rem}
.fh-muted{color:var(--fv-muted)}
.fh-actions{display:flex;flex-wrap:wrap;gap:.7rem}
/* ---------- hero ---------- */
.fh-hero{position:relative;overflow:hidden;padding:clamp(2rem,6vw,5rem) 0 clamp(2.5rem,5vw,4.5rem);
  background-image:linear-gradient(var(--fv-border) 1px,transparent 1px),linear-gradient(90deg,var(--fv-border) 1px,transparent 1px);
  background-size:44px 44px;background-position:-1px -1px}
.fh-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 80% at 30% 40%,var(--fv-bg) 35%,transparent 100%);opacity:.96;pointer-events:none}
.fh-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.fh-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .85rem;border-radius:999px;background:var(--fv-surface);border:1px solid var(--fv-border);font-size:.78rem;font-weight:600;color:var(--fv-muted);margin-bottom:1.2rem}
.fh-chip i{font-size:.45rem;color:var(--fv-primary)}
.fh-hero h1{font-size:clamp(2.15rem,5.4vw,3.7rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 1.1rem;max-width:15ch}
.fh-hero h1 span{color:var(--fv-primary)}
.fh-lead{font-size:clamp(1rem,1.4vw,1.12rem);color:var(--fv-muted);max-width:46ch;margin-bottom:1.6rem}
.fh-quick{margin-top:1.1rem;display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;padding:.35rem 0;font:inherit;font-size:.88rem;font-weight:600;color:var(--fv-text);cursor:pointer}
.fh-quick i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--fv-primary-soft);color:var(--fv-primary);font-size:.75rem}
.fh-quick:hover span{color:var(--fv-primary);text-decoration:underline;text-underline-offset:3px}
/* hero visual */
.fh-visual{position:relative;max-width:560px;width:100%;margin-inline:auto;padding:0 0 4.5rem}
.fh-sheet{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:18px;box-shadow:var(--fv-shadow-lg);padding:1.1rem 1.2rem 1.25rem;position:relative}
.fh-sheet::after{content:"";position:absolute;inset-inline:1.2rem;bottom:-9px;height:9px;border:1px solid var(--fv-border);border-top:0;border-radius:0 0 14px 14px;background:var(--fv-surface-2)}
.fh-sheet-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:.8rem;border-bottom:1px solid var(--fv-border);margin-bottom:.3rem;font-size:.9rem}
.fh-pill{font-size:.68rem;font-weight:600;color:var(--fv-muted);background:var(--fv-surface-2);border:1px solid var(--fv-border);padding:.2rem .6rem;border-radius:999px}
.fh-file{display:flex;align-items:center;gap:.8rem;padding:.78rem 0;border-bottom:1px dashed var(--fv-border)}
.fh-file:last-child{border-bottom:0}
.fh-type{flex:none;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:.66rem;font-weight:800;letter-spacing:.04em}
.fh-t-zip{background:var(--fv-primary-soft);color:var(--fv-primary)}.fh-t-vid{background:var(--fv-warning-soft);color:#B7791F}.fh-t-pdf{background:var(--fv-danger-soft);color:var(--fv-danger)}
:root[data-theme="dark"] .fh-t-vid{color:var(--fv-warning)}
.fh-file-main{flex:1;min-width:0}.fh-file-main b{display:block;font-size:.86rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fh-file-main small{color:var(--fv-muted);font-size:.74rem}
.fh-tag{font-size:.7rem;font-weight:600;padding:.22rem .6rem;border-radius:999px;background:var(--fv-success-soft);color:var(--fv-success);white-space:nowrap}
.fh-tag-lock{background:var(--fv-surface-2);color:var(--fv-muted);border:1px solid var(--fv-border)}.fh-tag-lock i{margin-inline-end:.3rem;font-size:.62rem}
.fh-bar{height:6px;border-radius:99px;background:var(--fv-border);margin-top:.5rem;overflow:hidden}.fh-bar i{display:block;height:100%;width:68%;background:var(--fv-primary);border-radius:99px}
.fh-pct{font-weight:700;color:var(--fv-primary);font-size:.78rem}
.fh-log{position:absolute;inset-inline-end:-.5rem;bottom:0;width:min(290px,70%);background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:16px;box-shadow:var(--fv-shadow-lg);padding:.85rem 1rem}
.fh-log-title{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fv-muted);margin-bottom:.45rem}
.fh-log-row{display:flex;align-items:center;gap:.55rem;padding:.3rem 0;font-size:.8rem;font-weight:600}
.fh-log-row small{margin-inline-start:auto;font-size:.7rem;font-weight:500;color:var(--fv-muted);text-align:end}
.fh-log-row .ok{color:var(--fv-success)}.fh-log-row .no{color:var(--fv-muted)}
.fh-spark{position:absolute;inset-inline-start:-.8rem;top:-1.1rem;width:150px;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:14px;box-shadow:var(--fv-shadow);padding:.65rem .85rem;color:var(--fv-primary)}
.fh-spark small{display:block;font-size:.68rem;font-weight:700;color:var(--fv-muted)}.fh-spark svg{width:100%;height:30px;margin-top:.2rem}
@media (max-width:991.98px){
  .fh-hero-grid{grid-template-columns:minmax(0,1fr)}.fh-hero h1{max-width:18ch}
  .fh-visual{max-width:520px;padding:0}
  .fh-spark,.fh-log{position:static;width:auto;margin-top:.75rem;inset:auto}
  .fh-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}
  .fh-sheet{grid-column:1/-1}.fh-spark,.fh-log{margin:0}
}
@media (max-width:575.98px){
  .fh-actions .btn{flex:1 1 100%}
  .fh-visual{grid-template-columns:minmax(0,1fr)}.fh-spark{order:3}
  .fh-spark svg{height:38px}
}
/* ---------- facts ---------- */
.fh-facts{background:var(--fv-surface);border-block:1px solid var(--fv-border)}
.fh-facts-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fh-facts-list li{display:flex;align-items:center;gap:.9rem;padding:1.15rem 1rem;border-inline-end:1px solid var(--fv-border)}
.fh-facts-list li:last-child{border-inline-end:0}
.fh-facts-list i{width:42px;height:42px;border-radius:12px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;flex:none}
.fh-facts-list b{display:block;font-size:1.15rem;line-height:1.2;letter-spacing:-.01em}.fh-facts-list small{color:var(--fv-muted);font-size:.78rem}
@media (max-width:575.98px){.fh-facts-list{grid-template-columns:1fr 1fr}.fh-facts-list li{padding:.95rem .5rem;border-inline-end:0;border-bottom:1px solid var(--fv-border);gap:.7rem}
  .fh-facts-list li:nth-last-child(-n+2){border-bottom:0}.fh-facts-list i{width:36px;height:36px}.fh-facts-list b{font-size:1rem}}
/* ---------- sections ---------- */
.fh-section{padding:clamp(3rem,7vw,6rem) 0}
.fh-alt{background:var(--fv-surface);border-block:1px solid var(--fv-border)}
.fh-head{max-width:640px;margin:0 0 clamp(1.75rem,4vw,3rem)}
.fh-head h2{margin:0}.fh-head-left{margin-inline:0}
.fh-card{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.5rem;transition:border-color .2s,transform .2s}
.fh-card:hover{border-color:color-mix(in srgb,var(--fv-primary) 40%,var(--fv-border));transform:translateY(-2px)}
.fh-card h3{font-size:1.05rem;margin:0 0 .45rem}.fh-card p{margin:0;color:var(--fv-muted);font-size:.92rem}
.fh-ico{width:46px;height:46px;border-radius:13px;background:var(--fv-primary-soft);color:var(--fv-primary);display:grid;place-items:center;font-size:1.1rem;margin-bottom:1.1rem}
.fh-ico img{width:26px;height:26px;object-fit:contain}
.fh-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.fh-bento>*{grid-column:span 3}
.fh-b-upload{grid-column:span 6;grid-row:span 2;display:flex;flex-direction:column}
.fh-b-earn{grid-column:span 6;background:var(--fv-primary-soft);border-color:color-mix(in srgb,var(--fv-primary) 18%,transparent)}
.fh-b-earn .fh-ico{background:var(--fv-surface)}
.fh-b-wide{grid-column:span 12;display:grid;grid-template-columns:auto 1fr;column-gap:1.1rem;align-items:center}
.fh-b-wide .fh-ico{margin:0;grid-row:span 2}.fh-b-wide h3{margin:0}
.fh-drop{margin-top:auto;padding:1.6rem 1rem;border:1.5px dashed color-mix(in srgb,var(--fv-primary) 45%,var(--fv-border-strong));border-radius:var(--fv-radius);background:var(--fv-surface-2);display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;color:var(--fv-muted);font-size:.82rem;margin-top:1.4rem}
.fh-drop i{width:34px;height:34px;border-radius:50%;background:var(--fv-primary);color:#fff;display:grid;place-items:center;font-size:.8rem}
@media (max-width:991.98px){.fh-bento{grid-template-columns:repeat(2,1fr)}.fh-bento>*,.fh-b-earn,.fh-b-wide{grid-column:span 1}.fh-b-upload{grid-column:span 2;grid-row:auto}.fh-b-wide{grid-column:span 2}}
@media (max-width:575.98px){.fh-bento{grid-template-columns:1fr}.fh-bento>*,.fh-b-upload,.fh-b-wide{grid-column:auto}.fh-b-wide{display:block}.fh-b-wide .fh-ico{margin-bottom:1.1rem}.fh-card{padding:1.25rem}}
/* steps */
.fh-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;position:relative}
.fh-steps li{position:relative;padding:1.4rem 0 0;border-top:2px solid var(--fv-border-strong)}
.fh-steps li::before{content:"";position:absolute;top:-6px;inset-inline-start:0;width:10px;height:10px;border-radius:50%;background:var(--fv-primary)}
.fh-num{display:block;font-size:clamp(2.6rem,5vw,3.6rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--fv-primary);margin-bottom:.9rem;font-variant-numeric:tabular-nums}
.fh-steps h3{font-size:1.1rem;margin-bottom:.45rem}.fh-steps p{color:var(--fv-muted);margin:0;font-size:.93rem;max-width:34ch}
@media (max-width:767.98px){
  .fh-steps{grid-template-columns:1fr;gap:0;padding-inline-start:1.5rem;border-inline-start:2px solid var(--fv-border-strong)}
  .fh-steps li{border-top:0;padding:0 0 1.9rem}.fh-steps li:last-child{padding-bottom:0}
  .fh-steps li::before{top:.55rem;inset-inline-start:calc(-1.5rem - 6px)}
  .fh-num{font-size:2.3rem;margin-bottom:.4rem}
}
/* earnings */
.fh-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.fh-split h2{margin-bottom:.9rem}
.fh-rules{display:grid;gap:1rem}
.fh-rule{border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);background:var(--fv-surface);padding:1.3rem 1.4rem}
.fh-rule h3{font-size:.95rem;display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem}
.fh-rule-yes h3 i{color:var(--fv-success)}.fh-rule-no h3 i{color:var(--fv-muted)}
.fh-rule ul{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}
.fh-rule li{position:relative;padding-inline-start:1.2rem;font-size:.92rem;color:var(--fv-muted)}
.fh-rule li::before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--fv-border-strong)}
.fh-rule-yes li::before{background:var(--fv-success)}
@media (max-width:991.98px){.fh-split{grid-template-columns:1fr}}
/* security (dark) */
.fh-dark{background:#0D1220;color:#E7EBF5;position:relative;overflow:hidden;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px}
.fh-dark h2{color:#fff}.fh-dark .fh-kicker{color:#A9A4FF}
.fh-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.fh-tile{padding:1.4rem;border-radius:var(--fv-radius-lg);background:rgba(20,27,43,.85);border:1px solid rgba(255,255,255,.09)}
.fh-tile i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(169,164,255,.12);color:#B9B5FF;margin-bottom:1rem}
.fh-tile h3{font-size:.98rem;color:#fff;margin-bottom:.35rem}.fh-tile p{margin:0;font-size:.86rem;color:#9AA5BE}
@media (max-width:991.98px){.fh-grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575.98px){.fh-grid4{grid-template-columns:1fr;gap:.7rem}.fh-tile{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;padding:1.1rem}.fh-tile i{grid-row:span 2;margin:0}.fh-tile h3{margin:0}}
/* referral */
.fh-refer{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;justify-content:space-between;padding:clamp(1.5rem,4vw,2.5rem);border-radius:var(--fv-radius-lg);border:1px solid var(--fv-border);background:var(--fv-surface);
  background-image:radial-gradient(var(--fv-border) 1px,transparent 1px);background-size:16px 16px}
.fh-refer>div{max-width:620px}.fh-refer h2{font-size:clamp(1.35rem,2.4vw,1.8rem);margin-bottom:.5rem}.fh-refer p{margin:0;color:var(--fv-muted)}
@media (max-width:575.98px){.fh-refer .btn{width:100%}}
/* withdrawal methods */
.fh-methods{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}
.fh-methods li{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border:1px solid var(--fv-border);border-radius:var(--fv-radius);background:var(--fv-surface)}
.fh-methods img{width:44px;height:44px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--fv-border);padding:3px;flex:none}
.fh-methods b{display:block;font-size:.9rem}.fh-methods small{color:var(--fv-muted);font-size:.76rem}
@media (max-width:575.98px){.fh-methods{grid-template-columns:1fr 1fr}.fh-methods li{flex-direction:column;align-items:flex-start;gap:.6rem}}
/* faq */
.fh-split-faq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.fh-split-faq .fh-head{position:sticky;top:calc(var(--fv-nav-h) + 1.5rem);margin:0}
.fh-faq .accordion-item{margin-bottom:.6rem}
.fh-faq .accordion-button{min-height:58px;padding:1rem 1.25rem;font-size:.98rem;line-height:1.4;gap:.75rem}
.fh-faq .accordion-body{padding:.25rem 1.25rem 1.3rem;line-height:1.7}
@media (max-width:991.98px){.fh-split-faq{grid-template-columns:1fr}.fh-split-faq .fh-head{position:static;margin-bottom:1.25rem}}
@media (max-width:575.98px){.fh-faq .accordion-button{font-size:.94rem;padding:.95rem 1rem}.fh-faq .accordion-body{padding:.1rem 1rem 1.15rem;font-size:.92rem}}
/* final CTA */
.fh-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2rem;padding:clamp(1.75rem,5vw,3.25rem);border-radius:var(--fv-radius-lg);background:var(--fv-primary);color:#fff;position:relative;overflow:hidden}
.fh-cta::after{content:"";position:absolute;inset-inline-end:-60px;top:-60px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 36px rgba(255,255,255,.05),0 0 0 72px rgba(255,255,255,.04);pointer-events:none}
.fh-cta>*{position:relative;z-index:1}.fh-cta h2{color:#fff;font-size:clamp(1.45rem,3vw,2.1rem);margin-bottom:.4rem;max-width:22ch}.fh-cta p{margin:0;opacity:.85;max-width:44ch}
.fh-cta .btn-light{--bs-btn-color:var(--fv-primary);--bs-btn-bg:#fff;--bs-btn-border-color:#fff;--bs-btn-hover-bg:#F0EEFF;--bs-btn-hover-color:var(--fv-primary);font-weight:700}
@media (max-width:575.98px){.fh-cta .btn{width:100%}}
.fh-hero-copy,.fh-visual{min-width:0}
.fh-hero h1{overflow-wrap:anywhere}
@media (max-width:575.98px){
  .fh-bento .fh-card:not(.fh-b-upload){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;align-items:start;padding:1.1rem}
  .fh-bento .fh-card:not(.fh-b-upload) .fh-ico{grid-row:span 2;margin:0}
  .fh-bento .fh-card:not(.fh-b-upload) h3{margin:0 0 .3rem;font-size:1rem}
  .fh-bento .fh-card:not(.fh-b-upload) p{font-size:.88rem}
  .fh-bento{gap:.7rem}
}
/* Part 8: blog ("fb-" = Filevo blog) */
.fb-page{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,6vw,5rem)}
.fb-narrow{max-width:640px;margin-inline:auto}
.fb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-size:.78rem;color:var(--fv-muted)}
.fb-meta i{margin-inline-end:.4rem;font-size:.85em}
.fb-tag{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;background:var(--fv-primary-soft);color:var(--fv-primary);font-size:.72rem;font-weight:700;letter-spacing:.01em;line-height:1.4}
a.fb-tag:hover{background:var(--fv-primary);color:#fff}
.fb-none{margin:0;color:var(--fv-muted);font-size:.9rem;text-align:center;padding:.5rem 0}
.fb-results{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0 0 1.25rem;color:var(--fv-muted);font-size:.92rem}
.fb-results strong{color:var(--fv-text)}
.fb-clear{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;background:var(--fv-surface-2);border:1px solid var(--fv-border);color:var(--fv-muted);font-size:.7rem}
.fb-clear:hover{border-color:var(--fv-danger);color:var(--fv-danger)}
/* grid + cards */
.fb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.fb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fb-card{position:relative;display:flex;flex-direction:column;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);overflow:hidden;transition:border-color .2s,transform .25s,box-shadow .25s}
.fb-card:hover{border-color:color-mix(in srgb,var(--fv-primary) 40%,var(--fv-border));transform:translateY(-3px);box-shadow:var(--fv-shadow-lg)}
.fb-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--fv-surface-2)}
.fb-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.fb-card:hover .fb-card-media img{transform:scale(1.04)}
.fb-card-body{display:flex;flex-direction:column;gap:.6rem;flex:1;padding:1.1rem 1.2rem 1.25rem}
.fb-card-title{margin:0;font-size:1.05rem;line-height:1.35;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-card-title a{color:var(--fv-text)}.fb-card-title a::after{content:"";position:absolute;inset:0}
.fb-card:hover .fb-card-title a{color:var(--fv-primary)}
.fb-card-text{margin:0;color:var(--fv-muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fb-more{margin-top:auto;padding-top:.35rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--fv-primary)}
.fb-more i{font-size:.75rem;transition:transform .2s}.fb-card:hover .fb-more i{transform:translateX(4px)}
[dir="rtl"] .fb-card:hover .fb-more i{transform:scaleX(-1) translateX(4px)}
.fb-pagination{margin-top:2rem}
/* side column */
.fb-side{display:grid;gap:1.1rem;align-content:start}
@media (min-width:1200px){.fb-side{position:sticky;top:calc(var(--fv-nav-h) + 1.25rem)}}
.fb-panel{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.2rem 1.25rem}
.fb-panel-title{display:flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:700;margin:0 0 .9rem;letter-spacing:-.005em}
.fb-panel-title i{color:var(--fv-primary)}
.fb-count{margin-inline-start:.1rem;min-width:24px;height:24px;padding:0 .45rem;border-radius:999px;background:var(--fv-primary-soft);color:var(--fv-primary);font-size:.74rem;display:inline-grid;place-items:center}
/* search */
.fb-search{position:relative;display:flex;gap:.5rem;align-items:center}
.fb-search-icon{position:absolute;inset-inline-start:.95rem;top:50%;transform:translateY(-50%);color:var(--fv-muted);pointer-events:none;font-size:.85rem}
.fb-search .form-control{padding-inline-start:2.5rem;min-height:46px}
.fb-search .btn{flex:none;width:46px;height:46px;padding:0}
.fb-search input::-webkit-search-cancel-button{display:none}
/* categories */
.fb-cats{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.fb-cats a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;border-radius:var(--fv-radius-sm);color:var(--fv-text);font-size:.9rem;font-weight:600;transition:background .15s,color .15s}
.fb-cats a i{font-size:.65rem;color:var(--fv-muted);transition:transform .2s}
.fb-cats a:hover{background:var(--fv-primary-soft);color:var(--fv-primary)}.fb-cats a:hover i{color:var(--fv-primary);transform:translateX(3px)}
[dir="rtl"] .fb-cats a i{transform:scaleX(-1)}[dir="rtl"] .fb-cats a:hover i{transform:scaleX(-1) translateX(3px)}
/* popular */
.fb-mini{display:flex;gap:.85rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--fv-border);color:var(--fv-text)}
.fb-mini:last-child{border-bottom:0;padding-bottom:0}.fb-mini:first-of-type{padding-top:0}
.fb-mini img{width:68px;height:68px;border-radius:12px;object-fit:cover;flex:none;background:var(--fv-surface-2)}
.fb-mini span{min-width:0}.fb-mini b{display:block;font-size:.88rem;line-height:1.35;font-weight:700;transition:color .15s}
.fb-mini small{display:block;margin-top:.3rem;font-size:.74rem;color:var(--fv-muted)}.fb-mini small i{margin-inline-end:.35rem}
.fb-mini:hover b{color:var(--fv-primary)}
/* article */
.fb-crumbs{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--fv-muted);margin-bottom:1.25rem}
.fb-crumbs a{color:var(--fv-muted);font-weight:600}.fb-crumbs a:hover{color:var(--fv-primary)}.fb-crumbs i{font-size:.6rem}
[dir="rtl"] .fb-crumbs i{transform:scaleX(-1)}
.fb-article{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:clamp(1.15rem,3.5vw,2.25rem)}
.fb-article-head{display:grid;gap:.85rem;justify-items:start;margin-bottom:1.35rem}
.fb-article-head h1{font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.2;letter-spacing:-.025em;margin:0}
.fb-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--fv-radius);margin-bottom:1.5rem;background:var(--fv-surface-2)}
.blog-content{font-size:1.02rem;line-height:1.85;color:var(--fv-text);overflow-wrap:anywhere}
.blog-content>*:first-child{margin-top:0}
.blog-content h2,.blog-content h3,.blog-content h4{margin:2rem 0 .8rem;line-height:1.3}
.blog-content h2{font-size:1.5rem}.blog-content h3{font-size:1.25rem}.blog-content h4{font-size:1.08rem}
.blog-content p{margin:0 0 1.1rem}
.blog-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.blog-content img,.blog-content video,.blog-content iframe{max-width:100%;height:auto;border-radius:var(--fv-radius);margin:.5rem 0}
.blog-content ul,.blog-content ol{padding-inline-start:1.4rem;margin:0 0 1.1rem}.blog-content li{margin-bottom:.4rem}
.blog-content blockquote{margin:1.4rem 0;padding:.9rem 1.2rem;border-inline-start:4px solid var(--fv-primary);background:var(--fv-primary-soft);border-radius:0 var(--fv-radius-sm) var(--fv-radius-sm) 0;color:var(--fv-text)}
[dir="rtl"] .blog-content blockquote{border-radius:var(--fv-radius-sm) 0 0 var(--fv-radius-sm)}
.blog-content pre{background:#0D1220;color:#E7EBF5;padding:1rem 1.15rem;border-radius:var(--fv-radius);overflow-x:auto;font-size:.86rem;direction:ltr;text-align:left}
.blog-content code{font-size:.88em;background:var(--fv-surface-2);padding:.12em .4em;border-radius:6px;border:1px solid var(--fv-border)}.blog-content pre code{background:none;border:0;padding:0}
.blog-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 1.2rem}
.blog-content th,.blog-content td{border:1px solid var(--fv-border);padding:.55rem .8rem;white-space:nowrap}.blog-content th{background:var(--fv-surface-2)}
.blog-content hr{margin:2rem 0}
.fb-share{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--fv-border)}
.fb-share>span{font-size:.85rem;font-weight:700}
/* comments */
.fb-comments{margin-top:1.5rem;background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.25rem clamp(1.15rem,3vw,1.75rem)}
.fb-comment{display:flex;gap:.9rem;padding:1rem 0;border-top:1px solid var(--fv-border)}
.fb-comments .fb-panel-title+.fb-comment{border-top:0;padding-top:.25rem}
.fb-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--fv-border);background:var(--fv-surface-2)}
.fb-comment-main{min-width:0;flex:1}
.fb-comment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .75rem;margin-bottom:.3rem}
.fb-comment-head b{font-size:.92rem}.fb-comment-head time{font-size:.76rem;color:var(--fv-muted)}
.fb-comment p{margin:0;font-size:.92rem;line-height:1.7;color:var(--fv-text);overflow-wrap:anywhere}
.fb-reply{margin-top:1rem}
.fb-reply textarea{padding:.9rem 1rem}
.fb-login{text-align:center;display:grid;gap:.6rem;justify-items:center;padding:.5rem 0}
.fb-login>i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--fv-primary-soft);color:var(--fv-primary);font-size:1.2rem}
.fb-login p{margin:0;color:var(--fv-muted);font-size:.92rem}
/* responsive */
@media (max-width:991.98px){.fb-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){
  .fb-grid,.fb-grid-3{grid-template-columns:minmax(0,1fr);gap:1rem}
  .fb-card-body{padding:1rem 1.05rem 1.15rem}
  .fb-article{padding:1.1rem}.blog-content{font-size:1rem;line-height:1.8}
  .fb-comments{padding:1.1rem}.fb-avatar{width:38px;height:38px}
}
.blog-content code{color:var(--fv-text)}
/* Part 9: stats band + motion. Everything animated is progressive: content is visible without JS and under reduced motion. */
.fh-stats-wrap{position:relative;z-index:2;margin-top:-1.75rem;padding-bottom:.5rem}
.fh-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));background:var(--fv-sidebar);border-radius:var(--fv-radius-lg);
  border:1px solid rgba(255,255,255,.07);box-shadow:var(--fv-shadow-lg);overflow:hidden}
.fh-stats li{display:flex;align-items:center;gap:.9rem;padding:1.15rem 1.35rem;position:relative;color:#fff}
.fh-stats li+li::before{content:"";position:absolute;inset-inline-start:0;top:22%;bottom:22%;width:1px;background:rgba(255,255,255,.09)}
.fh-stat-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;background:rgba(169,164,255,.14);color:#B9B5FF;font-size:1rem}
.fh-stats small{display:block;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8E9AB4}
.fh-stat-num{display:block;font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:800;letter-spacing:-.025em;line-height:1.2;font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
@media (max-width:767.98px){
  .fh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fh-stats li{padding:1rem .9rem;gap:.7rem}
  .fh-stats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.09)}
  .fh-stats li:nth-child(odd)::before{display:none}.fh-stats li:nth-child(even)::before{display:block;top:18%;bottom:18%}
  .fh-stat-ico{width:36px;height:36px;font-size:.9rem}
}
@media (max-width:359.98px){.fh-stats{grid-template-columns:minmax(0,1fr)}.fh-stats li:nth-child(n+2){border-top:1px solid rgba(255,255,255,.09)}.fh-stats li::before{display:none!important}}
/* scroll reveal */
html.fv-js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*80ms);will-change:opacity,transform}
html.fv-js [data-reveal].is-in{opacity:1;transform:none;will-change:auto}
.fh-stats li{transition:background .2s}.fh-stats li:hover{background:rgba(255,255,255,.04)}
/* interaction polish */
.btn-primary,.btn-outline-secondary,.btn-light{transition:transform .18s,box-shadow .18s,background .15s,border-color .15s,color .15s}
.fh-actions .btn:hover,.fh-cta .btn:hover,.fh-refer .btn:hover{transform:translateY(-2px)}
.fh-quick i{transition:transform .25s}.fh-quick:hover i{transform:translateY(-3px)}
.fh-ico{transition:transform .3s cubic-bezier(.2,.7,.2,1),background .2s,color .2s}
.fh-card:hover .fh-ico{transform:translateY(-3px) rotate(-6deg);background:var(--fv-primary);color:#fff}
.fh-b-earn:hover .fh-ico{background:var(--fv-primary)}
.fh-tile{transition:transform .25s,border-color .25s,background .25s}.fh-tile:hover{transform:translateY(-4px);border-color:rgba(169,164,255,.4);background:rgba(26,34,56,.95)}
.fh-methods li{transition:transform .2s,border-color .2s}.fh-methods li:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--fv-primary) 45%,var(--fv-border))}
.fh-num{transition:color .3s}.fh-steps li:hover .fh-num{color:var(--fv-primary)}
.fh-steps li::before{transition:transform .3s}.fh-steps li:hover::before{transform:scale(1.8)}
.fh-rule{transition:transform .25s,border-color .25s}.fh-rule:hover{transform:translateX(4px);border-color:var(--fv-border-strong)}
[dir="rtl"] .fh-rule:hover{transform:translateX(-4px)}
.fh-faq .accordion-button::after{transition:transform .3s}
.fh-faq .accordion-item{transition:border-color .2s,box-shadow .2s}.fh-faq .accordion-item:has(.accordion-button:not(.collapsed)){border-color:color-mix(in srgb,var(--fv-primary) 40%,var(--fv-border));box-shadow:var(--fv-shadow)}
.fh-dark .fh-tile i{transition:transform .3s}.fh-tile:hover i{transform:scale(1.12) rotate(-5deg)}
@media (prefers-reduced-motion:no-preference){
  /* hero entrance */
  .fh-chip,.fh-hero h1,.fh-lead,.fh-actions,.fh-quick{animation:fhUp .8s cubic-bezier(.2,.7,.2,1) both}
  .fh-chip{animation-delay:.05s}.fh-hero h1{animation-delay:.14s}.fh-lead{animation-delay:.24s}.fh-actions{animation-delay:.34s}.fh-quick{animation-delay:.44s}
  .fh-sheet{animation:fhIn .9s cubic-bezier(.2,.7,.2,1) .2s both,fhFloat 7s ease-in-out 1.2s infinite}
  .fh-log{animation:fhIn .9s cubic-bezier(.2,.7,.2,1) .45s both,fhFloat 8s ease-in-out 1.6s infinite reverse}
  .fh-spark{animation:fhIn .9s cubic-bezier(.2,.7,.2,1) .6s both,fhFloat 9s ease-in-out 2s infinite}
  .fh-spark path{stroke-dasharray:200;stroke-dashoffset:200;animation:fhDraw 1.6s ease .9s forwards,fhDrawLoop 6s ease-in-out 3s infinite}
  .fh-bar i{animation:fhBar 4.2s ease-in-out infinite}
  .fh-pct{animation:fhBlink 4.2s ease-in-out infinite}
  .fh-log-row{animation:fhRow 6s ease-in-out infinite}.fh-log-row:nth-of-type(2){animation-delay:0s}.fh-log-row:nth-of-type(3){animation-delay:2s}.fh-log-row:nth-of-type(4){animation-delay:4s}
  .fh-chip i{animation:fhPulse 2s ease-in-out infinite}
  .fh-drop i{animation:fhNudge 2.4s ease-in-out infinite}
  .fh-cta::after{animation:fhRing 9s ease-in-out infinite}
  .fh-stats li:first-child .fh-stat-ico{animation:fhPulseSoft 2.4s ease-in-out infinite}
}
@keyframes fhUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fhIn{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fhFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes fhDraw{to{stroke-dashoffset:0}}
@keyframes fhDrawLoop{0%,70%{stroke-dashoffset:0}85%{stroke-dashoffset:200}100%{stroke-dashoffset:0}}
@keyframes fhBar{0%{width:8%}60%{width:68%}85%,100%{width:100%}}
@keyframes fhBlink{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes fhRow{0%,28%,100%{background:transparent}6%,22%{background:var(--fv-surface-2)}}
@keyframes fhPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--fv-primary) 45%,transparent)}50%{box-shadow:0 0 0 6px transparent}}
@keyframes fhPulseSoft{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes fhNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes fhRing{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media (max-width:575.98px){.fh-stat-num{font-size:1.15rem}.fh-stats small{font-size:.66rem;letter-spacing:.03em}}
/* Part 10: payment proof + payout rates ("fp-") */
.fp-page{padding:clamp(1.75rem,5vw,4rem) 0 clamp(2.5rem,6vw,5rem);
  background-image:linear-gradient(var(--fv-border) 1px,transparent 1px),linear-gradient(90deg,var(--fv-border) 1px,transparent 1px);background-size:44px 44px;background-repeat:no-repeat;background-position:-1px -1px;
  -webkit-mask-image:none}
.fp-page>.container{position:relative}
.fp-head{max-width:700px;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.fp-head h1{font-size:clamp(1.8rem,4.2vw,2.8rem);line-height:1.12;letter-spacing:-.03em;margin:0 0 .8rem}
.fp-head p{margin:0;color:var(--fv-muted);font-size:1.02rem;max-width:58ch}
/* stats */
.fp-stats{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--fv-sidebar);border-radius:var(--fv-radius-lg);border:1px solid rgba(255,255,255,.07);box-shadow:var(--fv-shadow-lg);overflow:hidden}
.fp-stats li{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem;color:#fff;position:relative}
.fp-stats li+li::before{content:"";position:absolute;inset-inline-start:0;top:22%;bottom:22%;width:1px;background:rgba(255,255,255,.09)}
.fp-stat-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;background:rgba(169,164,255,.14);color:#B9B5FF;font-size:1.05rem}
.fp-stats small{display:block;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#8E9AB4}
.fp-stats b{display:block;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;letter-spacing:-.025em;line-height:1.2;font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
@media (max-width:575.98px){.fp-stats{grid-template-columns:minmax(0,1fr)}.fp-stats li+li{border-top:1px solid rgba(255,255,255,.09)}.fp-stats li+li::before{display:none}.fp-stats li{padding:1rem 1.1rem}}
/* card / table */
.fp-card{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);overflow:hidden}
.fp-table-wrap{overflow-x:auto}
.fp-table{width:100%;border-collapse:collapse;font-size:.92rem}
.fp-table th{padding:.9rem 1.25rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fv-muted);background:var(--fv-surface-2);border-bottom:1px solid var(--fv-border);text-align:start;white-space:nowrap}
.fp-table td{padding:.95rem 1.25rem;border-bottom:1px solid var(--fv-border);vertical-align:middle}
.fp-table tbody tr{transition:background .15s}.fp-table tbody tr:hover{background:var(--fv-surface-2)}.fp-table tbody tr:last-child td{border-bottom:0}
.fp-num{text-align:end!important}
.fp-user{display:inline-flex;align-items:center;gap:.75rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;direction:ltr;unicode-bidi:isolate}
.fp-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--fv-primary-soft);color:var(--fv-primary);font-family:var(--fv-font);font-weight:800;font-size:.82rem}
.fp-method{display:inline-flex;padding:.28rem .7rem;border-radius:999px;background:var(--fv-surface-2);border:1px solid var(--fv-border);font-size:.78rem;font-weight:600}
.fp-amount{display:inline-flex;align-items:center;gap:.5rem;color:var(--fv-success);font-variant-numeric:tabular-nums}
.fp-amount i{font-size:.8rem}
@media (max-width:640px){
  .fp-table thead{display:none}
  .fp-table,.fp-table tbody{display:block}
  .fp-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;padding:.95rem 1rem;border-bottom:1px solid var(--fv-border);align-items:center}
  .fp-table tbody tr:last-child{border-bottom:0}
  .fp-table td{display:block;padding:0;border:0}
  .fp-table td:nth-child(1){grid-column:1}.fp-table td:nth-child(4){grid-column:2;grid-row:1}
  .fp-table td:nth-child(2){grid-column:1;grid-row:2;font-size:.8rem;color:var(--fv-muted)}
  .fp-table td:nth-child(3){grid-column:2;grid-row:2;justify-self:end}
  .fp-table td:nth-child(3) .fp-method{padding:.15rem .55rem;font-size:.72rem}
}
/* payout rates */
.fp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}
.fp-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:1.25rem;align-items:start}
.fp-calc{background:var(--fv-surface);border:1px solid var(--fv-border);border-radius:var(--fv-radius-lg);padding:1.35rem;position:sticky;top:calc(var(--fv-nav-h) + 1.25rem)}
.fp-calc-out{margin-top:1.25rem;padding:1.1rem 1.2rem;border-radius:var(--fv-radius);background:var(--fv-primary-soft);border:1px solid color-mix(in srgb,var(--fv-primary) 18%,transparent)}
.fp-calc-out small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fv-muted)}
.fp-calc-out b{display:block;font-size:clamp(1.7rem,4vw,2.2rem);font-weight:800;letter-spacing:-.03em;color:var(--fv-primary);font-variant-numeric:tabular-nums;unicode-bidi:plaintext;overflow-wrap:anywhere}
.fp-calc-note{margin:.9rem 0 0;font-size:.78rem;color:var(--fv-muted);line-height:1.6}
.fp-rates-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--fv-border)}
.fp-filter{width:min(260px,100%)}
.fp-rate-list{list-style:none;margin:0;padding:0;max-height:640px;overflow-y:auto}
.fp-rate{display:flex;align-items:center;gap:.9rem;padding:.8rem 1.25rem;border-bottom:1px solid var(--fv-border);transition:background .15s}
.fp-rate[hidden]{display:none}.fp-rate:last-child{border-bottom:0}.fp-rate:hover{background:var(--fv-surface-2)}
.fp-flag{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--fv-border);background:var(--fv-surface-2)}
.fp-rate-name{flex:1;min-width:0;font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-rate-val{display:flex;flex-direction:column;align-items:flex-end;font-weight:800;font-size:1rem;color:var(--fv-primary);font-variant-numeric:tabular-nums;line-height:1.25;unicode-bidi:plaintext}
.fp-rate-val small{font-weight:500;font-size:.68rem;color:var(--fv-muted)}
.fp-rates .fb-none{padding:1.5rem}
.fp-block{margin-top:clamp(2.5rem,6vw,4.5rem)}
.fp-cta{margin-top:clamp(2.5rem,6vw,4.5rem)}
@media (max-width:991.98px){.fp-grid{grid-template-columns:minmax(0,1fr)}.fp-calc{position:static}}
@media (max-width:575.98px){.fp-rate{padding:.75rem 1rem}.fp-rates-head{padding:1rem}.fp-flag{width:30px;height:30px}.fp-rate-val{font-size:.95rem}}
@media (max-width:575.98px){
  .fp-facts{gap:.7rem}
  .fp-facts .fh-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;align-items:start;padding:1.1rem}
  .fp-facts .fh-card .fh-ico{grid-row:span 2;margin:0}.fp-facts .fh-card h3{margin:0 0 .3rem;font-size:1rem}.fp-facts .fh-card p{font-size:.88rem}
}
