* {
    box-sizing: border-box;
    font-family: 'Manrope', system-ui, -apple-system, Arial, sans-serif;
}

:root {
    /* OSNOVNE BOJE */
    --color-primary: #009df2;
    --color-primary-dark: #005089;
    --color-accent: #F2BB00;
    --color-accent-hover: #d9a700;
    --color-danger: #ff2c2c;
    --color-danger-hover: #d91f1f;

    /* UI */
    --bg: #f3f4f6;
    --surface: #ffffff;
    --text: #111827;
    --muted: #6b7280;
    --border: #d1d5db;
    --border-soft: #e5e7eb;

    /* Sidebar / nav */
    --sidebar-bg: var(--color-primary-dark);
    --sidebar-hover: rgba(255, 255, 255, 0.10);
    --sidebar-text: #e5e7eb;

    /* Dugmad */
    --btn-save-bg: var(--color-accent);
    --btn-save-hover: var(--color-accent-hover);
    --btn-save-text: #111827;

    --btn-cancel-bg: #eef2f7;
    --btn-cancel-hover: var(--color-danger);
    --btn-cancel-text: #111827;
    --btn-cancel-hover-text: #ffffff;

    /* Akcije u tablicama */
    --action-edit-bg: #fff8d9;
    --action-edit-border: #f2d46b;
    --action-edit-text: #8a6500;
    --action-edit-hover-bg: var(--color-accent);
    --action-edit-hover-text: #111827;

    --action-delete-bg: #fff0f0;
    --action-delete-border: #ffc7c7;
    --action-delete-text: var(--color-danger);
    --action-delete-hover-bg: var(--color-danger);
    --action-delete-hover-text: #ffffff;

    --action-download-bg: #eef8ff;
    --action-download-border: #bfe5fb;
    --action-download-text: var(--color-primary-dark);
    --action-download-hover-bg: var(--color-primary);
    --action-download-hover-text: #ffffff;

    /* Alerti */
    --success-bg: #dcfce7;
    --success-text: #166534;
    --error-bg: #fee2e2;
    --error-text: #991b1b;

    /* Ostalo */
    --shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.08);
    --radius: 12px;
    --radius-sm: 8px;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
}

a {
    color: inherit;
    text-decoration: none;
}

/* LOGIN */

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.login-box {
    width: 100%;
    max-width: 420px;
    background: var(--surface);
    border-radius: 14px;
    padding: 30px;
    box-shadow: var(--shadow-lg);
}

.login-box h1 {
    margin-top: 0;
    margin-bottom: 8px;
}

/* FORM */

.form-group {
    margin-bottom: 16px;
}

label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: #fff;
    font: inherit;
    color: var(--text);
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(0, 157, 242, 0.14);
}

/* BUTTONS */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 120px;
    height: 42px;
    padding: 0 18px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
}

button.btn {
    appearance: none;
    -webkit-appearance: none;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: translateY(0);
}

.btn:focus-visible {
    outline: none;
}

.btn:not(.btn-light) {
    background: var(--btn-save-bg);
    color: var(--btn-save-text);
    border-color: var(--btn-save-bg);
}

.btn:not(.btn-light):hover {
    background: var(--btn-save-hover);
    color: var(--btn-save-text);
    border-color: var(--btn-save-hover);
}

.btn:not(.btn-light):focus-visible {
    box-shadow: 0 0 0 3px rgba(242, 187, 0, 0.18);
}

.btn-light {
    background: var(--btn-cancel-bg);
    color: var(--btn-cancel-text);
    border-color: var(--border);
}

.btn-light:hover {
    background: var(--btn-cancel-hover);
    color: var(--btn-cancel-hover-text);
    border-color: var(--btn-cancel-hover);
}

.btn-light:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 44, 44, 0.16);
}

/* ALERTS */

.alert {
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    margin-bottom: 16px;
}

.alert-error {
    background: var(--error-bg);
    color: var(--error-text);
}

.alert-success {
    background: var(--success-bg);
    color: var(--success-text);
}

/* APP LAYOUT */

.app {
    min-height: 100vh;
    display: flex;
}

.sidebar{
    width:260px;
    color:#fff;
    padding:24px 18px;
    position:relative;
    overflow:hidden;

    /* osnovni gradient */
    background:
        linear-gradient(
            180deg,
            var(--color-primary-dark) 0%,
            #003b66 100%
        );
}.sidebar::before{
    content:"";
    position:absolute;
    inset:0;

    background-image:url("/assets/img/login-bg.jpg");
    background-size:cover;
    background-position:center;

    filter:grayscale(100%);
    opacity:.25;

    mix-blend-mode:multiply;

    pointer-events:none;
}.sidebar > *{
    position:relative;
    z-index:1;
}

.content {
    flex: 1;
    padding: 24px;
}

.topbar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    background: var(--surface);
    padding: 16px 18px;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

/* BRAND */

.brand-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-logo img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border-radius: 10px;
}

.brand {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    line-height: 1;
    color: #fff;
}

/* NAV */

.nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    margin-bottom: 6px;
    color: var(--sidebar-text);
    transition: all 0.2s ease;
}

.nav a:hover {
    background: var(--sidebar-hover);
    color: #fff;
}

.nav a i {
    width: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* CARDS */

.cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.card {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow);
    margin-top: 20px;
}

.card h3 {
    margin-top: 0;
    margin-bottom: 14px;
}

.stat {
    font-size: 30px;
    font-weight: 800;
    margin-top: 8px;
    color: var(--color-primary);
}

/* TABLES */

.table-wrap {
    width: 100%;
    overflow-x: auto;
}

.table {
    width: 100%;
    border-collapse: collapse;
}

.table th,
.table td {
    text-align: left;
    padding: 12px 10px;
    border-bottom: 1px solid var(--border-soft);
    vertical-align: top;
}

.table th {
    font-weight: 700;
    color: var(--color-primary-dark);
}

/* FAQ */

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 18px;
    font-weight: 600;
    font-size: 16px;
    position: relative;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 400;
    color: var(--color-primary-dark);
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-answer {
    padding: 0 18px 16px;
    color: #444;
    line-height: 1.6;
}

.faq-answer p {
    margin: 0;
}

/* CHECKBOX */

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 500;
    margin-bottom: 0;
}

.checkbox-label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

/* FILE PILL */

.file-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #374151;
    font-size: 13px;
    line-height: 1;
}

.file-pill i {
    color: var(--color-danger);
}

/* FORM ACTIONS */

.form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    flex-wrap: wrap;
}

/* TABLE ACTIONS */

.table-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-wrap: nowrap;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.action-btn i {
    font-size: 14px;
}

.action-edit {
    background: var(--action-edit-bg);
    color: var(--action-edit-text);
    border-color: var(--action-edit-border);
}

.action-edit:hover {
    background: var(--action-edit-hover-bg);
    color: var(--action-edit-hover-text);
    border-color: var(--action-edit-hover-bg);
}

.action-delete {
    background: var(--action-delete-bg);
    color: var(--action-delete-text);
    border-color: var(--action-delete-border);
}

.action-delete:hover {
    background: var(--action-delete-hover-bg);
    color: var(--action-delete-hover-text);
    border-color: var(--action-delete-hover-bg);
}

.action-download {
    background: var(--action-download-bg);
    color: var(--action-download-text);
    border: 1px solid var(--action-download-border);
}

.action-download:hover {
    background: var(--action-download-hover-bg);
    color: var(--action-download-hover-text);
    border-color: var(--action-download-hover-bg);
}

/* TABLICE SPECIFIČNO */

.residents-table,
.buildings-table,
.income-docs-table,
.balances-table,
.building-docs-table,
.faq-table {
    width: 100%;
}

.residents-table th,
.residents-table td,
.buildings-table th,
.buildings-table td,
.income-docs-table th,
.income-docs-table td,
.balances-table th,
.balances-table td,
.building-docs-table th,
.building-docs-table td,
.faq-table th,
.faq-table td {
    vertical-align: middle;
}

/* Residents */
.residents-table {
    table-layout: fixed;
}

.residents-table th:nth-child(1),
.residents-table td:nth-child(1) {
    width: 60px;
}

.residents-table th:nth-child(3),
.residents-table td:nth-child(3) {
    width: 180px;
}

.residents-table th:nth-child(4),
.residents-table td:nth-child(4) {
    width: 180px;
}

.residents-table th:nth-child(5),
.residents-table td:nth-child(5) {
    width: 110px;
    text-align: right;
}

.residents-table th:nth-child(2),
.residents-table td:nth-child(2) {
    width: auto;
}

/* Buildings */
.buildings-table th:nth-child(1),
.buildings-table td:nth-child(1) {
    width: 60px;
}

.buildings-table th:nth-child(4),
.buildings-table td:nth-child(4) {
    width: 140px;
}

.buildings-table th:nth-child(5),
.buildings-table td:nth-child(5) {
    width: 90px;
}

.buildings-table th:nth-child(6),
.buildings-table td:nth-child(6) {
    width: 110px;
    text-align: right;
}

/* Income docs */
.income-docs-table th:nth-child(1),
.income-docs-table td:nth-child(1) {
    width: 110px;
}

.income-docs-table th:nth-child(3),
.income-docs-table td:nth-child(3) {
    width: 220px;
}

.income-docs-table th:nth-child(4),
.income-docs-table td:nth-child(4) {
    width: 100px;
    text-align: right;
}

/* Balances */
.balances-table th:nth-child(1),
.balances-table td:nth-child(1) {
    width: 120px;
}

.balances-table th:nth-child(3),
.balances-table td:nth-child(3) {
    width: 180px;
}

.balances-table th:nth-child(4),
.balances-table td:nth-child(4) {
    width: 100px;
    text-align: right;
}

/* Building docs */
.building-docs-table th:nth-child(1),
.building-docs-table td:nth-child(1) {
    width: 110px;
}

.building-docs-table th:nth-child(3),
.building-docs-table td:nth-child(3) {
    width: 220px;
}

.building-docs-table th:nth-child(4),
.building-docs-table td:nth-child(4) {
    width: 100px;
    text-align: right;
}

/* FAQ */
.faq-table th:nth-child(3),
.faq-table td:nth-child(3) {
    width: 100px;
    text-align: right;
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .app {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
    }

    .topbar {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .btn {
        min-width: auto;
    }

    .residents-table th:nth-child(3),
    .residents-table td:nth-child(3) {
        width: 140px;
    }

    .residents-table th:nth-child(4),
    .residents-table td:nth-child(4) {
        width: 140px;
    }

    .residents-table th:nth-child(5),
    .residents-table td:nth-child(5) {
        width: 96px;
    }
}

.mobile-topbar{
    display:none;
}

.sidebar-overlay{
    display:none;
}

.sidebar-mobile-head{
    display:none;
}

@media (max-width: 900px){
    .mobile-topbar{
        display:flex;
        align-items:center;
        gap:12px;
        padding:14px 16px;
        background:#fff;
        border-bottom:1px solid var(--border-soft);
        position:sticky;
        top:0;
        z-index:1001;
    }

    .mobile-menu-btn{
        width:42px;
        height:42px;
        border:none;
        border-radius:10px;
        background:var(--color-primary);
        color:#fff;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        font-size:18px;
    }

    .mobile-menu-btn:hover{
        background:var(--color-primary-dark);
    }

    .mobile-topbar-title{
        font-size:16px;
        font-weight:700;
        color:var(--color-primary-dark);
    }

    .sidebar{
        position:fixed;
        top:0;
        left:0;
        width:280px;
        max-width:85vw;
        height:100vh;
        z-index:1100;
        transform:translateX(-100%);
        transition:transform .25s ease;
        overflow-y:auto;
    }

    .sidebar.is-open{
        transform:translateX(0);
    }

    .sidebar-overlay{
        position:fixed;
        inset:0;
        background:rgba(0,0,0,0.45);
        z-index:1050;
    }

    .sidebar-overlay.is-open{
        display:block;
    }

   .sidebar-mobile-head{
    display:flex;
    justify-content:flex-end;
    margin-bottom:12px;
}
    .sidebar-close-btn{
        width:38px;
        height:38px;
        border:none;
        border-radius:10px;
        background:rgba(255,255,255,0.12);
        color:#fff;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        font-size:18px;
    }

    .sidebar-close-btn:hover{
        background:rgba(255,255,255,0.2);
    }

    .content{
        padding:18px;
    }

    .topbar{
        display:none;
    }
}

.dashboard-intro{
margin-top:6px;
color:var(--muted);
font-size:15px;
line-height:1.5;
}

.user-name{
color:var(--color-primary);
font-weight:700;
}

.dashboard-intro{
    margin-top:6px;
    margin-bottom:20px;
    color:var(--muted);
    font-size:15px;
    line-height:1.6;
    max-width:900px;
}

.card-note{
    margin-top:10px;
    margin-bottom:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}

/* MOBILNA PREGLEDNOST TABLICA */

.table-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.table{
    width:100%;
}

.table th,
.table td{
    vertical-align:middle;
}

@media (max-width: 768px){

    .table-wrap{
        overflow-x:auto;
        padding-bottom:6px;
    }

    .table{
        min-width:680px;
    }

    .table th,
    .table td{
        padding:14px 12px;
        font-size:14px;
        line-height:1.4;
        white-space:normal;
        word-break:break-word;
    }

    .table th{
        white-space:nowrap;
    }

    /* dokument kolone da imaju zraka */
    .file-pill{
        max-width:220px;
        white-space:normal;
        line-height:1.25;
    }

    /* akcije desno i da se ne lome */
    .table-actions{
        justify-content:flex-end;
        align-items:center;
        gap:8px;
        flex-wrap:nowrap;
        white-space:nowrap;
    }

    .action-btn{
        flex:0 0 auto;
    }

    /* obični download linkovi na portalu */
    td a i.fa-download{
        margin-right:6px;
    }
}

@media (max-width: 768px){

    .table td[style*="white-space:nowrap"]{
        white-space:nowrap !important;
    }

    .table td[style*="white-space:nowrap"] a{
        display:inline-flex;
        align-items:center;
        gap:6px;
        white-space:nowrap;
    }
}

@media (max-width: 768px){

    .residents-table{
        min-width:720px;
        table-layout:auto;
    }

    .residents-table th:nth-child(1),
    .residents-table td:nth-child(1){
        min-width:60px;
    }

    .residents-table th:nth-child(2),
    .residents-table td:nth-child(2){
        min-width:180px;
    }

    .residents-table th:nth-child(3),
    .residents-table td:nth-child(3){
        min-width:160px;
    }

    .residents-table th:nth-child(4),
    .residents-table td:nth-child(4){
        min-width:160px;
    }

    .residents-table th:nth-child(5),
    .residents-table td:nth-child(5){
        min-width:90px;
        text-align:right;
    }

    .buildings-table{
        min-width:760px;
        table-layout:auto;
    }

    .balances-table{
        min-width:560px;
        table-layout:auto;
    }

    .building-docs-table,
    .income-docs-table{
        min-width:760px;
        table-layout:auto;
    }

    .faq-table{
        min-width:720px;
        table-layout:auto;
    }
}

@media (max-width: 520px){

    .table td[style*="white-space:nowrap"] a{
        font-size:0;
    }

    .table td[style*="white-space:nowrap"] a i{
        font-size:16px;
        margin-right:0;
    }
}

/* =========================================================
   MOBILE TABLE CARDS - PORTAL I ADMIN
   bez data-label, preko nth-child po tablicama
   ========================================================= */

@media (max-width: 768px){

    .table-wrap{
        overflow-x:visible;
        padding-bottom:0;
    }

    .table{
        min-width:0 !important;
        width:100%;
        border-collapse:separate;
        border-spacing:0;
    }

    .table thead{
        display:none;
    }

    .table tbody{
        display:block;
    }

    .table tr{
        display:block;
        background:var(--surface);
        border:1px solid var(--border-soft);
        border-radius:12px;
        padding:14px 14px 10px;
        margin-bottom:12px;
        box-shadow:0 2px 10px rgba(0,0,0,0.04);
    }

    .table td{
        display:block;
        width:100% !important;
        min-width:0 !important;
        text-align:left !important;
        border:none;
        padding:0 0 10px;
        white-space:normal !important;
        word-break:break-word;
    }

    .table td:last-child{
        padding-bottom:0;
    }

    .table td::before{
        display:block;
        margin-bottom:4px;
        font-size:12px;
        font-weight:700;
        color:var(--color-primary-dark);
        text-transform:none;
        letter-spacing:.01em;
    }

    .file-pill{
        max-width:100%;
        white-space:normal;
        line-height:1.3;
    }

    .table-actions{
        justify-content:flex-start;
    }

    .action-btn{
        flex:0 0 auto;
    }

    /* portal obični download linkovi */
    td[style*="white-space:nowrap"] a,
    .table td a.download-link{
        display:inline-flex;
        align-items:center;
        gap:6px;
        white-space:nowrap;
    }

    /* =====================================================
       PORTAL - KARTICA STANARA / DOKUMENTI / PRIHODI
       3 kolone: Datum / Dokument / Preuzmi
       ===================================================== */

    .table:not(.residents-table):not(.buildings-table):not(.balances-table):not(.faq-table):not(.building-docs-table):not(.income-docs-table) td:nth-child(1)::before{
        content:"Datum";
    }

    .table:not(.residents-table):not(.buildings-table):not(.balances-table):not(.faq-table):not(.building-docs-table):not(.income-docs-table) td:nth-child(2)::before{
        content:"Dokument";
    }

    .table:not(.residents-table):not(.buildings-table):not(.balances-table):not(.faq-table):not(.building-docs-table):not(.income-docs-table) td:nth-child(3)::before{
        content:"Preuzimanje";
    }

    /* =====================================================
       ADMIN - STANARI
       ===================================================== */

    .residents-table td:nth-child(1)::before{ content:"ID"; }
    .residents-table td:nth-child(2)::before{ content:"Ime i prezime"; }
    .residents-table td:nth-child(3)::before{ content:"Korisničko ime"; }
    .residents-table td:nth-child(4)::before{ content:"Zgrada"; }
    .residents-table td:nth-child(5)::before{ content:"Akcije"; }

    /* =====================================================
       ADMIN - ZGRADE
       ===================================================== */

    .buildings-table td:nth-child(1)::before{ content:"ID"; }
    .buildings-table td:nth-child(2)::before{ content:"Naziv"; }
    .buildings-table td:nth-child(3)::before{ content:"Adresa"; }
    .buildings-table td:nth-child(4)::before{ content:"Grad"; }
    .buildings-table td:nth-child(5)::before{ content:"Stanara"; }
    .buildings-table td:nth-child(6)::before{ content:"Akcije"; }

    /* =====================================================
       ADMIN - STANJA RAČUNA
       ===================================================== */

    .balances-table td:nth-child(1)::before{ content:"Datum"; }
    .balances-table td:nth-child(2)::before{ content:"Zgrada"; }
    .balances-table td:nth-child(3)::before{ content:"Stanje računa"; }
    .balances-table td:nth-child(4)::before{ content:"Akcije"; }

    /* =====================================================
       ADMIN - FAQ
       ===================================================== */

    .faq-table td:nth-child(1)::before{ content:"Pitanje"; }
    .faq-table td:nth-child(2)::before{ content:"Odgovor"; }
    .faq-table td:nth-child(3)::before{ content:"Akcije"; }

    /* =====================================================
       ADMIN - DOKUMENTI / PRIHODI I TROŠKOVI
       4 kolone: Datum / Dokument / Zgrada / Akcije
       ===================================================== */

    .building-docs-table td:nth-child(1)::before,
    .income-docs-table td:nth-child(1)::before{
        content:"Datum";
    }

    .building-docs-table td:nth-child(2)::before,
    .income-docs-table td:nth-child(2)::before{
        content:"Dokument";
    }

    .building-docs-table td:nth-child(3)::before,
    .income-docs-table td:nth-child(3)::before{
        content:"Zgrada";
    }

    .building-docs-table td:nth-child(4)::before,
    .income-docs-table td:nth-child(4)::before{
        content:"Akcije";
    }

    /* ako negdje ostane običan download link s tekstom */
    td[style*="white-space:nowrap"] a{
        font-size:14px;
    }
}

.dashboard-card-link{
    display:block;
    color:inherit;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    border:1px solid transparent;
}

.dashboard-card-link:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(0,0,0,0.08);
    border-color:#dbeafe;
}

.dashboard-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
}

.dashboard-card-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eef8ff;
    color:var(--color-primary-dark);
    font-size:18px;
}

.dashboard-card-arrow{
    color:var(--muted);
    font-size:14px;
    transition:transform .2s ease, color .2s ease;
}

.dashboard-card-link:hover .dashboard-card-arrow{
    color:var(--color-primary);
    transform:translateX(3px);
}

.dashboard-card-link h3{
    margin-bottom:8px;
}

.dashboard-card-link small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:13px;
}

.dashboard-cards .card-note{
    margin-top:8px;
}
/* PROFILE CARD */

.profile-card-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
}

.profile-card-header h3{
    margin:0;
    line-height:1;
}

.profile-icon{
    width:40px;
    height:40px;
    border-radius:10px;
    background:#eef8ff;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--color-primary-dark);
    font-size:16px;
    flex-shrink:0;
}

.profile-info{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}

.profile-row{
    display:flex;
    align-items:center;
    gap:12px;
    background:#f9fafb;
    padding:12px 14px;
    border-radius:10px;
}

.profile-row i{
    color:var(--color-primary);
    font-size:16px;
    width:20px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.profile-label{
    display:block;
    font-size:12px;
    color:var(--muted);
    margin-bottom:2px;
}

.profile-link{
    text-decoration:none;
    color:inherit;
    transition:all .2s ease;
}

.profile-link:hover{
    background:#eef8ff;
    transform:translateY(-1px);
}

.brand-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:20px;
}

.brand-left{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.brand{
    font-size:16px;
    font-weight:700;
    margin:0;
    line-height:1.2;
    color:#fff;
}

.sidebar-close-btn{
    display:none;
}

@media (max-width: 900px){

    .sidebar{
        position:fixed;
        top:0;
        left:0;
        width:340px;
        max-width:92vw;
        height:100vh;
        z-index:1100;
        transform:translateX(-100%);
        transition:transform .25s ease;
        overflow-y:auto;
        padding:20px 16px 24px;
    }

    .sidebar-close-btn{
        display:inline-flex;
        width:40px;
        height:40px;
        border:none;
        border-radius:10px;
        background:rgba(255,255,255,0.12);
        color:#fff;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        font-size:18px;
        flex-shrink:0;
    }

    .sidebar-close-btn:hover{
        background:rgba(255,255,255,0.2);
    }

    .brand-wrap{
        align-items:center;
        margin-bottom:24px;
    }

    .brand-left{
        flex:1;
        min-width:0;
    }

    .brand{
        font-size:15px;
        line-height:1.2;
    }

    .nav a{
        padding:12px 12px;
        font-size:15px;
    }
}

.date-input{
    position:relative;
}

.date-trigger{
    position:absolute;
    left:8px;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:28px;
    border:none;
    background:transparent;
    color:var(--color-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    padding:0;
}

.date-input input{
    padding-left:40px;
}

.date-input input::-webkit-calendar-picker-indicator{
    opacity:0;
}

.dashboard-steps{
    margin-top:12px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.dashboard-step{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
    color:var(--muted);
}

.dashboard-step i{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#eef6ff;
    color:var(--color-primary);
    font-size:14px;
}

.notices-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.notice-item{
    background:#f9fafb;
    border:1px solid var(--border-soft);
    border-radius:10px;
    padding:14px;
}

.notice-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.notice-head small{
    color:var(--muted);
    white-space:nowrap;
}

.notice-text{
    color:#374151;
    line-height:1.6;
}

.notices-table th,
.notices-table td{
    vertical-align:middle;
}

.notices-table th:nth-child(5),
.notices-table td:nth-child(5){
    width:100px;
    text-align:right;
}

/* OBAVIJESTI */

.card-notices{
    border-left:6px solid var(--color-accent);
}

.notice-item{
    border:1px solid var(--border-soft);
    background:#fff;
    border-radius:10px;
    padding:14px 16px;
}

.notice-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:6px;
}

.notice-head strong{
    color:var(--text);
}

.notice-head small{
    color:var(--muted);
    white-space:nowrap;
}

.notice-text{
    color:#374151;
    line-height:1.6;
}

.profile-icon-notice{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#fff4cc;
    color:#b38700;
    font-size:16px;
}
/* =========================================================
   CU PORTAL UI REFRESH - clean admin layout
   ========================================================= */
:root{
    --color-primary:#0f6fff;
    --color-primary-dark:#06346b;
    --color-accent:#f2bb00;
    --bg:#f6f8fc;
    --surface:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --border:#dbe4ef;
    --border-soft:#edf2f7;
    --shadow:0 10px 30px rgba(15, 23, 42, .06);
    --shadow-lg:0 18px 50px rgba(15, 23, 42, .10);
    --radius:18px;
    --radius-sm:12px;
}

body{background:linear-gradient(180deg,#f8fbff 0%,#f3f6fb 100%); color:var(--text);}
.app{align-items:stretch;}
.sidebar{
    width:280px;
    padding:26px 14px 18px;
    background:linear-gradient(180deg,#073f7a 0%,#042b5d 56%,#021b3d 100%) !important;
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
    box-shadow:8px 0 28px rgba(2,27,61,.16);
}
.sidebar::before{opacity:.12 !important;}
.brand-wrap{padding:0 8px 18px; margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,.10);}
.brand-logo img{width:52px;height:52px;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.18);}
.brand{font-size:17px; letter-spacing:-.02em;}
.nav{display:flex; flex-direction:column; gap:4px; padding-top:10px;}
.nav a{
    min-height:44px;
    padding:11px 12px;
    border-radius:14px;
    color:rgba(255,255,255,.84);
    font-weight:700;
    font-size:15px;
}
.nav a i{width:22px; font-size:16px; opacity:.9;}
.nav a:hover,
.nav a.is-active{
    background:linear-gradient(135deg,rgba(15,111,255,.96),rgba(0,157,242,.86));
    color:#fff;
    box-shadow:0 10px 22px rgba(0,0,0,.16);
    transform:translateX(2px);
}
.content{padding:30px 34px; max-width:100%; width:100%;}
.topbar{
    align-items:center;
    padding:14px 18px;
    border:1px solid var(--border-soft);
    border-radius:18px;
    box-shadow:var(--shadow);
    margin-bottom:28px;
}
.topbar-title{display:flex; align-items:center; gap:10px; font-weight:800; color:#172554;}
.topbar-title i{color:var(--color-primary);}
.topbar-user{display:inline-flex; align-items:center; gap:10px; color:var(--muted); font-weight:700;}
.topbar-user span{width:34px;height:34px;border-radius:50%;background:#e8f0ff;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:800;}

h1{margin:0; font-size:34px; line-height:1.12; letter-spacing:-.04em; color:#0f172a;}
.page-head{display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:20px;}
.eyebrow{margin:0 0 6px; color:var(--color-primary); font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.08em;}
.page-subtitle{margin:8px 0 0; color:var(--muted); font-size:15px;}
.btn{border-radius:12px; height:44px; font-weight:800; box-shadow:none;}
.btn:not(.btn-light){background:linear-gradient(135deg,var(--color-primary),#009df2); color:#fff; border-color:transparent;}
.btn:not(.btn-light):hover{background:linear-gradient(135deg,#075ee0,#008bd8); color:#fff;}
.btn-primary-soft{box-shadow:0 12px 26px rgba(15,111,255,.18);}

.card,.faq-item{
    background:rgba(255,255,255,.92);
    border:1px solid var(--border-soft);
    border-radius:22px;
    box-shadow:var(--shadow);
}
.card{padding:22px;}
.faq-item{margin-top:18px;}
.faq-item summary{padding:18px 22px; font-weight:800; color:#172554;}
.faq-answer{padding:0 22px 22px;}
input,select,textarea{border-radius:12px; border-color:var(--border); background:#fbfdff;}
label{font-size:13px; color:#334155;}
.alert{border-radius:14px; border:1px solid transparent;}

.stats-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:22px 0;}
.stat-card{background:#fff;border:1px solid var(--border-soft);border-radius:22px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);}
.stat-icon{width:52px;height:52px;border-radius:18px;background:#e8f0ff;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto;}
.stat-card span{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:6px;}
.stat-card strong{font-size:24px;line-height:1;color:#0f172a;letter-spacing:-.03em;}
.stat-card-success .stat-icon{background:#dcfce7;color:#16a34a;}
.stat-card-warning .stat-icon{background:#fff7ed;color:#f97316;}
.stat-card-purple .stat-icon{background:#f3e8ff;color:#9333ea;}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;}
.form-grid .form-group{margin-bottom:0;}
.form-span-2{grid-column:span 2;}
.checkbox-group{display:flex; align-items:end; padding-bottom:4px;}

.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.section-head h3{margin:0;color:#0f172a;font-size:20px;letter-spacing:-.02em;}
.section-head p{margin:6px 0 0;color:var(--muted);font-size:14px;}
.section-count{padding:8px 12px;border-radius:999px;background:#eef6ff;color:var(--color-primary-dark);font-weight:800;font-size:13px;white-space:nowrap;}


.residents-section-head{margin-bottom:14px;}
.resident-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 18px;}
.resident-search-wrap{position:relative;flex:1;min-width:240px;}
.resident-search-wrap i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:14px;pointer-events:none;}
.resident-search-wrap input{width:100%;height:48px;padding:0 16px 0 42px;border-radius:16px;background:#fff;border:1px solid var(--border);font-weight:700;color:#0f172a;box-shadow:0 8px 20px rgba(15,23,42,.035);}
.resident-search-wrap input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12);}
.resident-clear-search{height:48px;white-space:nowrap;}
.resident-empty-search{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-weight:800;}
.resident-card[hidden]{display:none!important;}

.residents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.resident-card{position:relative;background:#fff;border:1px solid var(--border-soft);border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.04);transition:transform .18s ease, box-shadow .18s ease,border-color .18s ease;}
.resident-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#cfe0f5;}
.resident-card-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.resident-avatar{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#0f6fff,#009df2);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;box-shadow:0 10px 20px rgba(15,111,255,.20);}
.resident-main{min-width:0;flex:1;}
.resident-main h4{margin:0 0 4px;font-size:17px;line-height:1.25;color:#0f172a;letter-spacing:-.02em;}
.resident-main span{font-size:13px;color:var(--muted);font-weight:700;}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap;line-height:1;border:1px solid transparent;}
.badge-success{background:#eafaf0;color:#16803a;border-color:#c7f0d4;}
.badge-warning{background:#fff4e8;color:#d85f00;border-color:#ffe0bd;}
.resident-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.resident-meta div,.resident-login div{background:#f8fafc;border:1px solid var(--border-soft);border-radius:14px;padding:11px 12px;min-width:0;}
.resident-meta small,.resident-login small{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;}
.resident-meta strong,.resident-login span{display:block;color:#0f172a;font-size:14px;font-weight:800;line-height:1.25;overflow-wrap:anywhere;}
.resident-login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.resident-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft);}
.action-btn{border-radius:12px;width:38px;height:38px;}
.action-edit{background:#fff8db;color:#9a6a00;border-color:#f2d46b;}
.action-delete{background:#fff1f1;color:#ef4444;border-color:#fecaca;}

.table-wrap{border-radius:18px;border:1px solid var(--border-soft);background:#fff;}
.table th{color:#475569;font-size:13px;white-space:nowrap;background:#fbfdff;}
.table td{font-size:14px;color:#243044;}

@media (min-width: 1500px){.residents-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width: 2100px){.residents-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width: 1180px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.residents-grid{grid-template-columns:1fr;}.resident-meta{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 900px){.sidebar{position:fixed;height:100vh;}.content{padding:20px;}.page-head{flex-direction:column;}.stats-grid{grid-template-columns:1fr;}.form-grid{grid-template-columns:1fr;}.form-span-2{grid-column:auto;}.mobile-topbar{box-shadow:0 6px 20px rgba(15,23,42,.06);} h1{font-size:30px;}}
@media (max-width: 700px){.resident-toolbar{flex-direction:column;align-items:stretch;}.resident-clear-search{width:100%;}}
@media (max-width: 560px){.resident-card-top{flex-wrap:wrap;}.resident-card-top .badge{width:100%;justify-content:center;}.resident-meta,.resident-login{grid-template-columns:1fr;}.content{padding:16px;}.card{padding:16px;}.section-head{flex-direction:column;}.btn{width:100%;}}

/* Forum module */
.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start;}
.forum-toolbar-card{padding:16px;margin-bottom:16px;}
.forum-search-form{display:flex;gap:12px;align-items:center;}
.forum-search-form .resident-search-wrap{flex:1;}
.stack-form{display:flex;flex-direction:column;gap:14px;}
.stack-form .form-group{margin-bottom:0;}
.stack-form textarea,.forum-comment-form textarea{resize:vertical;min-height:120px;}
.forum-checkbox{margin:0;}
.forum-create-card{position:sticky;top:24px;}
.forum-list{display:flex;flex-direction:column;gap:14px;}
.forum-topic-card{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:18px;align-items:center;padding:20px;border-radius:22px;border:1px solid var(--border-soft);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.forum-topic-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#cfe0f5;color:inherit;}
.forum-topic-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.badge-info{background:#e8f0ff;color:#075ee0;border-color:#c7dbff;}
.forum-topic-main h3{margin:0 0 8px;color:#0f172a;font-size:20px;letter-spacing:-.03em;}
.forum-topic-main p{margin:0 0 14px;color:var(--muted);line-height:1.55;}
.forum-topic-meta,.forum-detail-meta{display:flex;flex-wrap:wrap;gap:10px 16px;color:#64748b;font-size:13px;font-weight:700;}
.forum-topic-meta span,.forum-detail-meta span{display:inline-flex;align-items:center;gap:6px;}
.forum-topic-stats{display:grid;grid-template-columns:1fr;gap:2px;justify-items:center;align-content:center;background:#f8fafc;border:1px solid var(--border-soft);border-radius:18px;padding:14px 10px;min-height:110px;}
.forum-topic-stats strong{font-size:24px;color:#0f172a;line-height:1;}
.forum-topic-stats span{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.forum-detail-card{margin-bottom:18px;}
.forum-detail-meta{padding-bottom:18px;border-bottom:1px solid var(--border-soft);margin-bottom:18px;}
.forum-content{font-size:16px;line-height:1.75;color:#172033;white-space:normal;}
.forum-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border-soft);}
.forum-actions-row form{margin:0;}
.btn-danger-soft{background:#fff1f1!important;color:#ef4444!important;border:1px solid #fecaca!important;}
.forum-comments-card{margin-top:18px;}
.forum-comment{display:flex;gap:13px;padding:16px 0;border-top:1px solid var(--border-soft);}
.forum-comment:first-of-type{border-top:0;padding-top:0;}
.forum-comment-avatar{width:40px;height:40px;border-radius:14px;font-size:16px;}
.forum-comment-body{flex:1;min-width:0;}
.forum-comment-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px;}
.forum-comment-head strong{color:#0f172a;}
.forum-comment-head span{font-size:12px;color:var(--muted);font-weight:700;}
.forum-comment-body p{margin:0;color:#243044;line-height:1.6;}
.forum-comment-form{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border-soft);}
.link-button{border:0;background:transparent;color:#ef4444;font-weight:800;padding:8px 0 0;cursor:pointer;}
.link-button:hover{text-decoration:underline;}

@media (min-width:1600px){.forum-layout{grid-template-columns:minmax(0,1fr) 430px;}}
@media (max-width:1180px){.forum-layout{grid-template-columns:1fr;}.forum-create-card{position:static;}.forum-topic-card{grid-template-columns:1fr;}.forum-topic-stats{grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto;justify-items:start;}.forum-topic-stats span{margin-bottom:0;}}
@media (max-width:700px){.forum-search-form{flex-direction:column;align-items:stretch;}.forum-detail-meta,.forum-topic-meta{flex-direction:column;gap:8px;}.forum-actions-row .btn,.forum-actions-row form{width:100%;}.forum-comment{align-items:flex-start;}.forum-comment-head{flex-direction:column;align-items:flex-start;gap:2px;}}

/* Modul 003 - Sastanci */
.meeting-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start;}
.meeting-list{display:flex;flex-direction:column;gap:14px;}
.meeting-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:stretch;padding:20px;border-radius:22px;border:1px solid var(--border-soft);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.meeting-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.08);border-color:rgba(37,99,235,.18);}
.meeting-date-box{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:18px;background:#f8fafc;border:1px solid var(--border-soft);min-height:96px;}
.meeting-date-box strong{font-size:24px;color:#0f172a;line-height:1;}
.meeting-date-box span{font-size:13px;color:var(--muted);font-weight:800;margin-top:8px;}
.meeting-card-main h3{margin:8px 0 8px;font-size:19px;color:#0f172a;}
.meeting-card-main p{margin:0 0 12px;color:#475569;line-height:1.55;}
.meeting-topic-picker{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto;padding:10px;border:1px solid var(--border-soft);border-radius:14px;background:#f8fafc;}
.meeting-topic-picker label{display:flex;gap:9px;align-items:flex-start;padding:8px;border-radius:12px;background:#fff;border:1px solid rgba(226,232,240,.7);cursor:pointer;}
.meeting-topic-picker span{display:flex;flex-direction:column;font-weight:700;color:#172033;line-height:1.35;}
.meeting-topic-picker small{font-size:12px;color:var(--muted);font-weight:700;margin-top:3px;}
.meeting-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin-bottom:18px;}
.meeting-detail-card .forum-content{margin:18px 0;}
.meeting-meta-block{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;}
.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.meeting-rsvp-card h3{margin:0 0 14px;color:#0f172a;}
.meeting-rsvp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.meeting-rsvp-stats div{border:1px solid var(--border-soft);background:#f8fafc;border-radius:16px;padding:14px;text-align:center;}
.meeting-rsvp-stats strong{display:block;font-size:28px;color:#0f172a;line-height:1;}
.meeting-rsvp-stats span{display:block;margin-top:6px;font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:800;letter-spacing:.04em;}
.meeting-topic-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--border-soft);}
.meeting-topic-row:first-of-type{border-top:0;}
.meeting-topic-row strong{display:block;color:#0f172a;margin-bottom:3px;}
.meeting-topic-row span{display:block;color:var(--muted);font-size:13px;font-weight:700;}
.meeting-topic-row > div:last-child{display:flex;gap:10px;align-items:center;}
.portal-meeting-card{grid-template-columns:96px minmax(0,1fr);}
.portal-meeting-card:hover{transform:none;}
.meeting-response-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft);display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;gap:10px;align-items:center;}
.meeting-response-options{display:flex;flex-wrap:wrap;gap:10px;}
.meeting-response-options label{display:flex;gap:7px;align-items:center;background:#f8fafc;border:1px solid var(--border-soft);border-radius:999px;padding:9px 12px;font-weight:800;color:#334155;font-size:13px;}
@media (min-width:1600px){.meeting-layout{grid-template-columns:minmax(0,1fr) 450px;}}
@media (max-width:1180px){.meeting-layout,.meeting-detail-grid{grid-template-columns:1fr;}.forum-create-card{position:static;}.meeting-response-form{grid-template-columns:1fr;}.meeting-card{grid-template-columns:1fr;}.meeting-date-box{align-items:flex-start;padding:16px;min-height:auto;}}
@media (max-width:700px){.meeting-topic-row{flex-direction:column;align-items:flex-start;}.meeting-topic-row > div:last-child{width:100%;flex-direction:column;align-items:stretch;}.meeting-topic-row .btn{width:100%;}.meeting-rsvp-stats{grid-template-columns:1fr;}.inline-form,.inline-form select,.inline-form .btn{width:100%;}.meeting-response-options{flex-direction:column;}.meeting-response-options label{width:100%;}}

/* Modul 004 - Glasanja, odluke, arhiva */
.vote-results{display:flex;flex-direction:column;gap:14px;margin:18px 0;}
.vote-option-result{display:grid;gap:8px;}
.vote-option-result>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:baseline;color:#0f172a;}
.vote-option-result span{font-size:13px;color:var(--muted);font-weight:800;}
.progress{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden;border:1px solid var(--border-soft);}
.progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#0ea5e9);border-radius:999px;}
.decision-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px;}
.decision-column{background:#f8fafc;border:1px solid var(--border-soft);border-radius:20px;padding:12px;min-height:180px;}
.decision-column h3{margin:2px 4px 12px;color:#0f172a;font-size:15px;}
.decision-card{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:14px;margin-bottom:10px;box-shadow:0 8px 20px rgba(15,23,42,.04);}
.decision-card strong{display:block;color:#0f172a;margin-bottom:6px;}
.decision-card p{margin:0 0 12px;color:#64748b;line-height:1.45;}
.decision-card .inline-form{margin-top:12px;}
.decision-card .inline-form select{min-width:120px;}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;}
.archive-row{display:block;padding:14px 0;border-top:1px solid var(--border-soft);text-decoration:none;color:inherit;}
.archive-row:first-of-type{border-top:0;}
.archive-row strong{display:block;color:#0f172a;margin-bottom:4px;}
.archive-row span{display:block;color:var(--muted);font-size:13px;font-weight:700;}
.meeting-topic-search{margin:0 0 10px;}
@media (max-width:1400px){.decision-board{grid-template-columns:repeat(3,minmax(240px,1fr));}.archive-grid{grid-template-columns:1fr;}}
@media (max-width:800px){.decision-board{grid-template-columns:1fr;overflow:visible;}.vote-option-result>div:first-child{flex-direction:column;gap:2px;}.archive-grid{grid-template-columns:1fr;}}

/* UI fix - segmentirani buttoni za sastanke i glasanja */
.meeting-response-options{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:stretch;
}
.meeting-response-options label{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    min-width:118px;
    padding:11px 18px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid #dbe5f0;
    color:#203047;
    font-size:14px;
    font-weight:850;
    line-height:1.2;
    cursor:pointer;
    user-select:none;
    box-shadow:0 8px 20px rgba(15,23,42,.035);
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
    white-space:nowrap;
}
.meeting-response-options label:hover{
    border-color:rgba(37,99,235,.25);
    box-shadow:0 12px 26px rgba(15,23,42,.07);
    transform:translateY(-1px);
}
.meeting-response-options input[type="radio"]{
    position:absolute;
    opacity:0;
    pointer-events:none;
    width:1px;
    height:1px;
}
.meeting-response-options label:has(input[type="radio"]:focus-visible){
    outline:3px solid rgba(37,99,235,.18);
    outline-offset:2px;
}
.meeting-response-options label:has(input[type="radio"]:checked){
    border-color:#2563eb;
    color:#0f3f9c;
    background:#eff6ff;
    box-shadow:0 12px 28px rgba(37,99,235,.13);
}
.meeting-response-options .choice-yes:has(input[type="radio"]:checked),
.meeting-response-options .choice-for:has(input[type="radio"]:checked){
    border-color:#16a34a;
    color:#166534;
    background:linear-gradient(135deg,#dcfce7,#f0fdf4);
    box-shadow:0 12px 28px rgba(22,163,74,.14);
}
.meeting-response-options .choice-no:has(input[type="radio"]:checked),
.meeting-response-options .choice-against:has(input[type="radio"]:checked){
    border-color:#dc2626;
    color:#991b1b;
    background:linear-gradient(135deg,#fee2e2,#fff1f2);
    box-shadow:0 12px 28px rgba(220,38,38,.14);
}
.meeting-response-options .choice-maybe:has(input[type="radio"]:checked),
.meeting-response-options .choice-abstain:has(input[type="radio"]:checked){
    border-color:#f59e0b;
    color:#92400e;
    background:linear-gradient(135deg,#fef3c7,#fff7ed);
    box-shadow:0 12px 28px rgba(245,158,11,.16);
}
.meeting-response-form input[type="text"]{
    min-height:48px;
    border-radius:16px;
}
.vote-results + .meeting-response-form{
    grid-template-columns:minmax(0,1fr) auto;
}
.vote-results + .meeting-response-form .meeting-response-options{
    gap:10px;
}
.vote-results + .meeting-response-form .meeting-response-options label{
    min-width:112px;
}
@media (max-width:700px){
    .vote-results + .meeting-response-form{grid-template-columns:1fr;}
    .meeting-response-options label{flex:1 1 120px;}
}

/* Modul 005 - dokumenti, obavijesti i analiza */
.toolbar-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 18px;}
.toolbar-row .search-box{max-width:420px;flex:1 1 280px;}
.search-box{position:relative;}
.search-box i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;}
.search-box input{padding-left:42px;}
.notice-grid,.document-grid,.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.notice-card,.document-card,.analysis-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:12px;}
.notice-card-head,.document-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.notice-card h3,.document-card h3{margin:0;font-size:17px;line-height:1.25;}
.notice-card p{margin:0;color:#475569;line-height:1.55;}
.mini-meta{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:13px;font-weight:750;}
.mini-meta span{display:inline-flex;align-items:center;gap:6px;}
.card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;}
.filter-select{max-width:280px;}
.analysis-card .stat{font-size:34px;margin:4px 0;}
.analysis-bar{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden;}
.analysis-bar span{display:block;height:100%;background:#2563eb;border-radius:999px;}
.analysis-list{display:grid;gap:12px;}
.analysis-list-row{display:grid;gap:6px;}
.analysis-list-row strong{display:flex;justify-content:space-between;gap:12px;font-size:14px;}
.hidden-by-filter{display:none!important;}
.badge-muted{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;}

/* Modul 006 - financije i reklame */
.filter-bar{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin:0 0 18px;
}
.filter-bar select,.filter-bar input{
    min-width:180px;
}
.form-grid{display:grid;gap:16px;}
.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.form-span-2{grid-column:1/-1;}
.check-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    font-weight:700;
    color:var(--text, #172033);
}
.check-row input{width:18px;height:18px;}
.two-col-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin:18px 0;
}
.finance-summary .analysis-card{min-height:130px;}
.stat-income,.amount-income{color:#079455!important;}
.stat-expense,.amount-expense{color:#d92d20!important;}
.amount-income,.amount-expense{font-weight:800;white-space:nowrap;}
.finance-chart{margin:18px 0;}
.month-chart{
    display:grid;
    grid-template-columns:repeat(12,minmax(34px,1fr));
    gap:12px;
    min-height:210px;
    align-items:end;
    padding:20px 8px 4px;
}
.month-col{display:flex;flex-direction:column;align-items:center;gap:8px;height:190px;}
.month-col small{font-weight:700;color:var(--muted,#64748b);}
.bars{
    height:150px;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:5px;
    border-bottom:1px solid var(--line,#e5e7eb);
}
.bars span{
    width:14px;
    min-height:3px;
    border-radius:999px 999px 0 0;
    display:block;
}
.bar-income,.legend-income{background:#12b76a;}
.bar-expense,.legend-expense{background:#f04438;}
.chart-legend{display:flex;gap:18px;justify-content:flex-end;align-items:center;margin-top:8px;color:var(--muted,#64748b);font-weight:700;}
.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;}
.expense-bar span{background:#f04438!important;}
.compact-list{display:flex;flex-direction:column;gap:10px;}
.compact-row{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid var(--line,#e5e7eb);
    border-radius:16px;
    background:#fff;
}
.compact-row strong{display:block;margin-bottom:4px;}
.compact-row span{display:block;color:var(--muted,#64748b);font-size:13px;font-weight:600;}
.status-warning{
    background:#fff4e5!important;
    color:#b54708!important;
    border:1px solid #fedf89!important;
}
.status-muted{
    background:#f2f4f7!important;
    color:#667085!important;
    border:1px solid #eaecf0!important;
}
.status-active{
    background:#ecfdf3!important;
    color:#067647!important;
    border:1px solid #abefc6!important;
}
.ad-grid-admin{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:18px;
    margin-top:18px;
}
.ad-admin-card{
    overflow:hidden;
    border:1px solid var(--line,#e5e7eb);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 36px rgba(15,23,42,.06);
}
.ad-admin-card img{
    width:100%;
    height:180px;
    object-fit:cover;
    display:block;
    background:#f8fafc;
}
.ad-placeholder{
    height:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1f6feb;
    background:linear-gradient(135deg,#eef4ff,#f8fafc);
    font-size:42px;
}
.ad-admin-body{padding:18px;display:flex;flex-direction:column;gap:12px;}
.ad-admin-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ad-admin-body p{margin:0;color:var(--muted,#64748b);line-height:1.5;}
.meta-line{font-size:13px;color:var(--muted,#64748b);font-weight:700;}
.portal-ad-card .btn{align-self:flex-start;}
.btn-light{
    background:#fff!important;
    color:#172033!important;
    border:1px solid var(--line,#d0d5dd)!important;
    box-shadow:none!important;
}
.btn-light:hover{background:#f8fafc!important;}
.muted-text{color:var(--muted,#64748b);font-size:13px;}
@media (max-width: 980px){
    .two-col-grid,.form-grid-2{grid-template-columns:1fr;}
    .form-span-2{grid-column:auto;}
    .month-chart{grid-template-columns:repeat(6,1fr);}
}
@media (max-width: 560px){
    .filter-bar select,.filter-bar input,.filter-bar .btn{width:100%;}
    .month-chart{grid-template-columns:repeat(4,1fr);}
    .ad-grid-admin{grid-template-columns:1fr;}
    .compact-row{align-items:flex-start;flex-direction:column;}
}

/* =========================================================
   UI/UX REFRESH 007 - profinjeniji SaaS izgled
   ========================================================= */
:root{
    --font-main:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --bg:#f6f8fc;
    --surface:#ffffff;
    --text:#07162f;
    --muted:#64748b;
    --border:#dce5f2;
    --border-soft:#e8eef7;
    --color-primary:#1366f2;
    --color-primary-dark:#073763;
    --color-accent:#f59e0b;
    --sidebar-bg:#062b55;
    --shadow:0 10px 30px rgba(15,23,42,.055);
    --shadow-lg:0 18px 50px rgba(15,23,42,.10);
    --radius:18px;
    --radius-sm:13px;
}
*{font-family:var(--font-main);}
body{background:radial-gradient(circle at top left,rgba(19,102,242,.07),transparent 34%),var(--bg);color:var(--text);}
.app{align-items:stretch;}
.sidebar{width:292px;min-height:100vh;position:sticky;top:0;align-self:flex-start;padding:22px 16px;background:linear-gradient(180deg,#063a70 0%,#031d3b 100%);box-shadow:8px 0 28px rgba(2,14,35,.18);overflow-y:auto;}
.sidebar::before{opacity:.12;filter:grayscale(100%) contrast(1.1);}
.content{flex:1;width:calc(100% - 292px);max-width:none;padding:28px clamp(18px,2vw,36px);}
.brand-wrap{padding:0 4px 18px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.10);justify-content:space-between;}
.brand-left{display:flex;align-items:center;gap:12px;min-width:0;}
.brand-logo img{width:56px;height:56px;border-radius:16px;background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.16);}
.brand{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.15;}
.brand-subtitle{font-size:12px;color:rgba(255,255,255,.72);margin-top:3px;font-weight:600;}
.nav{padding-bottom:18px;}
.nav-section-title{margin:18px 10px 8px;color:rgba(226,240,255,.62);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;}
.nav a{min-height:42px;margin-bottom:4px;padding:10px 12px;border-radius:13px;color:rgba(239,246,255,.88);font-weight:750;font-size:14px;letter-spacing:-.01em;border:1px solid transparent;}
.nav a i{width:22px;height:22px;font-size:15px;color:rgba(226,240,255,.82);}
.nav a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.08);transform:translateX(2px);}
.nav a.is-active{background:linear-gradient(135deg,#1d70ff,#0b57df);box-shadow:0 12px 26px rgba(12,92,227,.35);color:#fff;border-color:rgba(255,255,255,.18);}
.nav a.is-active i{color:#fff;}
.topbar{border:1px solid var(--border-soft);border-radius:20px;box-shadow:var(--shadow);align-items:center;padding:14px 16px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);}
.topbar-left{display:flex;align-items:center;gap:20px;flex:1;min-width:0;}
.topbar-title{font-weight:850;display:flex;gap:10px;align-items:center;white-space:nowrap;color:#0f1f3a;}
.topbar-search{max-width:560px;flex:1;display:flex;align-items:center;gap:10px;height:44px;border:1px solid var(--border);border-radius:14px;padding:0 14px;background:#fff;color:#94a3b8;}
.topbar-search input{border:0;box-shadow:none;padding:0;height:auto;background:transparent;font-size:14px;}
.topbar-search input:focus{box-shadow:none;border:0;}
.topbar-user{display:inline-flex;align-items:center;gap:10px;color:#0f1f3a;font-weight:800;white-space:nowrap;}
.topbar-user span{width:38px;height:38px;border-radius:999px;background:#eaf1ff;color:#1366f2;display:grid;place-items:center;font-weight:900;}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 20px;}
.page-head h1{font-size:clamp(28px,2vw,38px);line-height:1.08;margin:0;color:#07162f;letter-spacing:-.04em;}
.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.11em;color:#1366f2;font-weight:900;font-size:12px;}
.page-subtitle,.dashboard-intro{color:#64748b;font-weight:600;line-height:1.6;}
.card,.analysis-card,.ad-admin-card{border:1px solid var(--border-soft);border-radius:22px;box-shadow:var(--shadow);background:rgba(255,255,255,.92);}
.card{padding:22px;}
.btn{border-radius:14px;height:44px;background:linear-gradient(135deg,#1972ff,#0959e8)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 22px rgba(19,102,242,.18);font-weight:850;}
.btn-light{background:#fff!important;color:#1f2f4a!important;border-color:var(--border)!important;box-shadow:none;}
.btn-soft-success{background:#ecfdf3!important;color:#087a35!important;border-color:#9fe5bc!important;box-shadow:none;}
.btn-soft-purple{background:#f6f0ff!important;color:#6d28d9!important;border-color:#d9c4ff!important;box-shadow:none;}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0 22px;}
.kpi-card{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--border-soft);border-radius:22px;padding:22px;box-shadow:var(--shadow);transition:.18s ease;}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.kpi-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:22px;flex:0 0 auto;}
.kpi-blue{background:#eaf1ff;color:#1366f2}.kpi-green{background:#e8f8ef;color:#16a34a}.kpi-orange{background:#fff2df;color:#f97316}.kpi-purple{background:#f2eaff;color:#7c3aed}
.kpi-card small{display:block;color:#64748b;font-weight:800;margin-bottom:3px;}
.kpi-card strong{display:block;font-size:28px;line-height:1;color:#07162f;letter-spacing:-.03em;}
.kpi-card em{display:block;margin-top:6px;font-style:normal;color:#718096;font-size:12px;font-weight:700;}
.quick-actions-inline{display:flex;gap:10px;flex-wrap:wrap;}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) 300px;gap:18px;align-items:start;}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:18px;margin-top:18px;}
.dashboard-panel{margin-top:0;}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.panel-head h3{margin:0;font-size:18px;letter-spacing:-.02em;}.panel-head a,.panel-head span{color:#1366f2;font-size:13px;font-weight:850;}
.activity-row,.notice-card-mini,.vote-row-mini{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--border-soft);color:inherit;}
.activity-row:first-of-type,.notice-card-mini:first-of-type,.vote-row-mini:first-of-type{border-top:0;}
.activity-row strong,.notice-card-mini strong,.vote-row-mini strong{display:block;color:#0f1f3a;margin-bottom:4px;}
.activity-row p,.notice-card-mini p,.vote-row-mini p{margin:0;color:#64748b;font-size:13px;font-weight:700;}
.date-chip{width:64px;height:64px;border-radius:15px;background:#f3f7fd;border:1px solid var(--border-soft);display:grid;place-items:center;line-height:1;flex:0 0 auto;}
.date-chip strong{font-size:23px;margin:0!important}.date-chip span{font-size:11px;color:#64748b;font-weight:900;}
.mini-icon{width:42px;height:42px;border-radius:14px;background:#fff1f2;color:#ef4444;display:grid;place-items:center;flex:0 0 auto;}
.quick-panel{margin-top:0;display:grid;gap:12px;}.quick-panel h3{margin:0 0 4px;}
.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap;}.status-active{background:#dcfce7;color:#166534}.status-muted{background:#f1f5f9;color:#64748b}.status-warning{background:#fff7ed;color:#c2410c}
.finance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;}.finance-stats div{background:#f8fafc;border:1px solid var(--border-soft);border-radius:16px;padding:14px;}.finance-stats span{display:block;color:#64748b;font-size:12px;font-weight:850;margin-bottom:5px}.finance-stats strong{font-size:20px;letter-spacing:-.03em}.positive{color:#059669!important}.negative{color:#dc2626!important}
.empty-state{padding:18px;border-radius:16px;background:#f8fafc;border:1px dashed var(--border);color:#64748b;font-weight:700;text-align:center;}
.dashboard-ad-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:12px 0 22px;}
.ad-banner{min-height:132px;display:flex;align-items:center;gap:18px;border-radius:22px;background:linear-gradient(135deg,#eaf1ff,#fff);border:1px solid #dbeafe;box-shadow:var(--shadow);padding:18px;color:#0f1f3a;overflow:hidden;}
.ad-banner img{width:190px;height:96px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.8);background:#fff;}.ad-banner span{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#1366f2;font-weight:900}.ad-banner strong{display:block;font-size:20px;letter-spacing:-.03em;margin:4px 0}.ad-banner p{margin:0;color:#64748b;font-weight:650;}
/* radio button UI: bez velikih kružića */
.meeting-response-options input[type="radio"]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important;}
.meeting-response-options label{min-width:auto!important;min-height:38px!important;padding:9px 16px!important;border-radius:14px!important;background:#fff!important;color:#1f2f4a!important;border:1px solid #dbe5f0!important;box-shadow:none!important;font-size:14px!important;font-weight:850!important;}
.meeting-response-options label::before{display:none!important;content:none!important;}
.meeting-response-options .choice-yes:has(input:checked),.meeting-response-options .choice-for:has(input:checked){background:#16a34a!important;color:#fff!important;border-color:#16a34a!important;box-shadow:0 10px 22px rgba(22,163,74,.18)!important;}
.meeting-response-options .choice-no:has(input:checked),.meeting-response-options .choice-against:has(input:checked){background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;box-shadow:0 10px 22px rgba(220,38,38,.18)!important;}
.meeting-response-options .choice-maybe:has(input:checked),.meeting-response-options .choice-abstain:has(input:checked){background:#f59e0b!important;color:#fff!important;border-color:#f59e0b!important;box-shadow:0 10px 22px rgba(245,158,11,.18)!important;}
.meeting-response-options label:hover{transform:translateY(-1px);border-color:#9bb3d6!important;}
.analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}.analysis-card{padding:22px;margin:0;}.analysis-bar,.progress{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden}.analysis-bar span{display:block;height:100%;background:linear-gradient(90deg,#1366f2,#0ea5e9);border-radius:999px}.analysis-list{display:grid;gap:14px}.analysis-list-row strong{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:#0f1f3a}.dual-bars{display:grid;gap:5px}.dual-bars span{display:block;height:8px;border-radius:999px}.dual-bars .income{background:#16a34a}.dual-bars .expense{background:#dc2626}.activation-donut{width:142px;height:142px;margin:16px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1366f2 0 75%,#edf2f7 75% 100%);position:relative}.activation-donut::after{content:"";position:absolute;width:98px;height:98px;border-radius:50%;background:#fff}.activation-donut span{position:relative;z-index:1;font-size:28px;font-weight:900;color:#07162f}
.table th{color:#52627a;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.table td{font-weight:650;color:#203047}.table tr:hover td{background:#fbfdff;}
@media (min-width:1800px){.dashboard-layout{grid-template-columns:1.1fr 1fr 360px}.kpi-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:1320px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-layout,.dashboard-bottom-grid{grid-template-columns:1fr}.quick-panel{grid-template-columns:repeat(2,1fr)}.quick-panel h3{grid-column:1/-1}.analysis-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.content{width:100%;padding:18px}.sidebar{position:fixed;min-height:100vh}.topbar-search{display:none}.page-head{display:block}.quick-actions-inline{margin-top:14px}.kpi-grid,.analysis-grid{grid-template-columns:1fr}.quick-panel{grid-template-columns:1fr}.ad-banner{display:block}.ad-banner img{width:100%;height:140px;margin-bottom:12px}.finance-stats{grid-template-columns:1fr}}


/* ================================
   Modul 008: notifikacije, reklame 2.0, aktivnost
   ================================ */

.topbar-actions{
    display:flex;
    align-items:center;
    gap:14px;
}
.portal-topbar{
    align-items:center;
}
.notification-center{
    position:relative;
    display:flex;
    align-items:center;
}
.notification-bell{
    position:relative;
    width:44px;
    height:44px;
    border-radius:14px;
    border:1px solid var(--border-soft);
    background:#fff;
    color:#0f172a;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.notification-bell:hover{
    transform:translateY(-1px);
    border-color:#bfdbfe;
    color:#005089;
}
.notification-bell span{
    position:absolute;
    top:-6px;
    right:-6px;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:900;
    border:2px solid #fff;
}
.notification-panel{
    position:absolute;
    right:0;
    top:54px;
    width:min(380px, calc(100vw - 32px));
    background:#fff;
    border:1px solid var(--border-soft);
    border-radius:20px;
    box-shadow:0 24px 60px rgba(15,23,42,.16);
    overflow:hidden;
    z-index:1000;
    display:none;
}
.notification-panel.is-open{
    display:block;
}
.notification-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid var(--border-soft);
}
.notification-panel-head strong{
    font-size:15px;
    font-weight:900;
}
.notification-panel-head a{
    color:#005089;
    font-size:13px;
    font-weight:800;
}
.notification-empty{
    margin:0;
    padding:18px;
    color:#64748b;
    font-weight:700;
}
.notification-item{
    display:grid;
    grid-template-columns:10px 1fr;
    gap:10px;
    padding:14px 18px;
    border-bottom:1px solid #f1f5f9;
}
.notification-item:last-child{
    border-bottom:0;
}
.notification-item:hover{
    background:#f8fafc;
}
.notification-item.is-unread{
    background:#f0f7ff;
}
.notification-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#cbd5e1;
    margin-top:7px;
}
.notification-item.is-unread .notification-dot{
    background:#009df2;
}
.notification-item strong{
    display:block;
    font-size:14px;
    margin-bottom:3px;
}
.notification-item small{
    display:block;
    color:#64748b;
    line-height:1.35;
}
.nav-pill{
    margin-left:auto;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:11px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.notification-list-page{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.notification-row{
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:14px;
    align-items:center;
    background:#fff;
    border:1px solid var(--border-soft);
    border-radius:20px;
    padding:16px;
    box-shadow:0 10px 28px rgba(15,23,42,.04);
}
.notification-row.is-unread{
    border-color:#bfdbfe;
    background:linear-gradient(180deg,#f8fbff,#fff);
}
.notification-row-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef6ff;
    color:#005089;
}
.notification-row-title{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:4px;
}
.notification-row-body p{
    margin:0 0 6px;
    color:#475569;
}
.notification-row-body small{
    color:#94a3b8;
    font-weight:700;
}
.notification-row-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

/* Reklame 2.0 - slika dominantna, tekst sekundaran */
.dashboard-ad-section{
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:20px;
}
.ad-banner.ad-banner-visual{
    display:block;
    padding:0;
    min-height:0;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--border-soft);
    overflow:hidden;
    box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.ad-banner-image{
    width:100%;
    aspect-ratio:4/3;
    background:#f8fafc;
    overflow:hidden;
}
.ad-banner-image img,
.portal-ad-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ad-banner-copy{
    padding:14px 16px 16px;
}
.ad-banner-copy span,
.portal-ad-body span{
    display:block;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:10px;
    color:#64748b;
    font-weight:900;
    margin-bottom:5px;
}
.ad-banner-copy strong,
.portal-ad-body strong{
    display:block;
    font-size:17px;
    letter-spacing:-.025em;
    color:#0f172a;
}
.ad-banner-copy p,
.portal-ad-body p{
    margin:6px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}
.portal-ad-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:22px;
}
.portal-ad-card{
    overflow:hidden;
    border:1px solid var(--border-soft);
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.portal-ad-image,
.portal-ad-image-link{
    display:block;
}
.portal-ad-image{
    aspect-ratio:4/3;
    background:#f8fafc;
}
.portal-ad-body{
    padding:16px;
}
.portal-ad-more{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:12px;
    font-size:13px;
    font-weight:900;
    color:#005089;
}
.ad-placeholder{
    width:100%;
    height:100%;
    min-height:210px;
}

/* Aktivnost na kartici stanara */
.resident-activity{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:14px 0 4px;
}
.resident-activity span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#475569;
    font-size:12px;
    font-weight:800;
}
.resident-activity i{
    color:#005089;
}

@media (min-width: 1500px){
    .dashboard-ad-section{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .portal-ad-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width: 760px){
    .topbar-actions{
        width:100%;
        justify-content:space-between;
    }
    .notification-row{
        grid-template-columns:42px 1fr;
    }
    .notification-row-actions{
        grid-column:1 / -1;
        justify-content:flex-start;
    }
    .dashboard-ad-section,
    .portal-ad-grid{
        grid-template-columns:1fr;
    }
    .ad-banner-copy,
    .portal-ad-body{
        padding:13px 14px 15px;
    }
}

/* ================================
   Modul 010: bogatiji korisnički dashboard / grafovi
   ================================ */
.dashboard-rich-head{
    align-items:center;
}
.dashboard-head-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.dashboard-kpis-rich .kpi-card{
    color:inherit;
}
.resident-dashboard-visual-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(320px, .8fr);
    gap:18px;
    align-items:stretch;
    margin:20px 0;
}
.dashboard-chart-card{
    min-height:100%;
    overflow:hidden;
}
.chart-card-wide{
    grid-row:span 2;
}
.dashboard-bar-chart{
    height:310px;
    display:grid;
    grid-template-columns:repeat(6, minmax(0,1fr));
    gap:18px;
    align-items:end;
    padding:18px 8px 8px;
    border-radius:20px;
    background:linear-gradient(180deg,#f8fbff 0%, #ffffff 100%);
    border:1px solid var(--border-soft);
}
.dashboard-bar-month{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    min-width:0;
}
.dashboard-bars{
    flex:1;
    width:100%;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:8px;
    min-height:190px;
}
.dashboard-bars span{
    width:min(34%, 34px);
    min-height:7px;
    border-radius:999px 999px 6px 6px;
    transition:.2s ease;
}
.dashboard-bars span:hover{
    transform:translateY(-3px);
    filter:brightness(.98);
}
.dashboard-bars .bar-income,
.legend-income{
    background:linear-gradient(180deg,#22c55e,#16a34a);
}
.dashboard-bars .bar-expense,
.legend-expense{
    background:linear-gradient(180deg,#fb7185,#dc2626);
}
.dashboard-bar-month small{
    font-size:12px;
    font-weight:900;
    color:#64748b;
}
.dashboard-chart-legend{
    justify-content:flex-start;
    margin-top:14px;
}
.dashboard-pie-wrap{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:22px;
    align-items:center;
}
.dashboard-pie{
    width:180px;
    height:180px;
    border-radius:50%;
    display:grid;
    place-items:center;
    position:relative;
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.05), 0 18px 34px rgba(15,23,42,.08);
}
.dashboard-pie::after{
    content:"";
    position:absolute;
    width:112px;
    height:112px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 1px var(--border-soft);
}
.dashboard-pie span{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    text-align:center;
    font-size:20px;
    line-height:1.1;
    font-weight:950;
    letter-spacing:-.04em;
    color:#0f172a;
}
.dashboard-pie-legend{
    display:grid;
    gap:10px;
}
.dashboard-pie-legend div{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    font-size:13px;
    font-weight:850;
    color:#475569;
}
.dashboard-pie-legend i{
    width:12px;
    height:12px;
    border-radius:50%;
}
.dashboard-pie-legend span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dashboard-pie-legend strong{
    color:#0f172a;
}
.dashboard-activity-list{
    display:grid;
    gap:15px;
}
.dashboard-activity-line{
    display:grid;
    gap:8px;
}
.dashboard-activity-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-size:13px;
    font-weight:900;
    color:#475569;
}
.dashboard-activity-meta span{
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.dashboard-activity-meta i{
    color:#1366f2;
}
.dashboard-activity-meta strong{
    color:#0f172a;
}
.participation-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
    align-items:center;
    margin-top:8px;
}
.participation-donut{
    --value:0;
    width:150px;
    max-width:100%;
    aspect-ratio:1;
    border-radius:50%;
    margin:auto;
    display:grid;
    place-items:center;
    position:relative;
    background:conic-gradient(#1366f2 calc(var(--value) * 1%), #e8eef6 0);
}
.participation-donut-alt{
    background:conic-gradient(#f97316 calc(var(--value) * 1%), #e8eef6 0);
}
.participation-donut::after{
    content:"";
    position:absolute;
    width:100px;
    aspect-ratio:1;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 1px var(--border-soft);
}
.participation-donut span,
.participation-donut small{
    position:relative;
    z-index:1;
    display:block;
    text-align:center;
}
.participation-donut span{
    font-size:26px;
    font-weight:950;
    letter-spacing:-.04em;
    color:#0f172a;
    margin-top:-4px;
}
.participation-donut small{
    margin-top:30px;
    position:absolute;
    top:50%;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
    color:#64748b;
}
.participation-details{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}
.participation-details span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid var(--border-soft);
    font-size:12px;
    font-weight:850;
    color:#475569;
}
.dashboard-user-bottom-grid{
    grid-template-columns:minmax(0, 1.15fr) minmax(340px, .85fr);
}
.dashboard-link-cards{
    margin-top:18px;
}
.latest-transactions-panel{
    margin-top:18px;
}
.latest-transactions-list{
    display:grid;
    gap:0;
}
.latest-transaction-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px 0;
    border-top:1px solid var(--border-soft);
}
.latest-transaction-row:first-child{
    border-top:0;
}
.latest-transaction-row strong{
    display:block;
    color:#0f172a;
    margin-bottom:3px;
}
.latest-transaction-row small{
    color:#64748b;
    font-weight:750;
}
.latest-transaction-row b{
    white-space:nowrap;
}
.transaction-type{
    width:42px;
    height:42px;
    border-radius:14px;
    display:grid;
    place-items:center;
    font-size:15px;
}
.transaction-type.is-income{
    background:#dcfce7;
    color:#15803d;
}
.transaction-type.is-expense{
    background:#fee2e2;
    color:#b91c1c;
}
@media (min-width: 1700px){
    .resident-dashboard-visual-grid{
        grid-template-columns:minmax(0, 1.2fr) minmax(360px, .7fr) minmax(360px, .7fr);
    }
    .chart-card-wide{
        grid-column:span 2;
        grid-row:span 1;
    }
}
@media (max-width: 1320px){
    .resident-dashboard-visual-grid,
    .dashboard-user-bottom-grid{
        grid-template-columns:1fr;
    }
    .chart-card-wide{
        grid-row:auto;
    }
}
@media (max-width: 760px){
    .dashboard-rich-head{
        display:block;
    }
    .dashboard-head-actions{
        margin-top:14px;
    }
    .dashboard-head-actions .btn{
        flex:1;
        min-width:150px;
    }
    .resident-dashboard-visual-grid{
        gap:14px;
    }
    .dashboard-bar-chart{
        height:250px;
        gap:9px;
        padding:14px 6px 8px;
    }
    .dashboard-bars{
        gap:4px;
        min-height:150px;
    }
    .dashboard-pie-wrap{
        grid-template-columns:1fr;
        justify-items:center;
    }
    .participation-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .participation-donut{
        width:132px;
    }
    .participation-donut::after{
        width:86px;
    }
    .latest-transaction-row{
        grid-template-columns:auto minmax(0,1fr);
    }
    .latest-transaction-row b{
        grid-column:2;
    }
}

/* =====================================================
   MODUL 011 - UX polish korisnički dashboard + grafovi
   ===================================================== */
.resident-dashboard-visual-grid,
.dashboard-user-bottom-grid{
    gap:24px !important;
    align-items:stretch;
}
.resident-dashboard-visual-grid > .card,
.dashboard-user-bottom-grid > .card{
    min-width:0;
}
.participation-grid{
    gap:22px !important;
    justify-items:center;
}
.participation-donut{
    width:152px;
    overflow:hidden;
    box-shadow:0 16px 32px rgba(15,23,42,.08), inset 0 0 0 1px rgba(15,23,42,.04);
}
.participation-donut::after{
    width:96px !important;
    z-index:0;
}
.participation-donut span,
.participation-donut small{
    position:relative !important;
    z-index:1;
    margin:0 !important;
    top:auto !important;
}
.participation-donut span{
    font-size:25px !important;
    line-height:1 !important;
    transform:translateY(-8px);
}
.participation-donut small{
    position:absolute !important;
    top:calc(50% + 18px) !important;
    left:50%;
    transform:translateX(-50%);
    width:84px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:10px !important;
    letter-spacing:.06em !important;
    line-height:1.1;
}
.participation-details{
    gap:10px !important;
    margin-top:20px !important;
}
.participation-details span{
    min-height:36px;
    padding:8px 12px !important;
}
.profile-info{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
}
.profile-row{
    min-width:0;
    overflow:hidden;
}
.profile-row > div{
    min-width:0;
}
.profile-row strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dashboard-bar-chart,
.dashboard-activity-list{
    margin-top:8px;
}
@media (min-width:1700px){
    .resident-dashboard-visual-grid{
        grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) !important;
    }
    .chart-card-wide{
        grid-column:auto !important;
        grid-row:span 2 !important;
    }
}
@media (max-width:760px){
    .resident-dashboard-visual-grid,
    .dashboard-user-bottom-grid{
        gap:16px !important;
    }
    .participation-grid{
        gap:12px !important;
    }
    .participation-donut{
        width:124px !important;
    }
    .participation-donut::after{
        width:78px !important;
    }
    .participation-donut span{
        font-size:21px !important;
    }
    .participation-donut small{
        top:calc(50% + 14px) !important;
        width:68px;
        font-size:9px !important;
    }
}

/* =====================================================
   MODUL 012 - finalni polish razmaka, grafova i odabira tema
   ===================================================== */
.card,
.dashboard-chart-card,
.dashboard-panel,
.forum-create-card{
    box-sizing:border-box;
}
.resident-dashboard-visual-grid,
.dashboard-user-bottom-grid{
    gap:22px !important;
    align-items:start !important;
}
.dashboard-chart-card{
    padding:24px !important;
    border-radius:26px !important;
}
.dashboard-chart-card .eyebrow{
    margin-bottom:8px !important;
}
.dashboard-chart-card h3,
.dashboard-panel h3{
    margin-top:0 !important;
    margin-bottom:18px !important;
}
.participation-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:34px !important;
    margin:16px 0 12px !important;
    max-width:560px;
}
.participation-donut{
    width:148px !important;
    flex:0 0 148px;
    box-shadow:0 18px 38px rgba(15,23,42,.08), inset 0 0 0 1px rgba(15,23,42,.04) !important;
}
.participation-donut::after{
    width:94px !important;
}
.participation-donut span{
    font-size:25px !important;
    transform:translateY(-7px) !important;
}
.participation-donut small{
    top:calc(50% + 17px) !important;
    width:auto !important;
    min-width:78px;
    max-width:92px;
    text-align:center;
}
.participation-details{
    margin-top:18px !important;
    gap:10px !important;
    max-width:620px;
}
.dashboard-panel,
.dashboard-user-bottom-grid > .card{
    border-radius:26px !important;
}
.profile-info{
    gap:14px !important;
}
.profile-row{
    min-height:72px;
    padding:16px !important;
}
.meeting-layout{
    gap:24px !important;
}
.forum-create-card .stack-form{
    gap:16px;
}
.meeting-topic-picker{
    gap:10px !important;
    max-height:340px !important;
    padding:12px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#f8fbff 0%,#f3f7fb 100%) !important;
}
.meeting-topic-picker label{
    position:relative;
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr);
    gap:12px !important;
    align-items:center !important;
    padding:14px !important;
    border-radius:18px !important;
    background:#fff !important;
    border:1px solid #dbe7f5 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.04);
    transition:.18s ease;
}
.meeting-topic-picker label:hover{
    transform:translateY(-1px);
    border-color:rgba(19,102,242,.35) !important;
    box-shadow:0 14px 26px rgba(15,23,42,.08);
}
.meeting-topic-picker label input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.topic-checkmark{
    width:34px;
    height:34px;
    border-radius:12px;
    display:grid !important;
    place-items:center;
    border:1px solid #cbd7e6;
    background:#f8fafc;
    color:transparent !important;
    transition:.18s ease;
}
.topic-picker-copy{
    min-width:0;
    display:block !important;
}
.topic-picker-copy strong{
    display:block;
    color:#0f172a;
    font-size:14px;
    line-height:1.3;
    margin-bottom:4px;
}
.meeting-topic-picker small{
    display:block !important;
    font-size:12px !important;
    line-height:1.4 !important;
}
.meeting-topic-picker label:has(input:checked){
    border-color:#1366f2 !important;
    background:linear-gradient(180deg,#ffffff 0%,#f1f6ff 100%) !important;
    box-shadow:0 14px 32px rgba(19,102,242,.13);
}
.meeting-topic-picker label:has(input:checked) .topic-checkmark{
    background:#1366f2;
    border-color:#1366f2;
    color:#fff !important;
}
.meeting-topic-search{
    margin-bottom:12px !important;
}
.meeting-topic-search input{
    min-height:48px;
}
.form-group{
    margin-bottom:16px;
}
.form-group label{
    margin-bottom:8px;
}
.stack-form .btn{
    min-height:50px;
}
@media (min-width:1700px){
    .resident-dashboard-visual-grid{
        grid-template-columns:minmax(0,1fr) minmax(420px,.55fr) !important;
    }
    .dashboard-user-bottom-grid{
        grid-template-columns:minmax(0,1fr) minmax(420px,.72fr) !important;
    }
}
@media (max-width:900px){
    .participation-grid{
        justify-content:center !important;
        gap:18px !important;
        max-width:none;
    }
    .participation-details{
        justify-content:center;
    }
}
@media (max-width:560px){
    .dashboard-chart-card{
        padding:18px !important;
    }
    .participation-donut{
        width:122px !important;
        flex-basis:122px;
    }
    .participation-donut::after{
        width:78px !important;
    }
    .participation-donut span{
        font-size:21px !important;
    }
    .participation-donut small{
        top:calc(50% + 14px) !important;
        font-size:9px !important;
    }
    .meeting-topic-picker label{
        grid-template-columns:32px minmax(0,1fr);
        padding:12px !important;
    }
    .topic-checkmark{
        width:30px;
        height:30px;
    }
}
