﻿:root {
    --ink: #172621;
    --ink-soft: #53645e;
    --forest: #174c3c;
    --forest-dark: #10382d;
    --forest-light: #26725a;
    --sage: #dfece5;
    --sage-soft: #eef5f1;
    --cream: #f7f4ec;
    --paper: #ffffff;
    --gold: #d39a45;
    --gold-soft: #fbf0de;
    --danger: #c9584f;
    --danger-soft: #fae8e6;
    --blue: #397a8b;
    --blue-soft: #e5f1f4;
    --line: #dfe7e2;
    --shadow-sm: 0 8px 24px rgba(24, 61, 49, .07);
    --shadow-md: 0 18px 50px rgba(24, 61, 49, .11);
    --radius-lg: 24px;
    --radius-md: 16px;
    --radius-sm: 12px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--cream); }
body {
    min-height: 100vh;
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: 'DM Sans', 'Segoe UI', sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

h1, h2, h3, h4, h5, h6, .brand-name, .topbar-title {
    font-family: 'Manrope', 'Segoe UI', sans-serif;
    letter-spacing: -.025em;
}

a { color: inherit; }

.app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
}

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 280px;
    padding: 28px 20px 22px;
    display: flex;
    flex-direction: column;
    color: #f7fbf8;
    background:
        radial-gradient(circle at 85% 10%, rgba(211,154,69,.23), transparent 28%),
        linear-gradient(165deg, #173f34 0%, #0e2f27 100%);
    overflow-y: auto;
    z-index: 1000;
}

.brand-block {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 4px 27px;
}

.brand-mark {
    width: 56px;
    height: 56px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    font-size: 20px;
    background: linear-gradient(145deg, #e5b86d, #c98d36);
    color: #18372f;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.brand-name { font-size: 27px; font-weight: 800; line-height: 1.05; }
.brand-subtitle { margin-top: 5px; color: rgba(255,255,255,.64); font-size: 12px; }
.nav-label {
    padding: 0 12px 10px;
    color: rgba(255,255,255,.42);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.menu { display: grid; gap: 6px; }
.menu a {
    min-height: 50px;
    padding: 9px 12px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.72);
    text-decoration: none !important;
    font-weight: 650;
    transition: .22s ease;
}
.menu a:hover {
    color: #fff;
    background: rgba(255,255,255,.08);
    transform: translateX(2px);
}
.menu a.active {
    color: #17392f;
    background: #f4ead8;
    box-shadow: 0 10px 26px rgba(0,0,0,.12);
}
.nav-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-size: 14px;
    background: rgba(255,255,255,.08);
}
.menu a.active .nav-icon { color: #174c3c; background: rgba(23,76,60,.10); }
.sidebar-card {
    margin-top: auto;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(8px);
}
.sidebar-card-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #2f4a40;
    background: #e4b96f;
    border-radius: 11px;
    margin-bottom: 12px;
}
.sidebar-card-title { font-family: 'Manrope', sans-serif; font-weight: 750; }
.sidebar-card-text { margin-top: 5px; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.55; }

.app-main {
    grid-column: 2;
    min-width: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.topbar {
    min-height: 88px;
    padding: 19px clamp(24px, 4vw, 56px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid rgba(23,76,60,.08);
    background: rgba(247,244,236,.88);
    backdrop-filter: blur(14px);
    position: sticky;
    top: 0;
    z-index: 900;
}
.topbar-kicker { color: var(--forest-light); font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.topbar-title { margin-top: 2px; font-size: 18px; font-weight: 800; }
.topbar-badge {
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--forest);
    background: rgba(255,255,255,.72);
    box-shadow: var(--shadow-sm);
    font-size: 12px;
    font-weight: 750;
}
.topbar-badge i { color: var(--gold); margin-right: 6px; }

.content-wrapper {
    flex: 1;
    width: 100%;
    padding: 34px clamp(24px, 4vw, 56px) 46px;
}
.content { width: 100%; max-width: 1320px; margin: 0 auto; }
.footer {
    min-height: 64px;
    padding: 18px clamp(24px, 4vw, 56px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid rgba(23,76,60,.08);
    color: #75827d;
    font-size: 12px;
}
.footer-status { display: flex; align-items: center; gap: 8px; }
.footer-status span { width: 8px; height: 8px; border-radius: 50%; background: #4e9a72; box-shadow: 0 0 0 4px rgba(78,154,114,.12); }

/* Reusable page elements */
.page-heading {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}
.page-eyebrow {
    margin-bottom: 7px;
    color: var(--forest-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.page-heading h1, .page-heading h2 { margin: 0; color: var(--ink); font-size: clamp(30px, 4vw, 44px); font-weight: 800; }
.page-heading p { margin: 7px 0 0; color: var(--ink-soft); font-size: 15px; }
.page-chip {
    flex: 0 0 auto;
    padding: 11px 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.75);
    color: var(--forest);
    font-size: 12px;
    font-weight: 750;
    box-shadow: var(--shadow-sm);
}
.page-chip i { margin-right: 7px; color: var(--gold); }

.panel-card, .control-panel, .data-container, .edit-panel, .admin-section.card, .login-panel {
    border: 1px solid rgba(23,76,60,.10) !important;
    border-radius: var(--radius-lg) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Forms */
input[type=text], input[type=password], input[type=email], input[type=number], input[type=date], select, textarea,
.form-control, .form-input, .search-input {
    width: 100%;
    max-width: none;
    min-height: 46px;
    padding: 11px 14px;
    color: var(--ink);
    background: #fbfcfb;
    border: 1px solid #d5e0da;
    border-radius: 12px;
    outline: none;
    font: inherit;
    transition: border-color .18s, box-shadow .18s, background .18s;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus, .form-control:focus, .form-input:focus, .search-input:focus {
    border-color: #5d9b82;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(38,114,90,.11);
}
.form-group { margin-bottom: 17px; }
.form-group label, .field-label {
    display: block;
    margin-bottom: 7px;
    color: #32463f;
    font-size: 13px;
    font-weight: 750;
}
.validation-error, .invalid-feedback { display: block; margin-top: 6px; color: var(--danger); font-size: 12px; }

/* Buttons */
.btn, .button, .btn-action, input[type=submit].button {
    min-height: 44px;
    padding: 10px 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 12px;
    text-decoration: none !important;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 750;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover, .button:hover, .btn-action:hover { transform: translateY(-1px); filter: brightness(.98); }
.btn-primary, .btn-action.primary, .button, input.button {
    color: #fff !important;
    background: linear-gradient(135deg, var(--forest), var(--forest-light)) !important;
    box-shadow: 0 9px 20px rgba(23,76,60,.18);
}
.btn-action.success, .btn-success { color: #173b2f !important; background: #dcefe5 !important; border-color: #c4e1d2 !important; }
.btn-action.warning, .btn-warning { color: #704b14 !important; background: var(--gold-soft) !important; border-color: #efd4a8 !important; }
.btn-action.danger, .btn-danger { color: #8b332d !important; background: var(--danger-soft) !important; border-color: #efc4c0 !important; }
.btn-action.info, .btn-info { color: #245766 !important; background: var(--blue-soft) !important; border-color: #c8e1e7 !important; }
.btn-action.secondary, .btn-secondary { color: #44534e !important; background: #edf1ef !important; border-color: #d8e0dc !important; }
.btn-outline-primary { color: var(--forest) !important; border-color: #9dbbae !important; background: #fff !important; }
.btn-outline-danger { color: var(--danger) !important; border-color: #e6b3ae !important; background: #fff !important; }
.btn-outline-light { color: #fff !important; border: 1px solid rgba(255,255,255,.46) !important; background: rgba(255,255,255,.08) !important; }
.btn-outline-light:hover { color: var(--forest-dark) !important; background: #fff !important; }
.btn-lg { min-height: 50px; padding: 13px 20px; border-radius: 14px; }
.btn-sm { min-height: 34px; padding: 7px 10px; border-radius: 9px; }

/* Tables */
.table-responsive, .data-container { overflow-x: auto; }

/* Keep ASP.NET GridView rows compatible with Bootstrap */
.data-grid tr.row, .data-grid tr.alt-row { display: table-row; margin: 0; }
.data-grid tr.row > td, .data-grid tr.alt-row > td { flex: none; max-width: none; }

.gridview, .data-grid, .table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0;
    color: var(--ink);
    background: #fff;
    font-size: 13px;
}
.gridview th, .data-grid th, .table th, .data-grid .header {
    padding: 14px 15px !important;
    color: #ecf5f0 !important;
    background: #204f40 !important;
    border: 0 !important;
    text-align: left;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
}
.gridview th:first-child, .data-grid th:first-child, .table th:first-child { border-radius: 14px 0 0 0; }
.gridview th:last-child, .data-grid th:last-child, .table th:last-child { border-radius: 0 14px 0 0; }
.gridview td, .data-grid td, .table td {
    padding: 14px 15px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8eeea !important;
    vertical-align: middle;
}
.gridview tr:nth-child(even) td, .data-grid .alt-row td, .table-striped tbody tr:nth-of-type(odd) { background: #f7faf8; }
.gridview tr:hover td, .data-grid .row:hover td, .data-grid .alt-row:hover td, .table-hover tbody tr:hover { background: #edf6f1 !important; }
.pager { background: #fff !important; }
.pager td { padding: 16px !important; }
.pager a, .pager span {
    display: inline-grid;
    place-items: center;
    min-width: 34px;
    height: 34px;
    margin: 0 3px;
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
    text-decoration: none;
}
.pager a { color: var(--forest) !important; background: #fff; }
.pager span { color: #fff !important; background: var(--forest) !important; }
.empty-data { padding: 36px !important; color: var(--ink-soft) !important; text-align: center; }
.badge { padding: 7px 10px; border-radius: 999px; font-size: 11px; font-weight: 750; }
.badge-success { color: #236348; background: #dff2e7; }
.badge-secondary { color: #5d6965; background: #e9eeeb; }

@media (max-width: 980px) {
    .app-shell { display: block; }
    .sidebar {
        position: static;
        width: 100%;
        min-height: auto;
        padding: 16px 18px;
    }
    .brand-block { padding: 0 0 14px; }
    .brand-mark { width: 48px; height: 48px; }
    .brand-name { font-size: 24px; }
    .nav-label, .sidebar-card { display: none; }
    .menu { display: flex; overflow-x: auto; padding-bottom: 2px; }
    .menu a { min-width: max-content; min-height: 44px; padding: 7px 10px; }
    .app-main { grid-column: 1; }
    .topbar { position: static; min-height: 72px; padding: 14px 20px; }
    .content-wrapper { padding: 24px 18px 34px; }
}

@media (max-width: 640px) {
    .topbar-badge { display: none; }
    .topbar-title { font-size: 16px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .page-heading h1, .page-heading h2 { font-size: 30px; }
    .footer { align-items: flex-start; flex-direction: column; }
    .btn, .button, .btn-action { width: 100%; }
}


/* ============================================================
   Built-in SVG icon system (no internet or icon font required)
   ============================================================ */
.fas, .fa-solid {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    vertical-align: -.12em;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    font-family: inherit !important;
    font-style: normal;
    line-height: 1;
}
.fas::before, .fa-solid::before { content: none !important; display: none !important; }
.fa-border-all { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E"); }
.fa-book, .fa-book-bookmark, .fa-book-medical { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204.5A2.5%202.5%200%200%201%206.5%202H20v17H6.5A2.5%202.5%200%200%200%204%2021.5z%22%2F%3E%3Cpath%20d%3D%22M4%204.5v17%22%2F%3E%3Cpath%20d%3D%22M8%206h8%22%2F%3E%3Cpath%20d%3D%22M8%2010h7%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204.5A2.5%202.5%200%200%201%206.5%202H20v17H6.5A2.5%202.5%200%200%200%204%2021.5z%22%2F%3E%3Cpath%20d%3D%22M4%204.5v17%22%2F%3E%3Cpath%20d%3D%22M8%206h8%22%2F%3E%3Cpath%20d%3D%22M8%2010h7%22%2F%3E%3C%2Fsvg%3E"); }
.fa-book-open, .fa-book-open-reader { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205.5A3.5%203.5%200%200%201%206.5%202H11v17H6.5A3.5%203.5%200%200%200%203%2022z%22%2F%3E%3Cpath%20d%3D%22M21%205.5A3.5%203.5%200%200%200%2017.5%202H13v17h4.5A3.5%203.5%200%200%201%2021%2022z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205.5A3.5%203.5%200%200%201%206.5%202H11v17H6.5A3.5%203.5%200%200%200%203%2022z%22%2F%3E%3Cpath%20d%3D%22M21%205.5A3.5%203.5%200%200%200%2017.5%202H13v17h4.5A3.5%203.5%200%200%201%2021%2022z%22%2F%3E%3C%2Fsvg%3E"); }
.fa-bookmark { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203h12v18l-6-4-6%204z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203h12v18l-6-4-6%204z%22%2F%3E%3C%2Fsvg%3E"); }
.fa-user-group, .fa-users, .fa-users-gear { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-2a6%206%200%200%201%2012%200v2%22%2F%3E%3Cpath%20d%3D%22M16%205.5a3%203%200%200%201%200%205%22%2F%3E%3Cpath%20d%3D%22M17%2014a5%205%200%200%201%204%204v2%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-2a6%206%200%200%201%2012%200v2%22%2F%3E%3Cpath%20d%3D%22M16%205.5a3%203%200%200%201%200%205%22%2F%3E%3Cpath%20d%3D%22M17%2014a5%205%200%200%201%204%204v2%22%2F%3E%3C%2Fsvg%3E"); }
.fa-user, .fa-user-lock { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22%2F%3E%3C%2Fsvg%3E"); }
.fa-user-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-2a6%206%200%200%201%2010-4.5%22%2F%3E%3Cpath%20d%3D%22m15%2017%202%202%204-5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-2a6%206%200%200%201%2010-4.5%22%2F%3E%3Cpath%20d%3D%22m15%2017%202%202%204-5%22%2F%3E%3C%2Fsvg%3E"); }
.fa-user-pen { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-2a6%206%200%200%201%208-5.65%22%2F%3E%3Cpath%20d%3D%22m15%2017%205-5%202%202-5%205-3%201z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-2a6%206%200%200%201%208-5.65%22%2F%3E%3Cpath%20d%3D%22m15%2017%205-5%202%202-5%205-3%201z%22%2F%3E%3C%2Fsvg%3E"); }
.fa-address-book { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%2215%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%207h4M3%2012h4M3%2017h4%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%229%22%20r%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M9%2017a4%204%200%200%201%208%200%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%2215%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%207h4M3%2012h4M3%2017h4%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%229%22%20r%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M9%2017a4%204%200%200%201%208%200%22%2F%3E%3C%2Fsvg%3E"); }
.fa-chart-column, .fa-chart-simple, .fa-tachometer-alt { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020V10%22%2F%3E%3Cpath%20d%3D%22M10%2020V4%22%2F%3E%3Cpath%20d%3D%22M16%2020v-7%22%2F%3E%3Cpath%20d%3D%22M22%2020H2%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020V10%22%2F%3E%3Cpath%20d%3D%22M10%2020V4%22%2F%3E%3Cpath%20d%3D%22M16%2020v-7%22%2F%3E%3Cpath%20d%3D%22M22%2020H2%22%2F%3E%3C%2Fsvg%3E"); }
.fa-chart-line { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2018%209%2012l4%203%208-9%22%2F%3E%3Cpath%20d%3D%22M17%206h4v4%22%2F%3E%3Cpath%20d%3D%22M3%2021h18%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2018%209%2012l4%203%208-9%22%2F%3E%3Cpath%20d%3D%22M17%206h4v4%22%2F%3E%3Cpath%20d%3D%22M3%2021h18%22%2F%3E%3C%2Fsvg%3E"); }
.fa-chart-pie { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v10h10A10%2010%200%201%201%2012%202z%22%2F%3E%3Cpath%20d%3D%22M15%202.5A9.5%209.5%200%200%201%2021.5%209H15z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v10h10A10%2010%200%201%201%2012%202z%22%2F%3E%3Cpath%20d%3D%22M15%202.5A9.5%209.5%200%200%201%2021.5%209H15z%22%2F%3E%3C%2Fsvg%3E"); }
.fa-shield, .fa-shield-halved, .fa-user-shield { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202%2020%205v6c0%205-3.5%208.5-8%2011-4.5-2.5-8-6-8-11V5z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202%2020%205v6c0%205-3.5%208.5-8%2011-4.5-2.5-8-6-8-11V5z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-5%22%2F%3E%3C%2Fsvg%3E"); }
.fa-wand-magic-sparkles { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%203%201.4%204.1L17.5%208.5l-4.1%201.4L12%2014l-1.4-4.1-4.1-1.4%204.1-1.4z%22%2F%3E%3Cpath%20d%3D%22m19%2014%20.8%202.2L22%2017l-2.2.8L19%2020l-.8-2.2L16%2017l2.2-.8z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%203%201.4%204.1L17.5%208.5l-4.1%201.4L12%2014l-1.4-4.1-4.1-1.4%204.1-1.4z%22%2F%3E%3Cpath%20d%3D%22m19%2014%20.8%202.2L22%2017l-2.2.8L19%2020l-.8-2.2L16%2017l2.2-.8z%22%2F%3E%3C%2Fsvg%3E"); }
.fa-circle-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m8%2012%203%203%205-6%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m8%2012%203%203%205-6%22%2F%3E%3C%2Fsvg%3E"); }
.fa-circle-info { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%2011v6%22%2F%3E%3Cpath%20d%3D%22M12%207h.01%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%2011v6%22%2F%3E%3Cpath%20d%3D%22M12%207h.01%22%2F%3E%3C%2Fsvg%3E"); }
.fa-database { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%225%22%20rx%3D%228%22%20ry%3D%223%22%2F%3E%3Cpath%20d%3D%22M4%205v6c0%201.7%203.6%203%208%203s8-1.3%208-3V5%22%2F%3E%3Cpath%20d%3D%22M4%2011v6c0%201.7%203.6%203%208%203s8-1.3%208-3v-6%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%225%22%20rx%3D%228%22%20ry%3D%223%22%2F%3E%3Cpath%20d%3D%22M4%205v6c0%201.7%203.6%203%208%203s8-1.3%208-3V5%22%2F%3E%3Cpath%20d%3D%22M4%2011v6c0%201.7%203.6%203%208%203s8-1.3%208-3v-6%22%2F%3E%3C%2Fsvg%3E"); }
.fa-key { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2215%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22m11%2012%209-9%22%2F%3E%3Cpath%20d%3D%22m17%206%202%202%22%2F%3E%3Cpath%20d%3D%22m14%209%202%202%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2215%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22m11%2012%209-9%22%2F%3E%3Cpath%20d%3D%22m17%206%202%202%22%2F%3E%3Cpath%20d%3D%22m14%209%202%202%22%2F%3E%3C%2Fsvg%3E"); }
.fa-lock { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E"); }
.fa-magnifying-glass, .fa-search { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22m20%2020-4-4%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22m20%2020-4-4%22%2F%3E%3C%2Fsvg%3E"); }
.fa-pen, .fa-edit { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020h4l11-11-4-4L4%2016z%22%2F%3E%3Cpath%20d%3D%22m13%207%204%204%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020h4l11-11-4-4L4%2016z%22%2F%3E%3Cpath%20d%3D%22m13%207%204%204%22%2F%3E%3C%2Fsvg%3E"); }
.fa-trash-can, .fa-trash-alt { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16%22%2F%3E%3Cpath%20d%3D%22M9%207V4h6v3%22%2F%3E%3Cpath%20d%3D%22m7%207%201%2014h8l1-14%22%2F%3E%3Cpath%20d%3D%22M10%2011v6M14%2011v6%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16%22%2F%3E%3Cpath%20d%3D%22M9%207V4h6v3%22%2F%3E%3Cpath%20d%3D%22m7%207%201%2014h8l1-14%22%2F%3E%3Cpath%20d%3D%22M10%2011v6M14%2011v6%22%2F%3E%3C%2Fsvg%3E"); }
.fa-file-export { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203h7v7%22%2F%3E%3Cpath%20d%3D%22m21%203-9%209%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203h7v7%22%2F%3E%3Cpath%20d%3D%22m21%203-9%209%22%2F%3E%3Cpath%20d%3D%22M18%2013v6a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V8a2%202%200%200%201%202-2h6%22%2F%3E%3C%2Fsvg%3E"); }
.fa-sliders { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%226%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%226%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E"); }
.fa-table-list { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209h18M8%209v11M15%209v11%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209h18M8%209v11M15%209v11%22%2F%3E%3C%2Fsvg%3E"); }
.fa-arrow-right { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m14%207%205%205-5%205%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m14%207%205%205-5%205%22%2F%3E%3C%2Fsvg%3E"); }
.fa-arrow-right-arrow-left { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h14%22%2F%3E%3Cpath%20d%3D%22m14%203%204%204-4%204%22%2F%3E%3Cpath%20d%3D%22M20%2017H6%22%2F%3E%3Cpath%20d%3D%22m10%2013-4%204%204%204%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h14%22%2F%3E%3Cpath%20d%3D%22m14%203%204%204-4%204%22%2F%3E%3Cpath%20d%3D%22M20%2017H6%22%2F%3E%3Cpath%20d%3D%22m10%2013-4%204%204%204%22%2F%3E%3C%2Fsvg%3E"); }
.fa-feather-pointed { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%204c-5-3-11%201-13%205-2%204-1%208-4%2011%204-1%207-2%209-5%203-4%204-8%208-11z%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%204c-5-3-11%201-13%205-2%204-1%208-4%2011%204-1%207-2%209-5%203-4%204-8%208-11z%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E"); }
.fa-lightbulb { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2018h6%22%2F%3E%3Cpath%20d%3D%22M10%2022h4%22%2F%3E%3Cpath%20d%3D%22M8.5%2015.5A7%207%200%201%201%2015.5%2015.5L14%2018h-4z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2018h6%22%2F%3E%3Cpath%20d%3D%22M10%2022h4%22%2F%3E%3Cpath%20d%3D%22M8.5%2015.5A7%207%200%201%201%2015.5%2015.5L14%2018h-4z%22%2F%3E%3C%2Fsvg%3E"); }
.fa-sun { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202v2M12%2020v2M4.9%204.9l1.4%201.4M17.7%2017.7l1.4%201.4M2%2012h2M20%2012h2M4.9%2019.1l1.4-1.4M17.7%206.3l1.4-1.4%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202v2M12%2020v2M4.9%204.9l1.4%201.4M17.7%2017.7l1.4%201.4M2%2012h2M20%2012h2M4.9%2019.1l1.4-1.4M17.7%206.3l1.4-1.4%22%2F%3E%3C%2Fsvg%3E"); }
.fa-door-open { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021h16%22%2F%3E%3Cpath%20d%3D%22M6%2021V4l10-2v19%22%2F%3E%3Cpath%20d%3D%22M16%2021h3V5h-3%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2212%22%20r%3D%22.6%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021h16%22%2F%3E%3Cpath%20d%3D%22M6%2021V4l10-2v19%22%2F%3E%3Cpath%20d%3D%22M16%2021h3V5h-3%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2212%22%20r%3D%22.6%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"); }
.fa-layer-group { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%202%209%205-9%205-9-5z%22%2F%3E%3Cpath%20d%3D%22m3%2012%209%205%209-5%22%2F%3E%3Cpath%20d%3D%22m3%2017%209%205%209-5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%202%209%205-9%205-9-5z%22%2F%3E%3Cpath%20d%3D%22m3%2012%209%205%209-5%22%2F%3E%3Cpath%20d%3D%22m3%2017%209%205%209-5%22%2F%3E%3C%2Fsvg%3E"); }
.fa-save { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h12l3%203v15H4V3z%22%2F%3E%3Cpath%20d%3D%22M8%203v6h8V3%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%2214%22%20width%3D%228%22%20height%3D%227%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h12l3%203v15H4V3z%22%2F%3E%3Cpath%20d%3D%22M8%203v6h8V3%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%2214%22%20width%3D%228%22%20height%3D%227%22%2F%3E%3C%2Fsvg%3E"); }
.fa-undo { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207%204%2012l5%205%22%2F%3E%3Cpath%20d%3D%22M4%2012h9a6%206%200%200%201%206%206%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%207%204%2012l5%205%22%2F%3E%3Cpath%20d%3D%22M4%2012h9a6%206%200%200%201%206%206%22%2F%3E%3C%2Fsvg%3E"); }


/* ============================================================
   Native inline SVG icons — reliable offline and in every page
   ============================================================ */
.svg-symbol-library {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}
.ui-icon {
    width: 1.08em;
    height: 1.08em;
    display: inline-block;
    flex: 0 0 auto;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: -0.16em;
}
.brand-mark .ui-icon { width: 25px; height: 25px; }
.nav-icon .ui-icon { width: 18px; height: 18px; }
.sidebar-card-icon .ui-icon { width: 17px; height: 17px; }
.feature-icon .ui-icon { width: 22px; height: 22px; }
.stat-icon .ui-icon { width: 20px; height: 20px; }
.news-icon .ui-icon { width: 20px; height: 20px; }
.panel-icon .ui-icon, .login-icon .ui-icon { width: 21px; height: 21px; }
.book .ui-icon { width: 42px; height: 42px; }
.btn .ui-icon, .button .ui-icon, .feature-link .ui-icon { margin-right: 6px; }
.feature-link .ui-icon { margin-right: 0; margin-left: 5px; width: 13px; height: 13px; }
.error-panel {
    margin-top: 15px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(190, 59, 59, .22);
    border-radius: 12px;
    color: #a93232;
    background: #fff2f2;
    font-size: 13px;
    font-weight: 650;
}
.error-panel .error-message { color: inherit; }
