/* ==========================================================================
   MoTivo – κοινό CSS της εφαρμογής
   Χρώματα από το θέμα Radzen "Software". Βλ. mockup "MoTivo – Δημιουργία εισερχομένου".

   1. Μεταβλητές
   2. Layout (ισχύει σε όλη την εφαρμογή): μενού, footer
   3. Νέο στυλ σελίδας: ΜΟΝΟ μέσα σε .app-page, ώστε οι υπόλοιπες σελίδες
      να μένουν ως έχουν μέχρι να μεταφερθούν μία-μία
   ========================================================================== */

/* 1. Μεταβλητές ------------------------------------------------------------ */
:root {
    /* Κύριο χρώμα (πετρόλ): το ΜΟΝΟ χρώμα δράσης. Μόνο κύριο κουμπί, links, επιλεγμένο στοιχείο. */
    --app-primary: #598087;             /* εικονίδια, brand */
    --app-primary-strong: #4d7076;      /* κουμπιά/links: αντίθεση ~5.4:1 με λευκό (το #598087 έχει ~4.3:1) */
    --app-primary-hover: #3f5e63;       /* hover/πατημένο κουμπί */
    --app-primary-soft: #e2ebec;        /* φόντο επιλεγμένου/εικονιδίου */
    --app-sidebar: #3a474d;
    --app-secondary: #80a4ab;
    --app-text: #3a474d;
    --app-text-strong: #2f3b40;
    --app-muted: #56666d;
    --app-border: #dfe6e9;
    --app-input-border: #cfd8dc;
    --app-surface: #f6f8f9;
    --app-page-bg: #f4f6f7;

    /* Σημασιολογικά: ΜΟΝΟ σε ετικέτες κατάστασης, ποτέ σε κουμπιά (εκτός από Διαγραφή) */
    --app-success: #2e7d5b;
    --app-success-bg: #e6f2ec;
    --app-warning: #8a5300;             /* κείμενο· το #b26a00 για εικονίδια */
    --app-warning-icon: #b26a00;
    --app-warning-bg: #fdf1dc;
    --app-danger: #b3261e;
    --app-danger-bg: #fbe9e7;
    --app-info: #2f6f9f;
    --app-info-bg: #e5eff7;
    --app-viewed-bg: #f5faf7;           /* γραμμή που έχει προβληθεί (π.χ. Εκκρεμότητες) */
    --app-selected-bg: #eef4f5;         /* επιλεγμένη γραμμή */

    --app-footer-height: 34px;         /* το footer είναι σταθερό στο κάτω μέρος της οθόνης */

    --app-radius: 6px;
    --app-radius-card: 10px;

    --app-space-1: 4px;
    --app-space-2: 8px;
    --app-space-3: 16px;
    --app-space-4: 24px;
    --app-space-5: 32px;
}

/* 2. Layout ---------------------------------------------------------------- */

/* Αναζήτηση στο μενού: σκούρο πεδίο που ταιριάζει με το μενού */
.rz-sidebar .ui-autocomplete {
    display: block;
    padding: 8px 12px 6px;
    box-sizing: border-box;
}

.rz-sidebar .ui-autocomplete-input {
    width: 100% !important;
    box-sizing: border-box;
    height: 34px;
    padding: 0 10px 0 34px !important;
    border-radius: var(--app-radius) !important;
    border: 1px solid #56666d !important;
    /* φακός αριστερά */
    background-color: #46555b !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b9c6cb' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 10px center !important;
    color: #ffffff !important;
    font-size: 14px;
    outline: none;
}

    .rz-sidebar .ui-autocomplete-input::placeholder {
        color: #b9c6cb;
    }

    .rz-sidebar .ui-autocomplete-input:focus {
        border-color: var(--app-secondary) !important;
    }

/* Ο Radzen αφήνει inline margin-bottom: 57px στο .rz-body για το (παλιό) ύψος του footer.
   Το footer είναι πλέον --app-footer-height, οπότε ο χώρος προσαρμόζεται (αλλιώς περισσεύει κενό και εμφανίζεται κύλιση). */
.rz-body {
    margin-bottom: var(--app-footer-height) !important;
}

/* Ενεργή σελίδα στο μενού: λεπτή ανοιχτή γραμμή αριστερά */
.rz-sidebar .rz-navigation-item-wrapper-active {
    box-shadow: inset 3px 0 0 var(--app-secondary);
}

/* Footer: πιο λεπτό, με σταθερό ύψος (η μπάρα ενεργειών κολλάει ακριβώς από πάνω του) */
.rz-footer {
    height: var(--app-footer-height);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 12px;
    color: #6b7b82;
    padding-left: var(--app-space-5) !important;
    border-top: 1px solid var(--app-border);
}

/* Μενού σε όλο το ύψος της οθόνης (ο Radzen του αφήνει inline bottom: 57px για το footer) */
.rz-sidebar {
    bottom: 0 !important;
}

/* Footer μόνο στη δεξιά περιοχή, δίπλα στο μενού όταν αυτό είναι ανοιχτό.
   Ο Radzen δηλώνει το ανοιχτό μενού με inline transform: translateX(0px) στο .rz-sidebar. */
.rz-sidebar[style*="translateX(0px)"] ~ .rz-footer {
    left: 250px;
}

/* Σε σελίδες με το νέο στυλ: footer στο χρώμα της σελίδας, χωρίς γραμμή */
body:has(.app-page) .rz-footer {
    background: var(--app-page-bg);
    border-top: none;
}

/* 3. Νέο στυλ σελίδας (.app-page) ------------------------------------------ */

/* Ελαφρύ γκρι φόντο πίσω από τη σελίδα, για να ξεχωρίζουν οι κάρτες.
   Και στο body, ώστε να καλύπτει όλη την οθόνη κι όταν το περιεχόμενο είναι κοντό. */
body:has(.app-page),
.rz-body:has(.app-page) {
    background: var(--app-page-bg) !important;
}

/* Η σελίδα γεμίζει τουλάχιστον όλο το ύψος της οθόνης (οθόνη − header − footer − padding σελίδας),
   ώστε η μπάρα ενεργειών να βρίσκεται πάντα στο κάτω μέρος, ακόμη και με λίγο περιεχόμενο. */
.app-page {
    color: var(--app-text);
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--rz-header-min-height, 3.125rem) - 1px - var(--app-footer-height) - 2 * var(--rz-layout-body-padding, 1rem));
}

    .app-page > form {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    .app-page .app-action-bar {
        margin-top: auto;
    }

    .app-page .rz-tabview {
        margin-bottom: var(--app-space-4);
    }

    /* Καρτέλες: υπογράμμιση στην επιλεγμένη αντί για πλαίσιο */
    .app-page .rz-tabview-nav {
        border-bottom: 1px solid var(--app-border) !important;
        background: transparent !important;
    }

        .app-page .rz-tabview-nav li {
            border: none !important;
            background: transparent !important;
        }

            .app-page .rz-tabview-nav li.rz-tabview-selected {
                box-shadow: inset 0 -3px 0 var(--app-primary) !important;
            }

                .app-page .rz-tabview-nav li.rz-tabview-selected a,
                .app-page .rz-tabview-nav li.rz-tabview-selected span {
                    color: var(--app-primary) !important;
                    font-weight: 600;
                }

    /* Το κουτί των καρτελών και το περιεχόμενό τους χωρίς δικό τους φόντο (το θέμα δίνει ανοιχτό γκρι) */
    .app-page .rz-tabview,
    .app-page .rz-tabview-panels,
    .app-page .rz-tabview-panel {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Κάρτες: λευκές με λεπτό περίγραμμα, χωρίς σκιά */
    .app-page .rz-card {
        background: #ffffff;
        border: 1px solid var(--app-border);
        border-radius: var(--app-radius-card);
        box-shadow: none;
    }

    /* Κουμπιά και πεδία: ίδιο στρογγύλεμα */
    .app-page .rz-button {
        border-radius: var(--app-radius) !important;
    }

    .app-page .rz-textbox,
    .app-page .rz-textarea,
    .app-page .rz-dropdown,
    .app-page .rz-datepicker > .rz-inputtext,
    .app-page .rz-numeric,
    .app-page .rz-autocomplete {
        border-radius: var(--app-radius) !important;
    }

/* 4. Κεφαλίδα σελίδας (Components/PageHeader.razor) ------------------------- */
.app-page-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: var(--app-space-4);
}

.app-page-header-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 10px;
    background: var(--app-primary-soft);
    color: var(--app-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .app-page-header-icon .rzi {
        font-size: 24px;
    }

.app-page-header-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.app-page-header-title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--app-text-strong);
    display: flex;
    align-items: center;
    gap: 10px;
}

.app-page-header-count {
    background: var(--app-primary-soft);
    color: var(--app-primary-strong);
    font-size: 13px;
    font-weight: 700;
    border-radius: 999px;
    padding: 2px 10px;
}

.app-page-header-subtitle {
    font-size: 13px;
    color: var(--app-muted);
}

.app-page-header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

/* 5. Μπάρα ενεργειών φόρμας (Components/FormActionBar.razor) -------------- */
/* Λωρίδα σε όλο το πλάτος της περιοχής περιεχομένου: τα αρνητικά περιθώρια
   αναιρούν το padding της σελίδας (--rz-layout-body-padding του Radzen). */
.app-action-bar {
    position: sticky;
    bottom: var(--app-footer-height);
    z-index: 5;
    display: flex;
    align-items: center;
    gap: var(--app-space-3);
    min-height: 64px;
    box-sizing: border-box;
    margin: var(--app-space-4) calc(-1 * var(--rz-layout-body-padding, 1rem)) calc(-1 * var(--rz-layout-body-padding, 1rem));
    padding: 0 var(--app-space-5);
    background: #ffffff;
    border-top: 1px solid var(--app-border);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, .04);
}

.app-action-bar-status {
    flex-grow: 1;
    min-width: 0;
    font-size: 13px;
    color: var(--app-muted);
}

.app-action-bar-buttons {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

    /* Ίδιο μέγεθος για όλα τα κουμπιά της μπάρας */
    .app-action-bar-buttons .rz-button {
        height: 38px;
        padding: 0 20px !important;
        font-size: 14px !important;
        font-weight: 600;
        border-radius: var(--app-radius) !important;
        box-shadow: none !important;
    }

    /* Κύριο κουμπί: λίγο πιο σκούρο για καλύτερη αντίθεση με το λευκό κείμενο.
       Δεν εφαρμόζεται σε κουμπί με περίγραμμα. */
    .app-action-bar-buttons .rz-button.rz-primary:not(.app-btn-outline) {
        background-color: var(--app-primary-strong) !important;
        border: 1px solid var(--app-primary-strong) !important;
        color: #ffffff !important;
        min-width: 140px;
    }

/* Κύριο κουμπί σε όλη τη σελίδα .app-page (όχι μόνο στη μπάρα) */
.app-page .rz-button.rz-primary:not(.app-btn-outline):not(.app-btn-tool) {
    background-color: var(--app-primary-strong) !important;
    border-color: var(--app-primary-strong) !important;
    color: #ffffff !important;
}

    .app-page .rz-button.rz-primary:not(.app-btn-outline):not(.app-btn-tool):not(:disabled):hover {
        background-color: var(--app-primary-hover) !important;
        border-color: var(--app-primary-hover) !important;
    }

/* Δευτερεύον κουμπί με περίγραμμα (π.χ. Άκυρο) */
.rz-button.app-btn-outline {
    background-color: #ffffff !important;
    background-image: none !important;
    color: var(--app-text) !important;
    border: 1px solid var(--app-input-border) !important;
    box-shadow: none !important;
    min-width: 120px;
}

    .rz-button.app-btn-outline:hover {
        background-color: var(--app-surface) !important;
    }

/* 6. Φόρμες: ετικέτα με εργαλεία δεξιά, υποχρεωτικό πεδίο, μικρά κουμπιά εργαλείων ----------- */
.app-field-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--app-space-2);
    margin-bottom: 6px;
}

.app-required {
    color: var(--app-danger);
    margin-left: 2px;
    font-weight: 600;
}

.app-field-tools {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Μικρό κουμπί εργαλείου: λευκό με περίγραμμα, κείμενο/εικονίδιο στο κύριο χρώμα */
.rz-button.app-btn-tool {
    height: 32px;
    padding: 0 12px !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid var(--app-input-border) !important;
    border-radius: var(--app-radius) !important;
    color: var(--app-primary) !important;
    font-size: 13px !important;
    font-weight: 600;
    box-shadow: none !important;
}

    .rz-button.app-btn-tool:hover {
        background-color: var(--app-surface) !important;
        border-color: var(--app-secondary) !important;
    }

    .rz-button.app-btn-tool .rzi {
        font-size: 16px;
    }

/* Μόνο εικονίδιο: τετράγωνο 32x32 */
.rz-button.app-btn-icon {
    width: 32px;
    padding: 0 !important;
    justify-content: center;
}

    .rz-button.app-btn-icon .rz-button-box {
        justify-content: center;
    }

    .rz-button.app-btn-icon .rzi {
        margin: 0 !important;
    }

/* 7. Επικεφαλίδα καρτέλας (Components/TabLabel.razor) ----------------------- */
.app-tab-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.app-tab-count {
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: var(--app-muted);
    background: #e9eef0;
    border-radius: 999px;
    padding: 3px 8px;
}

.rz-tabview-selected .app-tab-count {
    color: #ffffff;
    background: var(--app-primary-strong);
}

.app-tab-missing {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--app-danger);
    flex-shrink: 0;
}

/* Ένδειξη «Λείπει: …» στη μπάρα ενεργειών */
.app-missing-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .app-missing-status::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--app-danger);
    }

/* Πεδίο μέσα στην κεφαλίδα σελίδας (π.χ. Τοποθεσία πρωτοκόλλησης) */
.app-header-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 330px;
}

.app-header-field-label {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--app-muted);
}

    .app-header-field-label .rzi {
        font-size: 16px;
        color: var(--app-primary);
    }

/* 8. Header (όλα τα layouts) ------------------------------------------------ */
.rz-header {
    box-shadow: none !important;
    border-bottom: 1px solid var(--app-border) !important;
    background: #ffffff !important;
}

.app-header {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: var(--rz-header-min-height, 3.125rem);
    padding-right: 16px;
}

.app-header-spacer {
    flex-grow: 1;
}

.app-brand {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .2px;
    color: var(--app-text-strong);
}

.app-brand-accent {
    color: var(--app-primary);
}

/* Καμπάνα ειδοποιήσεων με αριθμό */
.app-header-bell {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--app-text) !important;
    text-decoration: none !important;
}

    .app-header-bell:hover {
        background: var(--app-surface);
    }

    .app-header-bell .rzi {
        font-size: 22px;
    }

.app-header-bell-count {
    position: absolute;
    top: 2px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    box-sizing: border-box;
    border-radius: 999px;
    background: var(--app-danger);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

.app-header-divider {
    width: 1px;
    height: 28px;
    background: var(--app-border);
}

/* Μενού χρήστη: χωρίς το φόντο/περίγραμμα του RadzenMenu */
.app-header-user .rz-menu {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.app-user-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-align: left;
}

.app-user-avatar {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--app-primary-soft);
    color: var(--app-primary-strong);
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-user-text {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.app-user-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-user-subtitle {
    font-size: 12px;
    color: var(--app-muted);
}

/* 9. Ετικέτες κατάστασης (π.χ. σε λίστες εγγράφων) -------------------------
   <span class="app-status app-status-warning">Λήγει σε 2 ημέρες</span> */
.app-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 20px;
    white-space: nowrap;
    background: var(--app-surface);
    color: var(--app-muted);
}

.app-status-success { background: var(--app-success-bg); color: var(--app-success); }
.app-status-warning { background: var(--app-warning-bg); color: var(--app-warning); }
.app-status-danger  { background: var(--app-danger-bg);  color: var(--app-danger); }
.app-status-info    { background: var(--app-info-bg);    color: var(--app-info); }
.app-status-neutral { background: #eef2f3; color: #56666d; }

/* Αναζήτηση εγγράφων: πλήθος ψηφιακών αρχείων με συνδετήρα */
.app-files-count {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

    .app-files-count .rzi {
        font-size: 14px;
        width: 14px;
        height: 14px;
        line-height: 14px;
    }

/* Τύπος εγγράφου: Εισερχόμενο ροζ, Οίκοθεν κίτρινο, Εξερχόμενο πράσινο */
.app-doctype-incoming { background: #fbeaf0; color: #993556; }
.app-doctype-inhouse  { background: #fdf3d1; color: #7a5a00; }
.app-doctype-outgoing { background: var(--app-success-bg); color: var(--app-success); }

/* 10. Αρχική σελίδα: μπάρα πληροφορίας, γρήγορες ενέργειες, λογότυπο ------- */
.app-info-bar {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: var(--app-space-4);
    border-radius: var(--app-radius-card);
    background: var(--app-info-bg);
    border: 1px solid #c9dcec;
    color: #24587f;
    font-size: 14px;
    line-height: 1.5;
}

    .app-info-bar > .rzi {
        color: var(--app-info);
        font-size: 20px;
        flex-shrink: 0;
    }

.app-section-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--app-muted);
    margin-bottom: 12px;
}

.app-quick-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--app-space-3);
}

.app-quick-action {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    color: inherit !important;
    text-decoration: none !important;
    transition: border-color .15s, box-shadow .15s;
}

    .app-quick-action:hover {
        border-color: var(--app-secondary);
        box-shadow: 0 2px 8px rgba(58, 71, 77, .08);
    }

.app-quick-action-icon {
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
    border-radius: var(--app-radius-card);
    background: var(--app-primary-soft);
    color: var(--app-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .app-quick-action-icon .rzi {
        font-size: 22px;
    }

.app-quick-action-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-quick-action-arrow.rzi {
    font-size: 18px;
    color: var(--app-secondary);
    transition: transform .15s;
}

.app-quick-action:hover .app-quick-action-arrow {
    transform: translateX(3px);
}

.app-quick-action-hint {
    font-size: 13px;
    line-height: 1.45;
    color: var(--app-muted);
}

/* Λογότυπο μικρό, στο κάτω μέρος της σελίδας */
.app-home-logo {
    margin-top: auto;
    padding-top: var(--app-space-5);
    text-align: center;
}

    .app-home-logo img {
        width: 180px;
        max-width: 100%;
    }

/* 11. Λίστες (πίνακες) σε κάρτα: μπάρα εργαλείων, κελιά, κουμπί θέματος ---- */
.app-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 48px 0;
    color: var(--app-muted);
    font-size: 14px;
}

.app-page .app-grid-card {
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

    .app-page .app-grid-card .rz-data-grid {
        border: none;
        border-radius: 0;
    }

.app-grid-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 8px 14px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--app-border);
}

.app-grid-toolbar-selected {
    background: var(--app-selected-bg);
}

.app-grid-toolbar-count {
    font-size: 13px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-page .rz-button.app-btn-link {
    background: transparent !important;
    color: var(--app-primary-strong) !important;
    box-shadow: none !important;
    font-weight: 600;
}

.app-legend {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--app-muted);
}

.app-viewed-check.rzi {
    font-size: 18px;
    color: var(--app-success);
    vertical-align: middle;
}

.app-legend .app-viewed-check.rzi {
    font-size: 15px;
}

.app-legend-viewed {
    width: 14px;
    height: 10px;
    border-radius: 3px;
    background: var(--app-viewed-bg);
    border: 1px solid #cfe3d6;
}

.app-unviewed-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--app-primary-strong);
}

/* Κελιά με δύο γραμμές: κύριο κείμενο και από κάτω μικρό γκρι */
.app-pending-grid .rz-cell-data {
    white-space: normal;
}

.app-cell-main {
    color: var(--app-text-strong);
}

.app-cell-wrap {
    word-break: break-word;
}

.app-cell-sub {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 12px;
    color: var(--app-muted);
}

/* Πρώτη γραμμή κελιού με ετικέτα δίπλα (π.χ. αριθμός πρωτοκόλλου + τύπος) */
.app-cell-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

    .app-cell-title .app-status,
    .app-cell-sub .app-status {
        padding: 0 8px;
        font-size: 11px;
        line-height: 18px;
    }

.app-strong {
    font-weight: 600;
}

/* Επιλεγμένη γραμμή: ίδιο χρώμα με τη μπάρα επιλογής */
.app-page .app-pending-grid .rz-state-highlight > td {
    background-color: var(--app-selected-bg) !important;
}

/* Θέμα: κουμπί σε όλο το πλάτος, κείμενο αριστερά, εικονίδιο δεξιά */
.app-page .rz-button.app-subject-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: auto;
    min-height: 34px;
    padding: 6px 10px !important;
    text-align: left;
    white-space: normal;
    word-break: break-word;
    line-height: 1.4;
    font-size: 13px;
    background: #f3f7f8 !important;
    color: var(--app-text-strong) !important;
    border: 1px solid #d3dfe2 !important;
    border-left: 3px solid var(--app-secondary) !important;
    border-radius: var(--app-radius) !important;
    box-shadow: none !important;
}

    .app-page .rz-button.app-subject-btn .rz-button-box {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
    }

    .app-page .rz-button.app-subject-btn:not(.app-strong) {
        font-weight: 400;
    }

    .app-page .rz-button.app-subject-btn.app-subject-btn-viewed {
        background: #ffffff !important;
        border-color: #cfe3d6 !important;
        border-left-color: var(--app-success) !important;
    }

    .app-page .rz-button.app-subject-btn:hover {
        background: var(--app-primary-soft) !important;
        border-color: var(--app-secondary) !important;
        border-left-color: var(--app-primary-strong) !important;
    }

.app-subject-btn-text {
    flex-grow: 1;
}

.app-page .rz-button.app-subject-btn .rzi {
    flex-shrink: 0;
    font-size: 16px;
    color: var(--app-primary-strong);
    opacity: .75;
}

/* Ενέργειες γραμμής: μικρό κουμπί Προβολή + βελάκι, με περίγραμμα (όχι γεμάτο χρώμα) */
.app-page .app-pending-grid .rz-splitbutton .rz-button.rz-primary {
    height: 30px;
    min-width: 30px;
    padding: 0 8px !important;
    background: #ffffff !important;
    color: var(--app-primary-strong) !important;
    border: 1px solid var(--app-input-border) !important;
    box-shadow: none !important;
}

    .app-page .app-pending-grid .rz-splitbutton .rz-button.rz-primary:not(:disabled):hover {
        background: var(--app-primary-soft) !important;
    }

/* Καρτέλες και επικεφαλίδες πινάκων σε πεζά (το θέμα τα κάνει κεφαλαία) */
.app-page .rz-tabview-nav li a,
.app-page .rz-data-grid th,
.app-page .rz-data-grid th .rz-column-title,
.app-page .rz-data-grid th .rz-column-title-content {
    text-transform: none !important;
    letter-spacing: normal !important;
}

.app-page .rz-tabview-nav li a {
    font-size: 14px;
}

.app-page .rz-tabview-nav li.rz-tabview-selected a {
    color: var(--app-text-strong) !important;
}

    /* Ο αριθμός στην επιλεγμένη καρτέλα: λευκό πάνω σε πετρόλ */
    .app-page .rz-tabview-nav li.rz-tabview-selected .app-tab-count {
        color: #ffffff !important;
    }

/* Επικεφαλίδες πινάκων: ανοιχτό γκρι, μικρά γκρι γράμματα */
.app-page .app-grid-card .rz-data-grid th {
    background: var(--app-surface) !important;
}

.app-page .app-grid-card .rz-data-grid th .rz-column-title-content {
    font-size: 12px;
    font-weight: 600;
    color: var(--app-muted);
}

/* Επιλεγμένη γραμμή: το θέμα κάνει το κείμενο λευκό, το κρατάμε κανονικό */
.app-page .app-pending-grid .rz-state-highlight > td,
.app-page .app-pending-grid .rz-state-highlight > td .rz-cell-data {
    color: var(--app-text) !important;
}

/* Πίνακας σε κάρτα: λεπτές γραμμές ανάμεσα σε γραμμές και στήλες, λευκές γραμμές (χωρίς εναλλάξ γκρι) */
.app-page .app-grid-card .rz-data-grid td,
.app-page .app-grid-card .rz-data-grid th {
    border-left: none !important;
    border-right: 1px solid #edf1f2 !important;
}

    .app-page .app-grid-card .rz-data-grid td:last-child,
    .app-page .app-grid-card .rz-data-grid th:last-child {
        border-right: none !important;
    }

.app-page .app-grid-card .rz-data-grid td {
    border-bottom: 1px solid #edf1f2 !important;
}

.app-page .app-grid-card .rz-data-row > td,
.app-page .app-grid-card .rz-grid-table-striped .rz-data-row:nth-child(even) > td,
.app-page .app-grid-card .rz-data-row:hover:not(.rz-state-highlight) > td {
    background-color: #ffffff;
}

/* Ημερομηνίες σε μία γραμμή (να μην κόβονται) */
.app-cell-sub,
.app-pending-grid td .rz-cell-data > div {
    white-space: nowrap;
}

/* Σελιδοποίηση πινάκων σε κάρτα: περίληψη αριστερά, μικρά τετράγωνα κουμπιά δεξιά */
.app-page .app-grid-card .rz-pager {
    padding: 10px 14px;
    background: #ffffff;
    border: none;
    border-top: 1px solid var(--app-border);
    gap: 6px;
}

.app-page .app-grid-card .rz-pager-summary {
    font-size: 13px;
    color: var(--app-muted);
    margin-inline-end: auto;
}

.app-page .app-grid-card .rz-pager-page,
.app-page .app-grid-card .rz-pager-first,
.app-page .app-grid-card .rz-pager-prev,
.app-page .app-grid-card .rz-pager-next,
.app-page .app-grid-card .rz-pager-last {
    min-width: 32px;
    height: 32px;
    padding: 0 6px;
    border: 1px solid var(--app-input-border) !important;
    border-radius: var(--app-radius) !important;
    background: #ffffff !important;
    color: var(--app-text) !important;
    font-size: 13px;
    box-shadow: none !important;
}

    .app-page .app-grid-card .rz-pager-page:hover:not(.rz-state-active),
    .app-page .app-grid-card .rz-pager-first:hover,
    .app-page .app-grid-card .rz-pager-prev:hover,
    .app-page .app-grid-card .rz-pager-next:hover,
    .app-page .app-grid-card .rz-pager-last:hover {
        background: var(--app-primary-soft) !important;
    }

.app-page .app-grid-card .rz-pager-page.rz-state-active {
    background: var(--app-primary-strong) !important;
    border-color: var(--app-primary-strong) !important;
    color: #ffffff !important;
    font-weight: 600;
}

.app-page .app-grid-card .rz-pager .rz-state-disabled {
    opacity: .45;
}

/* 12. Σελίδα σύνδεσης (Pages/Public/Public_Login.razor) --------------------- */
body:has(.app-login) {
    background: var(--app-page-bg);
}

.app-login {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--app-space-5);
    box-sizing: border-box;
}

.app-login-card {
    width: 100%;
    max-width: 940px;
    min-height: 540px;
    display: flex;
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(58, 71, 77, .08);
}

.app-login-brand {
    width: 50%;
    flex-shrink: 0;
    background: var(--app-primary-soft);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    box-sizing: border-box;
    text-align: center;
}

    .app-login-brand img {
        width: 300px;
        max-width: 100%;
    }

.app-login-welcome {
    margin-top: 28px;
    max-width: 320px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--app-text);
}

.app-login-form {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 56px;
    box-sizing: border-box;
}

.app-login-org {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    color: var(--app-primary);
}

.app-login-title {
    margin: 6px 0 4px;
    font-size: 26px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-login-hint {
    margin-bottom: 28px;
    font-size: 14px;
    color: var(--app-muted);
}

.app-login-label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--app-text);
}

/* Πεδίο με εικονίδιο: το πλαίσιο είναι στο div, όχι στο input */
.app-login-field {
    height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    margin-bottom: 18px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid var(--app-input-border);
    border-radius: var(--app-radius);
}

    .app-login-field:focus-within {
        border-color: var(--app-primary-strong);
        box-shadow: 0 0 0 3px var(--app-primary-soft);
    }

    .app-login-field > .rzi {
        font-size: 20px;
        color: var(--app-primary);
    }

    .app-login-field .rz-textbox {
        flex-grow: 1;
        min-width: 0;
        height: 100%;
        padding: 0;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        font-size: 14px;
        color: var(--app-text-strong);
    }

.app-login-eye {
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
    background: transparent;
    color: #8a9aa1;
    cursor: pointer;
}

    .app-login-eye:hover {
        color: var(--app-primary-strong);
    }

    .app-login-eye .rzi {
        font-size: 20px;
    }

.app-login-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 26px;
}

    .app-login-remember .rz-label {
        margin: 0;
        font-size: 14px;
        cursor: pointer;
    }

.rz-button.app-login-btn {
    width: 100%;
    height: 46px;
    font-size: 15px;
    font-weight: 600;
    background: var(--app-primary-strong) !important;
    border-radius: var(--app-radius) !important;
    box-shadow: none !important;
}

    .rz-button.app-login-btn:not(:disabled):hover {
        background: var(--app-primary-hover) !important;
    }

.app-login-footer {
    margin-top: 20px;
    font-size: 12px;
    color: #6b7b82;
}

/* Αποσύνδεση: μικρότερη κάρτα, μπάρα προόδου */
.app-login-card-small {
    max-width: 820px;
    min-height: 400px;
}

.app-login-progress {
    height: 4px;
    margin-bottom: 16px;
}

/* 13. Οθόνη φόρτωσης πριν ξεκινήσει η εφαρμογή (wwwroot/index.html) --------- */
body:has(.app-boot) {
    background: var(--app-page-bg);
}

.app-boot {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.app-boot-logo {
    width: 220px;
    max-width: 60vw;
}

.app-boot-spinner {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 3px solid var(--app-primary-soft);
    border-top-color: var(--app-primary-strong);
    animation: app-boot-spin .8s linear infinite;
}

.app-boot-text {
    font-size: 14px;
    color: var(--app-muted);
}

@keyframes app-boot-spin {
    to {
        transform: rotate(360deg);
    }
}

/* 14. Σελίδα με δέντρο αριστερά και πίνακα δεξιά (π.χ. Εκκρεμότητες ανά τμήμα) */
.app-split {
    flex-grow: 1;
    display: flex;
    gap: var(--app-space-3);
    min-height: 0;
    margin-bottom: var(--app-space-4);
}

.app-split-side {
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

.app-split-side-header {
    padding: 12px 14px;
    border-bottom: 1px solid var(--app-border);
}

    .app-split-side-header .app-section-title {
        margin-bottom: 8px;
    }

.app-split-side-body {
    flex-grow: 1;
    padding: 8px;
    overflow: auto;
}

.app-split-main {
    flex-grow: 1;
    min-width: 0;
    align-self: flex-start;
}

/* Πεδίο αναζήτησης με φακό */
.app-search-field {
    height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    box-sizing: border-box;
    border: 1px solid var(--app-input-border);
    border-radius: var(--app-radius);
    background: #ffffff;
}

    .app-search-field:focus-within {
        border-color: var(--app-primary-strong);
        box-shadow: 0 0 0 3px var(--app-primary-soft);
    }

    .app-search-field > .rzi {
        font-size: 18px;
        color: #8a9aa1;
    }

    .app-search-field .rz-textbox {
        flex-grow: 1;
        min-width: 0;
        height: 100%;
        padding: 0;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 13px;
    }

/* Δέντρο: επιλεγμένο όπως στο μενού (απαλό πετρόλ με γραμμή αριστερά) */
.app-tree.rz-tree {
    background: transparent;
    border: none;
    padding: 0;
}

.app-tree .rz-treenode-content {
    background: transparent !important;
    box-shadow: none !important;
}

/* Το χρώμα μπαίνει στο label (εκεί το βάζει και το θέμα) */
.app-tree .rz-treenode-label {
    border-radius: var(--app-radius) !important;
    font-size: 13px;
    color: var(--app-text) !important;
    background-color: transparent !important;
}

.app-tree .rz-treenode-content:not(.rz-treenode-content-selected):hover .rz-treenode-label {
    background-color: var(--app-surface) !important;
}

.app-tree .rz-treenode-content-selected .rz-treenode-label {
    background-color: var(--app-primary-soft) !important;
    color: var(--app-text-strong) !important;
    font-weight: 600;
    box-shadow: inset 3px 0 0 var(--app-primary-strong);
}

/* Κεφαλίδα κάρτας πίνακα: όνομα επιλογής + αριθμός */
.app-grid-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--app-border);
}

    .app-grid-card-header > .rzi {
        font-size: 20px;
        color: var(--app-primary-strong);
    }

.app-grid-card-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--app-text-strong);
}

/* Κενή κατάσταση: εικονίδιο και οδηγία στο κέντρο */
.app-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 64px 24px;
    color: var(--app-muted);
    font-size: 14px;
    text-align: center;
}

    .app-empty > .rzi {
        font-size: 40px;
        color: var(--app-secondary);
    }

/* 15. Προβολή εγγράφου (Pages/User/Documents/View/DocumentView.razor) ------- */

/* Η κεφαλίδα της προβολής αντικαθιστά τον τίτλο του παραθύρου */
.rz-dialog:has(.app-docview-header) .rz-dialog-titlebar {
    display: none;
}

.app-docview-header {
    display: flex;
    align-items: flex-start;
    gap: var(--app-space-3);
    padding: 4px 0 var(--app-space-3);
}

.app-docview-header-main {
    flex-grow: 1;
    min-width: 0;
}

.app-docview-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 13px;
    color: var(--app-muted);
}

.app-docview-ref {
    font-size: 20px;
    font-weight: 700;
    color: var(--app-text-strong);
}

.app-docview-sep {
    color: #b7c5ca;
}

.rz-button.app-link-btn {
    padding: 0 !important;
    height: auto;
    min-height: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--app-primary-strong) !important;
    font-size: 13px;
    font-weight: 600;
}

    .rz-button.app-link-btn .rzi {
        font-size: 15px;
    }

.app-docview-title {
    margin: 8px 0 4px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--app-text-strong);
}

.app-docview-parties {
    font-size: 13px;
    color: var(--app-muted);
}

    .app-docview-parties span {
        color: var(--app-text-strong);
    }

.rz-button.app-docview-action-btn {
    height: 36px;
    background: var(--app-primary-strong) !important;
    font-weight: 600;
    box-shadow: none !important;
    white-space: nowrap;
}

    .rz-button.app-docview-action-btn:not(:disabled):hover {
        background: var(--app-primary-hover) !important;
    }

.rz-button.app-docview-close {
    width: 36px !important;
    height: 36px !important;
    color: var(--app-text) !important;
}

/* Καρτέλες όπως στις σελίδες: υπογράμμιση, πεζά, αριθμός σε σήμα */
.app-docview .rz-tabview-nav {
    border-bottom: 1px solid var(--app-border) !important;
    background: transparent !important;
}

    .app-docview .rz-tabview-nav li {
        border: none !important;
        background: transparent !important;
    }

        .app-docview .rz-tabview-nav li a {
            text-transform: none !important;
            letter-spacing: normal !important;
            font-size: 14px;
        }

        .app-docview .rz-tabview-nav li.rz-tabview-selected {
            box-shadow: inset 0 -3px 0 var(--app-primary-strong) !important;
        }

            .app-docview .rz-tabview-nav li.rz-tabview-selected a {
                color: var(--app-text-strong) !important;
                font-weight: 600;
            }

            .app-docview .rz-tabview-nav li.rz-tabview-selected .app-tab-count {
                color: #ffffff !important;
            }

.app-docview .rz-tabview,
.app-docview .rz-tabview-panels {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Στοιχεία εγγράφου: δύο στήλες με κάρτες */
.app-docview-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--app-space-3);
    align-items: start;
    padding-bottom: var(--app-space-4);
}

.app-docview-column {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
    min-width: 0;
}

.app-docview-card {
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

.app-docview-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--app-border);
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text-strong);
}

    .app-docview-card-header > .rzi {
        font-size: 18px;
        color: var(--app-primary);
    }

.app-docview-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    padding: 16px;
}

.app-docview-field-wide {
    grid-column: 1 / -1;
}

.app-docview-field-label {
    margin-bottom: 3px;
    font-size: 12px;
    color: var(--app-muted);
}

.app-docview-field-value {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 14px;
    color: var(--app-text-strong);
    word-break: break-word;
    white-space: pre-line;
}

.app-docview-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    border-bottom: 1px solid #edf1f2;
}

    .app-docview-row:last-child {
        border-bottom: none;
    }

.app-docview-row-text {
    flex-grow: 1;
    min-width: 0;
}

.app-docview-row-title {
    font-size: 14px;
    color: var(--app-text-strong);
    word-break: break-word;
}

.app-docview-row-sub {
    margin-top: 2px;
    font-size: 12px;
    color: var(--app-muted);
    word-break: break-word;
}

.app-file-icon {
    width: 38px;
    height: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--app-radius);
    background: var(--app-danger-bg);
    color: var(--app-danger);
    font-size: 10px;
    font-weight: 700;
}

.rz-button.app-btn-tool.app-btn-icon {
    flex-shrink: 0;
}

/* Πίνακας μέσα σε κάρτα της προβολής (π.χ. Εσωτερική διανομή) */
.app-docview-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .app-docview-table th {
        padding: 9px 16px;
        text-align: left;
        font-size: 12px;
        font-weight: 600;
        color: var(--app-muted);
        background: var(--app-surface);
        border-bottom: 1px solid var(--app-border);
    }

    .app-docview-table td {
        padding: 10px 16px;
        color: var(--app-text-strong);
        vertical-align: top;
        border-bottom: 1px solid #edf1f2;
    }

    .app-docview-table tr:last-child td {
        border-bottom: none;
    }

.rzi.app-icon-yes {
    color: var(--app-success);
}

.rzi.app-icon-no {
    color: #9fb0b6;
}

/* Προβολή εγγράφου: περιεχόμενο των υπόλοιπων καρτελών */
.app-docview-pane {
    height: 67vh;
    overflow-y: auto;
    margin-bottom: 30px;
    padding-top: 4px;
}

    .app-docview-pane.app-docview-pane-with-bar {
        height: calc(67vh - 64px);
        margin-bottom: 0;
    }

.app-docview-narrow {
    max-width: 960px;
}

.app-docview-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.rz-button.app-docview-add-btn {
    height: 34px;
    background: var(--app-primary-strong) !important;
    border-radius: var(--app-radius) !important;
    box-shadow: none !important;
    font-weight: 600;
}

    .rz-button.app-docview-add-btn:not(:disabled):hover {
        background: var(--app-primary-hover) !important;
    }

.app-docview .app-grid-card {
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

    .app-docview .app-grid-card .rz-data-grid {
        border: none;
        border-radius: 0;
    }

    .app-docview .app-grid-card .rz-data-grid th {
        background: var(--app-surface) !important;
    }

        .app-docview .app-grid-card .rz-data-grid th,
        .app-docview .app-grid-card .rz-data-grid th .rz-column-title-content {
            text-transform: none !important;
            letter-spacing: normal !important;
            font-size: 12px;
            font-weight: 600;
            color: var(--app-muted);
        }

    .app-docview .app-grid-card .rz-data-grid td,
    .app-docview .app-grid-card .rz-data-grid th {
        border-left: none !important;
        border-right: none !important;
    }

/* Ιστορικό: κάθετη λίστα με εικονίδιο σε κύκλο */
.app-timeline-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 20px;
}

    .app-timeline-item:not(:last-child)::before {
        content: "";
        position: absolute;
        left: 36px;
        top: 48px;
        bottom: -12px;
        width: 2px;
        background: var(--app-border);
    }

.app-timeline-dot {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid var(--app-secondary);
}

    .app-timeline-dot .rzi {
        font-size: 17px;
        color: var(--app-primary-strong);
    }

.rz-button.app-link-btn.app-timeline-title {
    font-size: 14px;
    text-align: left;
    white-space: normal;
}

.app-timeline-date {
    padding-top: 4px;
    font-size: 12px;
    color: var(--app-muted);
    white-space: nowrap;
}

/* Ροή: δέντρο αριστερά, λεπτομέρειες δεξιά */
.app-docview-flow {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--app-space-3);
    align-items: start;
}

.app-docview-flow-tree {
    padding: 10px;
}

.app-docview-flow-details {
    padding: 16px;
}

.app-docview-flow-label {
    margin-top: 16px;
}

.app-note-box {
    padding: 10px 12px;
    border-radius: 8px;
    background: #fdf6e3;
    border: 1px solid #f1e3b8;
    font-size: 14px;
    line-height: 1.5;
    color: var(--app-text);
}

.app-docview-row.app-docview-row-boxed {
    margin-top: 6px;
    border: 1px solid #edf1f2;
    border-radius: 8px;
}

/* Σημειώσεις χρηστών: σαν σχόλια */
.app-comment {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #edf1f2;
}

    .app-comment:last-child {
        border-bottom: none;
    }

.app-comment-head {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.app-comment-text {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--app-text);
    white-space: pre-line;
    word-break: break-word;
}

/* Ενέργειες: μπάρα αποθήκευσης κάτω */
.app-docview-savebar {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 64px;
    padding: 0 4px;
    border-top: 1px solid var(--app-border);
    background: #ffffff;
}

.rz-button.app-btn-danger-icon .rzi {
    color: var(--app-danger);
}

/* Ειδοποιήσεις: κάρτα ρύθμισης */
.app-docview-setting {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
}

    .app-docview-setting .app-quick-action-icon {
        margin-bottom: 0;
        width: 40px;
        height: 40px;
    }

/* Ιστορικό: timeline εναλλάξ, με κάθε ενέργεια σε μικρή λευκή κάρτα */
.app-timeline-card {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 8px 12px;
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
}

/* Σημεία του timeline: ίδιο στυλ με τους κόμβους της ροής (απαλός κύκλος, εικονίδιο ανά ενέργεια) */
.app-timeline .rz-timeline-point {
    background: var(--app-primary-soft) !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 0 0 1px var(--app-border);
}

    .app-timeline .rz-timeline-point .rzi {
        font-size: 20px;
        color: var(--app-primary-strong) !important;
    }

.app-timeline .app-timeline-external .rz-timeline-point {
    background: var(--app-success-bg) !important;
}

    .app-timeline .app-timeline-external .rz-timeline-point .rzi {
        color: var(--app-success) !important;
    }

.app-docview-flow-details > .app-docview-flow-label:first-child {
    margin-top: 0;
}

/* Ιστορικό: timeline αριστερά, λεπτομέρειες ενέργειας δεξιά */
.app-docview-history {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: var(--app-space-3);
    align-items: start;
}

.app-docview-history-details {
    position: sticky;
    top: 0;
}

.app-docview-history-body {
    padding: 16px;
}

    .app-docview-history-body .datatable td,
    .app-docview-history-body .datatable th {
        border: none !important;
        border-bottom: 1px solid #edf1f2 !important;
        font-size: 13px;
    }

    .app-docview-history-body .datatable th {
        background: transparent !important;
        color: var(--app-muted);
        font-weight: 600;
    }

.app-timeline-card-selected {
    border-color: var(--app-primary-strong);
    background: var(--app-primary-soft);
    box-shadow: inset 3px 0 0 var(--app-primary-strong);
}

/* Γρήγορη προβολή (Dialogs/QuickView.razor): κουμπιά κεφαλίδας, προεπισκόπηση αρχείων */
.rz-button.app-btn-outline.app-docview-header-btn {
    height: 36px;
    min-width: 0;
    white-space: nowrap;
}

.app-docview-preview + .app-docview-preview {
    margin-top: var(--app-space-3);
}

.app-docview-preview .app-file-icon {
    width: 34px;
    height: 28px;
}

.app-docview-preview-frame {
    height: calc(67vh - 72px);
}

/* Ροή εγγράφου: κόμβος με εικονίδιο ανά ενέργεια */
.app-flow-node {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 2px 0;
}

    .app-flow-node > .rzi {
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--app-primary-soft);
        color: var(--app-primary-strong);
        font-size: 18px;
    }

    .app-flow-node.app-flow-node-external > .rzi {
        background: var(--app-success-bg);
        color: var(--app-success);
    }

/* Στοιχεία επικοινωνίας (Components/ContactInformationData.razor) */
.app-contact {
    max-width: 640px;
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

.app-contact-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid #edf1f2;
}

    .app-contact-row:last-child {
        border-bottom: none;
    }

    .app-contact-row .app-quick-action-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 0;
    }

.app-contact-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--app-primary-strong) !important;
}

/* Προβολή/γρήγορη προβολή: κύλιση μόνο μέσα στην καρτέλα (.app-docview-pane), όχι και στο πλαίσιο των καρτελών */
.app-docview .rz-tabview-panel {
    overflow: visible !important;
    max-height: none !important;
}

/* Προεπισκόπηση PDF σε παράθυρο (Dialogs/PdfPreview.razor) */
.app-pdf-preview {
    height: calc(92vh - 110px);
}

/* 16. Ειδοποιήσεις (RadzenNotification): λευκή κάρτα, χρώμα μόνο σε γραμμή αριστερά και εικονίδιο */
:root {
    --rz-notification-shadow: 0 8px 24px rgba(58, 71, 77, .14);
    --rz-notification-border-radius: 10px;
    --rz-notification-padding: 12px 14px;
    --rz-notification-gap: 12px;

    --rz-notification-success-background-color: #ffffff;
    --rz-notification-error-background-color: #ffffff;
    --rz-notification-warning-background-color: #ffffff;
    --rz-notification-info-background-color: #ffffff;

    --rz-notification-success-color: var(--app-text);
    --rz-notification-error-color: var(--app-text);
    --rz-notification-warning-color: var(--app-text);
    --rz-notification-info-color: var(--app-text);

    --rz-notification-success-icon-color: var(--app-success);
    --rz-notification-error-icon-color: var(--app-danger);
    --rz-notification-warning-icon-color: var(--app-warning);
    --rz-notification-info-icon-color: var(--app-info);
}

.rz-notification-item-wrapper {
    width: 360px;
    min-width: 0;
    margin: 12px 0;
}

.rz-notification-item {
    border: 1px solid var(--app-border);
    border-left-width: 4px;
}

.rz-notification-success .rz-notification-item { border-left-color: var(--app-success); }
.rz-notification-error .rz-notification-item { border-left-color: var(--app-danger); }
.rz-notification-warn .rz-notification-item { border-left-color: var(--app-warning-icon); }
.rz-notification-info .rz-notification-item { border-left-color: var(--app-info); }

/* Εικονίδιο σε απαλό κύκλο */
.rz-notification-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 18px;
}

.rz-notification-success .rz-notification-icon { background: var(--app-success-bg); }
.rz-notification-error .rz-notification-icon { background: var(--app-danger-bg); }
.rz-notification-warn .rz-notification-icon { background: var(--app-warning-bg); }
.rz-notification-info .rz-notification-icon { background: var(--app-info-bg); }

.rz-notification-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.rz-notification-content {
    margin-top: 2px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--app-muted);
}

.rz-notification-close {
    color: #8a9aa1;
}

    .rz-notification-close:hover {
        color: var(--app-text);
        opacity: 1;
    }

/* 17. Αναζήτηση εγγράφων (Pages/User/Documents/User_Document_Index.razor) */
.app-search-card {
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
    margin-bottom: var(--app-space-3);
}

.app-search-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.app-search-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
}

    .app-search-column + .app-search-column {
        border-left: 1px solid #edf1f2;
    }

.app-search-row {
    display: flex;
    gap: 12px;
}

    .app-search-row:empty {
        display: none;
    }

.app-filter-field {
    flex: 1;
    min-width: 0;
}

    .app-filter-field.app-filter-field-narrow {
        flex: 0 0 210px;
    }

    .app-filter-field > .rz-label {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 5px;
        font-size: 12px;
        font-weight: 600;
        color: var(--app-muted);
    }

    /* Ετικέτα υποχρεωτικού πεδίου: το αστεράκι μένει δίπλα της, στην ίδια γραμμή */
    .app-filter-field > .rz-label:has(+ .app-required) {
        display: inline-block;
        max-width: calc(100% - 14px);
        vertical-align: bottom;
    }

    .app-filter-field > .rz-label + .app-required {
        display: inline-block;
        margin-bottom: 5px;
        font-size: 12px;
        line-height: 1;
        vertical-align: bottom;
    }

/* Κουμπάκια κατάστασης που ανάβουν όταν είναι επιλεγμένα */
.app-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.app-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--app-input-border);
    border-radius: 999px;
    background: #ffffff;
    color: var(--app-text);
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

    .app-chip:hover {
        background: var(--app-surface);
    }

    .app-chip.app-chip-on {
        background: var(--app-primary-soft);
        border-color: var(--app-secondary);
        color: var(--app-text-strong);
        font-weight: 600;
    }

    .app-chip .rzi {
        font-size: 16px;
        color: var(--app-primary-strong);
    }

.app-search-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--app-surface);
    border-top: 1px solid var(--app-border);
}

.app-page .rz-button.app-search-submit {
    min-width: 150px;
    height: 36px;
    font-weight: 600;
}

.app-search-results {
    margin-bottom: var(--app-space-4);
}

/* Το autocomplete με ίδιο μέγεθος γραμμάτων με τα υπόλοιπα πεδία */
.app-filter-field .rz-autocomplete-input {
    font-size: 14px;
}

/* 18. Παράθυρο «Επιλογή επόμενης ενέργειας» (Dialogs/PendingActionsNextAction.razor) */
.app-nextaction-doc {
    display: flex;
    gap: 8px;
    margin: -4px 0 14px;
    font-size: 13px;
    color: var(--app-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-nextaction-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

    .app-nextaction-body .app-docview-field-label {
        font-weight: 600;
        margin-bottom: 8px;
    }

.app-action-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
}

.app-action-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px;
    text-align: left;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    background: #ffffff;
    font-family: inherit;
    cursor: pointer;
}

    .app-action-tile:hover {
        border-color: var(--app-secondary);
    }

    .app-action-tile.app-action-tile-selected {
        border: 2px solid var(--app-primary-strong);
        padding: 11px;
        background: var(--app-primary-soft);
    }

.app-action-tile-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--app-primary-soft);
    color: var(--app-primary);
}

    .app-action-tile-icon .rzi {
        font-size: 18px;
    }

.app-action-tile-selected .app-action-tile-icon {
    background: var(--app-primary-strong);
    color: #ffffff;
}

.app-action-tile-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-action-tile-hint {
    font-size: 11px;
    line-height: 1.35;
    color: var(--app-muted);
}

.app-nextaction-recipients-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

    .app-nextaction-recipients-head .app-docview-field-label {
        margin-bottom: 0;
    }

.app-tab-count.app-tab-count-strong {
    background: var(--app-primary-strong);
    color: #ffffff;
}

.app-chips.app-chips-right {
    justify-content: flex-end;
}

.app-chip.app-chip-removable {
    height: 28px;
    padding: 0 4px 0 10px;
    font-size: 12px;
    cursor: default;
}

.app-chip-remove {
    display: inline-flex;
    align-items: center;
    padding: 2px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--app-muted);
    cursor: pointer;
}

    .app-chip-remove:hover {
        background: #ffffff;
        color: var(--app-danger);
    }

    .app-chip-remove .rzi {
        font-size: 14px;
        color: inherit;
    }

.app-nextaction-tree-search {
    padding: 10px;
    border-bottom: 1px solid #edf1f2;
}

.app-nextaction-tree {
    height: 320px;
    padding: 8px;
    overflow: auto;
}

.app-nextaction-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px -20px -20px;
    padding: 12px 20px;
    background: var(--app-surface);
    border-top: 1px solid var(--app-border);
}

/* 19. Παράθυρο αναζήτησης σχετικού εγγράφου (Dialogs/AddDocumentRelation.razor) */
.app-relation .app-docview-field-label {
    margin-bottom: 6px;
}

.app-relation-search {
    display: flex;
    gap: 10px;
    align-items: center;
}

    .app-relation-search .app-search-field {
        flex-grow: 1;
        height: 36px;
    }

.app-relation-results-label {
    margin-top: 18px;
}

/* Επιλεγμένη γραμμή: ίδιο χρώμα με τις υπόλοιπες λίστες, κείμενο κανονικό */
.app-relation-grid .rz-data-row {
    cursor: pointer;
}

.app-relation-grid .rz-state-highlight > td {
    background-color: var(--app-primary-soft) !important;
    color: var(--app-text) !important;
}

.app-relation .app-empty {
    padding: 40px 24px;
}

/* 20. Αναζήτηση ενεργειών (Pages/User/ArchivedDocuments/User_ArchivedActions_Index.razor) */
.app-filter-field.app-filter-field-wide {
    flex: 1.5;
}

.app-action-name .rzi {
    font-size: 18px;
    color: var(--app-primary-strong);
}

/* Σημειώσεις: έως 3 γραμμές */
.app-action-notes {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

    .app-action-notes p {
        margin: 0;
    }

/* 21. Παράθυρα «Προσθήκη σε λίστα» / «Προσθήκη σε προσωπική λίστα» (Dialogs/AddToList.razor, AddToPersonalList.razor) */

/* Η κεφαλίδα του παραθύρου (με εικονίδιο) αντικαθιστά τον τίτλο του Radzen */
.rz-dialog:has(.app-listdlg-header) .rz-dialog-titlebar {
    display: none;
}

.app-listdlg-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: -20px -20px 18px;
    padding: 14px 12px 14px 20px;
    border-bottom: 1px solid var(--app-border);
}

.app-listdlg-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--app-primary-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .app-listdlg-icon .rzi {
        font-size: 18px;
        color: var(--app-primary-strong);
    }

.app-listdlg-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.rz-button.app-listdlg-close {
    color: var(--app-text);
}

.app-listdlg-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 14px;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--app-info-bg);
    color: var(--app-info);
    font-size: 13px;
}

    .app-listdlg-note .rzi {
        font-size: 18px;
    }

.app-listdlg-label {
    margin-top: 18px;
    margin-bottom: 6px;
}

.app-listdlg-existing {
    border: 1px solid var(--app-border);
    border-radius: 10px;
    overflow: hidden;
}

.app-listdlg-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    font-size: 13px;
}

    .app-listdlg-row + .app-listdlg-row {
        border-top: 1px solid #edf1f2;
    }

.app-listdlg-row-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--app-primary-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .app-listdlg-row-icon .rzi {
        font-size: 15px;
        color: var(--app-primary-strong);
    }

/* 22. Προσωπικές λίστες (Pages/User/PersonalViewLists) */
.app-plist-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--app-primary-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .app-plist-icon .rzi {
        font-size: 14px;
        color: var(--app-primary-strong);
    }

/* Μικρή φόρμα: δεν απλώνεται σε όλο το πλάτος */
.app-plist-form {
    max-width: 720px;
}

.app-plist-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
}

.app-plist-warning {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0 16px 16px;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--app-warning-bg);
    color: var(--app-warning);
    font-size: 13px;
}

    .app-plist-warning .rzi {
        font-size: 18px;
    }

/* 23. Σχέδια εγγράφων (Pages/User/DocumentDesigns, PendingDocumentDesigns, Components/DesignProgress.razor) */
.app-cell-empty {
    color: #9fb0b6;
}

/* Πορεία: ένα άτομο ανά γραμμή, ✓ + είδος (έγκριση/υπογραφή) + όνομα + ημερομηνία */
.app-dd-progress {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.app-dd-person {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--app-text-strong);
    min-width: 0;
}

.app-dd-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-dd-ok {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--app-success-bg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .app-dd-ok .rzi {
        font-size: 12px;
        color: var(--app-success);
    }

.rzi.app-dd-kind {
    font-size: 14px;
    color: #8a9aa1;
    flex-shrink: 0;
}

.app-dd-person .app-cell-sub {
    margin: 0;
    white-space: nowrap;
}

.app-dd-row-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

    .app-dd-row-actions > .rz-button {
        flex: 0 0 auto;
        white-space: nowrap;
    }

.rz-button.app-dd-protocol-btn {
    height: 30px;
    padding: 0 12px !important;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Κουμπιά γραμμής: σε μία γραμμή, χωρίς κόψιμο */
.app-pending-grid td .rz-cell-data:has(.app-dd-row-actions) {
    overflow: visible;
    text-overflow: clip;
}

/* Κουμπί «ματάκι» μόνο του: ίδια εμφάνιση με το ματάκι των ενεργειών γραμμής (Αναζήτηση εγγράφων) */
.app-page .rz-button.app-dd-icon-btn,
.rz-button.app-dd-icon-btn {
    width: auto !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 8px !important;
    justify-content: center;
    background: #ffffff !important;
    color: var(--app-primary-strong) !important;
    border: 1px solid var(--app-input-border) !important;
    box-shadow: none !important;
}

    .app-page .rz-button.app-dd-icon-btn:not(:disabled):hover,
    .rz-button.app-dd-icon-btn:not(:disabled):hover {
        background: var(--app-primary-soft) !important;
    }

/* Νέο σχέδιο: στήλη καρτών με περιορισμένο πλάτος */
.app-dd-form {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
    max-width: 880px;
}

.app-dd-fields {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
}

.app-dd-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    color: var(--app-text);
    cursor: pointer;
}

.app-dd-signers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.app-dd-signer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    font-size: 13px;
}

.app-dd-order {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--app-primary-strong);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-dd-files {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 16px;
}

.app-dd-files-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.rz-button.app-dd-add-file {
    height: 30px;
    padding: 0 10px;
    font-size: 12px;
}

.app-dd-file-grid {
    border: 1px solid var(--app-border);
    border-radius: 8px;
    overflow: hidden;
}

    .app-dd-file-grid .rz-grid-table thead {
        display: none;
    }

.rzi.app-dd-file-icon {
    font-size: 18px;
    color: var(--app-info);
}

/* Προβολή σχεδίου (Dialogs/DocumentDesignView.razor) */
.app-ddview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--app-space-3);
    align-items: start;
}

.app-ddview-col {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

.app-ddview-steps {
    padding: 4px 16px 8px;
}

.app-ddview-step {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}

    .app-ddview-step + .app-ddview-step {
        border-top: 1px solid #edf1f2;
    }

.app-ddview-step-main {
    flex-grow: 1;
    min-width: 0;
    font-size: 13px;
}

.app-dd-order.app-dd-order-wait {
    background: #e7ecee;
    color: var(--app-muted);
}

.app-ddview-note {
    padding: 14px 16px;
    font-size: 13px;
    color: var(--app-muted);
}

.app-ddview .app-ddview-grid-table {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
    background: #fff;
}

.rz-button.app-ddview-tab-btn {
    margin-bottom: 12px;
}

/* Πίνακας επιπλέον αρχείων */
.app-ddview .datatable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .app-ddview .datatable th,
    .app-ddview .datatable td {
        border: none;
        border-bottom: 1px solid #edf1f2;
        padding: 10px 12px;
    }

    .app-ddview .datatable th {
        background: var(--app-surface);
        color: var(--app-muted);
        font-size: 12px;
        font-weight: 600;
    }

/* Προβολή σχεδίου: κουμπί ψηφιακής υπογραφής (λευκό, με έντονο κείμενο) */
.rz-button.app-dd-sign-btn {
    height: 36px;
    font-weight: 600;
    white-space: nowrap;
    background: #ffffff !important;
    color: var(--app-primary-strong) !important;
    border: 1px solid var(--app-input-border) !important;
    box-shadow: none !important;
}

    .rz-button.app-dd-sign-btn:not(:disabled):hover {
        background: var(--app-primary-soft) !important;
    }

/* 24. Λίστες καταχωρήσεων χρήστη (Έτοιμα θέματα, Επαφές, Συμβάσεις, Αποφάσεις δημάρχου) */
.rz-button.app-header-icon-btn {
    height: 36px !important;
    min-width: 36px !important;
}

/* Φόρμα καταχώρησης: 2 στήλες, περιορισμένο πλάτος */
.app-entry-form {
    max-width: 880px;
}

.app-entry-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px 16px;
    padding: 16px;
}

    .app-entry-fields .app-entry-wide {
        grid-column: 1 / -1;
    }

/* Φίλτρο-«διακόπτης» (chip) στη γραμμή των πεδίων */
.app-filter-field.app-filter-field-chip {
    flex: 0 0 auto;
}

/* 25. Δεσμευμένοι αριθμοί */
.app-reserve-top {
    display: flex;
    gap: 16px;
    margin-bottom: var(--app-space-3);
}

    .app-reserve-top .app-filter-field {
        flex: 0 1 360px;
    }

    .app-reserve-top:empty {
        display: none;
    }

.app-form-location {
    max-width: 360px;
    margin-bottom: var(--app-space-3);
}

/* Παράθυρα δέσμευσης: αλλαγή και προβολή */
.app-resedit-meta {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: var(--app-space-3);
}

.app-resview .app-docview-card + .app-docview-card {
    margin-top: var(--app-space-3);
}

.app-resview .datatable,
.app-resview .datatable td,
.app-resview .datatable th {
    border: none !important;
}

.app-resview .datatable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .app-resview .datatable td,
    .app-resview .datatable th {
        border-bottom: 1px solid #edf1f2 !important;
        padding: 10px 14px;
        text-align: left;
    }

    .app-resview .datatable th {
        background: var(--app-surface);
        color: var(--app-muted);
        font-size: 12px;
        font-weight: 600;
    }

    .app-resview #basicData th {
        width: 22%;
    }

/* 26. Σαρωμένα έγγραφα: παράθυρο προσθήκης αρχείων */
.app-scan-dlg {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

    .app-scan-dlg .app-status {
        margin-left: 8px;
    }

/* 27. Μαζικός χαρακτηρισμός: μπάρα επιλογής πάνω από τον πίνακα */
.app-selbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: var(--app-primary-soft);
    border-bottom: 1px solid #c9d8db;
    font-size: 13px;
    color: var(--app-text-strong);
}

    .app-selbar > .rzi {
        color: var(--app-primary-strong);
    }

.rz-button.app-selbar-clear {
    padding: 0 4px;
    color: var(--app-primary-strong);
    font-weight: 600;
    text-decoration: underline;
    background: transparent !important;
    box-shadow: none !important;
}

/* 28. Χαρακτηρισμός (ένα-ένα): κάρτα εγγράφου, προεπισκόπηση αριστερά, παραλήπτες δεξιά */
.app-page.app-ia {
    height: calc(100vh - 150px);
    min-height: 620px;
    display: flex;
    flex-direction: column;
}

.app-ia-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--app-text);
}

    .app-ia-nav > span {
        min-width: 120px;
        text-align: center;
    }

.app-ia-doc {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 14px 18px;
    margin-bottom: var(--app-space-3);
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    flex-shrink: 0;
}

.app-ia-doc-info {
    flex: 1.1;
    min-width: 0;
}

.app-ia-ref {
    font-size: 17px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-ia-subject {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--app-text-strong);
}

.app-ia-chosen {
    flex: 1.3;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 20px;
    border-left: 1px solid #edf1f2;
}

.app-ia-chosen-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 26px;
}

.app-ia-chosen-label {
    width: 110px;
    font-size: 12px;
    font-weight: 600;
    color: var(--app-muted);
}

.app-ia-chip {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 10px;
    border: 1px solid var(--app-input-border);
    border-radius: 999px;
    background: #ffffff;
    font-size: 12px;
    font-weight: 600;
    color: var(--app-muted);
}

.app-ia-chip-action {
    background: var(--app-primary-soft);
    border-color: #80a4ab;
    color: var(--app-text-strong);
}

.app-ia-doc-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.app-ia-work {
    flex-grow: 1;
    min-height: 0;
    display: flex;
    gap: var(--app-space-3);
}

.app-ia-preview,
.app-ia-recipients {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

.app-ia-preview {
    flex: 1;
    min-width: 0;
}

.app-ia-recipients {
    width: 440px;
    flex-shrink: 0;
}

.app-ia-panel-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--app-border);
}

.app-ia-panel-header-stack {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.app-ia-recipients-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.app-ia-file-icon {
    color: var(--app-danger);
}

.app-ia-file-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--app-text-strong);
}

.app-ia-pdf {
    flex-grow: 1;
    min-height: 0;
    background: #e9edef;
}

.app-ia-empty {
    padding: 24px;
    font-size: 13px;
    color: var(--app-muted);
}

.app-ia-empty-danger {
    color: var(--app-danger);
}

.app-ia-tree {
    flex-grow: 1;
    min-height: 0;
    overflow: auto;
    padding: 6px 8px;
}

.app-ia-notes {
    padding: 12px 14px;
    border-top: 1px solid var(--app-border);
}

    .app-ia-notes .rz-label {
        display: block;
        margin-bottom: 4px;
        font-size: 12px;
        font-weight: 600;
        color: var(--app-muted);
    }

/* 29. Παράθυρα σχεδίων: επόμενη ενέργεια, έγκριση, ψηφιακή υπογραφή */
.app-action-tile.app-action-tile-danger .app-action-tile-title {
    color: var(--app-danger);
}

.app-action-tile.app-action-tile-danger:not(.app-action-tile-selected) .app-action-tile-icon {
    background: var(--app-danger-bg);
    color: var(--app-danger);
}

.app-sign-hint {
    margin-top: 4px;
}

.app-sign {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

    .app-sign .app-nextaction-doc {
        margin: -4px 0 0;
    }

.app-sign-steps {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    background: var(--app-surface);
}

.app-sign-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--app-muted);
    white-space: nowrap;
}

.app-sign-step-current {
    color: var(--app-text-strong);
    font-weight: 700;
}

.app-sign-step-num {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e7ecee;
    font-size: 12px;
    font-weight: 700;
}

    .app-sign-step-num .rzi {
        font-size: 15px;
    }

.app-sign-step-current .app-sign-step-num {
    background: var(--app-primary-strong);
    color: #ffffff;
}

.app-sign-step-done .app-sign-step-num {
    background: var(--app-success);
    color: #ffffff;
}

.app-sign-step-line {
    flex: 1;
    min-width: 24px;
    height: 2px;
    background: var(--app-border);
}

.app-sign-top {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 14px;
}

.app-sign-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    background: #ffffff;
}

    .app-sign-box.app-sign-box-current {
        border: 2px solid var(--app-primary-strong);
        padding: 13px;
        background: #f7fafa;
    }

.app-sign-box-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text-strong);
}

    .app-sign-box-head > .rzi {
        color: var(--app-primary-strong);
        font-size: 18px;
    }

    .app-sign-box-head .app-status {
        margin-left: auto;
    }

.app-sign-otp-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

    .app-sign-otp-row .app-filter-field {
        flex: 1;
        min-width: 0;
    }

.app-sign-otp input {
    letter-spacing: 4px;
    font-weight: 600;
}

.app-sign-pdf {
    height: 60vh;
    overflow: auto;
    padding: 20px;
    background: #3a474d;
}

.app-sign-footer-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .app-sign-footer-hint .rzi {
        font-size: 16px;
    }

/* 30. Παράθυρα επιλογής παραληπτών / συντακτών (Dialogs/Suggested_Recipient*.razor) */
.app-recip .app-nextaction-tree-search {
    display: flex;
    gap: 8px;
    align-items: center;
}

    .app-recip .app-nextaction-tree-search .app-search-field {
        flex-grow: 1;
    }

.app-recip-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .app-recip-toggle .app-docview-field-label {
        margin-bottom: 0 !important;
    }

.app-recip-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    background: #fbfcfc;
}

.app-recip-summary-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 28px;
}

    .app-recip-summary-row > .app-docview-field-label {
        width: 140px;
        margin-bottom: 0 !important;
    }

.app-chip.app-recip-chip-mail {
    background: var(--app-warning-bg);
    color: var(--app-warning);
    border-color: transparent;
}

    .app-chip.app-recip-chip-mail > .rzi {
        font-size: 14px;
    }

/* Μαζικός χαρακτηρισμός: το παράθυρο πιάνει όλο το ύψος, οπότε το δέντρο μεγαλώνει ώστε να μη μένει κενό κάτω */
.app-recip-tree.app-recip-tree-fill {
    height: calc(100vh - 470px);
    min-height: 280px;
}

/* Διακόπτης Ενέργεια / Κοινοποίηση: η επιλεγμένη πλευρά να φαίνεται καθαρά */
.app-recip-toggle .rz-selectbar .rz-button.rz-state-active,
.app-ia-toggle .rz-button.rz-state-active {
    background: var(--app-primary-strong) !important;
    border-color: var(--app-primary-strong) !important;
    color: #ffffff !important;
}

    .app-recip-toggle .rz-selectbar .rz-button.rz-state-active .rzi,
    .app-ia-toggle .rz-button.rz-state-active .rzi {
        color: #ffffff !important;
    }

/* 31. Παράθυρα της Προβολής εγγράφου: σημείωση, αρχεία χρηστών, έγκριση/απόρριψη, προβολή ενέργειας */
.app-action-tiles.app-action-tiles-2 {
    grid-template-columns: 1fr 1fr;
}

.app-userfile-body {
    padding: 14px 16px;
}

.app-actionview .datatable,
.app-actionview .datatable td,
.app-actionview .datatable th {
    border: none !important;
}

.app-actionview .datatable {
    border-collapse: collapse;
    font-size: 13px;
}

    .app-actionview .datatable td,
    .app-actionview .datatable th {
        border-bottom: 1px solid #edf1f2 !important;
        padding: 10px 12px;
        text-align: left;
        vertical-align: top;
    }

    .app-actionview .datatable th {
        background: transparent !important;
        color: var(--app-muted);
        font-weight: 600;
    }

/* 32. Παράθυρα παραληπτών φορμών (Add/EditDocumentRecipient, εξωτερικός, email ενημέρωσης) */
.app-recip-name-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

    .app-recip-name-row > .rz-autocomplete,
    .app-recip-name-row > .rz-textbox {
        flex: 1;
        min-width: 0;
    }

    .app-recip-name-row > .rz-button {
        flex-shrink: 0;
        white-space: nowrap;
    }

/* 33. Σελίδες λογαριασμού: ειδοποιήσεις, προτιμήσεις, ομάδες χρηστών, εκπαιδευτικό υλικό */
.app-notif-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--app-primary-strong);
    flex-shrink: 0;
}

.app-pref-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--app-space-3);
    align-items: start;
}

.app-pref-list {
    display: flex;
    flex-direction: column;
}

.app-pref-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 400;
    color: var(--app-text);
}

    .app-pref-row + .app-pref-row {
        border-top: 1px solid #edf1f2;
    }

    .app-pref-row.app-pref-row-edit {
        cursor: pointer;
    }

.app-edu-content {
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.55;
    max-width: 960px;
}

.app-edu-files {
    margin-top: var(--app-space-3);
}

/* 34. Προβολή εγγράφου: σκελετός φόρτωσης (αντί για gif) */
.rz-dialog:has(.app-docview-loading) .rz-dialog-titlebar {
    display: none;
}

.app-docview-loading {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

.app-skel {
    display: block;
    border-radius: 6px;
    background: linear-gradient(90deg, #edf1f2 25%, #f6f8f9 50%, #edf1f2 75%);
    background-size: 200% 100%;
    animation: app-skel-shimmer 1.4s ease-in-out infinite;
}

@keyframes app-skel-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .app-skel {
        animation: none;
    }
}

.app-skel-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.app-skel-ref { width: 90px; height: 24px; }
.app-skel-pill { width: 86px; height: 20px; border-radius: 999px; }
.app-skel-date { width: 130px; height: 14px; }
.app-skel-line { height: 14px; margin-top: 8px; }
.app-skel-label { width: 90px; height: 10px; margin-bottom: 2px; }

.app-skel-tabs {
    display: flex;
    gap: 22px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--app-border);
}

.app-skel-tab { width: 96px; height: 14px; }

.app-skel-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--app-space-3);
}

.app-skel-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    background: #ffffff;
}

.app-skel-field .app-skel-line {
    margin-top: 6px;
}

.app-docview-loading-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 13px;
    color: var(--app-muted);
}

/* 35. Μενού Έγγραφα: Προσθήκη ΑΔΑ, Έλεγχος αυθεντικότητας */
.app-diaugeia-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
}

.app-diaugeia-step2 {
    margin-top: var(--app-space-3);
}

.app-verify-result {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--app-space-3);
    padding: 12px 16px;
    border-radius: var(--app-radius-card);
    font-size: 14px;
    font-weight: 600;
}

    .app-verify-result .rzi {
        font-size: 22px;
    }

.app-verify-ok {
    background: var(--app-success-bg);
    color: var(--app-success);
}

.app-verify-fail {
    background: var(--app-warning-bg);
    color: var(--app-warning);
}

/* 36. Φόρμες AI: σημείωση κάτω από την κεφαλίδα */
.app-listdlg-note.app-form-note {
    margin: 0 0 var(--app-space-3);
}

/* 37. AI: ανέβασμα εγγράφου */
.app-ai-upload {
    max-width: 860px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.app-ai-drop {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 36px 20px;
    border: 2px dashed #b9cbcf;
    border-radius: var(--app-radius-card);
    background: #f7fafa;
    text-align: center;
    color: var(--app-text);
    cursor: pointer;
}

    .app-ai-drop:hover {
        border-color: var(--app-primary-strong);
        background: var(--app-primary-soft);
    }

    .app-ai-drop > .rzi {
        font-size: 40px;
        color: var(--app-primary-strong);
    }

    .app-ai-drop.app-ai-drop-disabled {
        opacity: .6;
        cursor: default;
    }

.app-ai-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.app-ai-file {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
}

.app-ai-file-icon {
    font-size: 28px;
    color: var(--app-danger);
}

.app-ai-progress {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border-radius: var(--app-radius-card);
    background: var(--app-info-bg);
}

/* 38. Μενού χρήστη πάνω δεξιά: κάρτα 340px στοιχισμένη δεξιά */
.app-header-user .rz-navigation-menu {
    left: auto !important;
    right: 0 !important;
    width: 340px;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    padding: 0 0 6px !important;
    background: #ffffff !important;
    border: 1px solid var(--app-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(47, 59, 64, .18) !important;
}

    .app-header-user .rz-navigation-menu .rz-navigation-item {
        border: none !important;
    }

    .app-header-user .rz-navigation-menu .rz-navigation-item-wrapper {
        padding: 0 !important;
    }

    .app-header-user .rz-navigation-menu .rz-navigation-item-link {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 9px 16px !important;
        font-size: 14px;
        color: var(--app-text-strong) !important;
        white-space: normal;
    }

    .app-header-user .rz-navigation-menu .rz-navigation-item-link:hover {
        background: var(--app-surface) !important;
    }

    .app-header-user .rz-navigation-menu .rz-navigation-item-icon {
        margin: 0 !important;
        font-size: 18px;
        color: var(--app-muted) !important;
    }

.app-usermenu-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
    padding: 14px 16px;
    background: var(--app-surface);
    border-bottom: 1px solid #edf1f2;
}

.app-usermenu-avatar {
    width: 40px;
    height: 40px;
    font-size: 14px;
}

.app-usermenu-notif {
    position: relative;
}

.app-usermenu-count {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 999px;
    background: var(--app-danger);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    pointer-events: none;
}

.app-usermenu-sep {
    height: 1px;
    margin: 6px 0;
    background: #edf1f2;
}

.app-usermenu-label {
    padding: 8px 16px 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #8a9aa1;
}

.app-header-user .app-usermenu-folder.app-usermenu-folder-active .rz-navigation-item-link {
    margin: 0 8px;
    padding: 9px 8px !important;
    border-radius: 8px;
    background: var(--app-primary-soft) !important;
    font-weight: 600;
}

    .app-header-user .app-usermenu-folder.app-usermenu-folder-active .rz-navigation-item-icon {
        color: var(--app-primary-strong) !important;
    }

.app-usermenu-unit {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 6px 16px 8px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--app-muted);
}

    .app-usermenu-unit .rzi {
        font-size: 16px;
        color: #8a9aa1;
    }

.app-header-user .app-usermenu-logout .rz-navigation-item-link,
.app-header-user .app-usermenu-logout .rz-navigation-item-icon {
    color: var(--app-danger) !important;
}

/* Ενεργός φάκελος: ✓ στα δεξιά (ίδια γραμματοσειρά εικονιδίων με το Radzen) */
.app-header-user .app-usermenu-folder.app-usermenu-folder-active .rz-navigation-item-link::after {
    content: "check";
    margin-left: auto;
    font-family: "Material Symbols";
    font-size: 18px;
    font-feature-settings: "liga";
    line-height: 1;
    color: var(--app-primary-strong);
}

/* 39. Ανέβασμα αρχείων (Components/FileEdit, FileEditForMultipleFiles) */
.app-fileedit {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.app-upload-zone {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 2px dashed #b9cbcf;
    border-radius: var(--app-radius-card);
    background: #f7fafa;
}

    .app-upload-zone > .rzi {
        font-size: 32px;
        color: var(--app-primary-strong);
    }

.app-upload-zone-text {
    flex: 1;
    min-width: 0;
}

.app-upload-control.rz-fileupload {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    max-width: 50%;
}

.app-upload-list {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-card);
    overflow: hidden;
}

.app-upload-row .app-docview-row-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.app-upload-desc {
    position: relative;
}

/* 40. Admin: φόρμες καταχωρήσεων (ημερομηνίες και λίστες σε όλο το πλάτος του πεδίου) */
.app-plist-fields .rz-datepicker,
.app-plist-fields .rz-dropdown,
.app-plist-fields .rz-numeric {
    width: 100%;
}

/* 41. Admin → Τμήματα (οργανόγραμμα) και μέλη τμήματος */
.app-bu-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--app-border);
}

.app-bu-search {
    width: 340px;
}

.app-bu-toolbar .app-chip {
    font-family: inherit;
    cursor: pointer;
}

.app-bu-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: normal;
}

.app-bu-icon {
    font-size: 16px;
    color: #80a4ab;
}

.app-bu-person {
    display: flex;
    align-items: center;
    gap: 10px;
}

.app-user-avatar.app-bu-avatar {
    width: 30px;
    height: 30px;
    font-size: 11px;
}

.app-bu-count-icon {
    font-size: 13px;
    vertical-align: -2px;
}

.app-bu-star {
    font-size: 13px;
}

.app-bu-grid .app-bu-inactive > td {
    opacity: .55;
}

.app-pending-grid .app-bu-supervisor-row > td {
    background: #f7fafa;
}

/* 42. Admin: απλός πίνακας HTML (π.χ. αποστολή SMS) με την ίδια εμφάνιση με τις λίστες */
.app-table {
    width: 100%;
    margin: 0;
    font-size: 13px;
}

    .app-table th {
        padding: 10px 12px;
        background: var(--app-surface);
        color: var(--app-muted);
        font-size: 12px;
        font-weight: 600;
        border-bottom: 1px solid var(--app-border) !important;
    }

    .app-table td {
        padding: 10px 12px;
        vertical-align: middle;
        border-bottom: 1px solid #edf1f2;
    }

/* 43. Admin → Δικαιώματα εγγράφων (σύνοψη ανά φάκελο και αλλαγή σε ομάδες) */
.app-perm-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--app-space-3);
}

.app-perm-search {
    width: 360px;
    background: #ffffff;
}

.app-perm-toolbar .app-chip,
.app-perm-link {
    font-family: inherit;
    cursor: pointer;
}

.app-perm-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--app-space-3);
    align-items: start;
}

.app-perm-column {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

.app-perm-head .app-tab-count.app-perm-count-on {
    background: var(--app-primary-soft);
    color: var(--app-primary-strong);
}

.app-perm-link {
    padding: 0;
    border: none;
    background: transparent;
    font-size: 12px;
    font-weight: 600;
    color: var(--app-primary-strong);
}

    .app-perm-link.app-perm-link-muted {
        color: var(--app-muted);
    }

.app-perm-dot {
    color: #cfd8dc;
}

.app-perm-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.app-chip.app-perm-chip {
    height: 26px;
    padding: 0 10px;
    font-size: 12px;
    color: #8a9aa1;
    cursor: default;
}

    .app-chip.app-perm-chip.app-chip-on {
        color: var(--app-text-strong);
    }

    .app-chip.app-perm-chip b {
        margin-left: 4px;
    }


/* 44. Admin → Εργαλεία (μεταφορά, αρχειοθέτηση, αλλαγή τύπου, αριθμός σε αρχείο, εξαγωγή, email) */
.app-tool-radio {
    color: #9fb0b6;
    font-size: 20px;
    vertical-align: middle;
}

.rz-state-highlight .app-tool-radio {
    color: var(--app-primary-strong);
}

.app-tool-change {
    display: grid;
    grid-template-columns: 1fr 40px 1fr;
    gap: 16px;
    align-items: end;
    padding: 16px;
}

.app-tool-current {
    height: 36px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid var(--app-input-border);
    border-radius: var(--app-radius);
    background: var(--app-surface);
}

.app-tool-arrow {
    justify-self: center;
    margin-bottom: 8px;
    color: var(--app-secondary);
}

.app-tool-grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 16px;
}

.app-tool-check {
    display: flex;
    align-items: center;
    gap: 8px;
}

.app-tool-card-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 16px;
    border-top: 1px solid #edf1f2;
}

.app-tool-danger .app-docview-card-header .rzi {
    color: var(--app-danger);
}

.app-plist-warning.app-tool-warning-danger {
    margin: 0;
    background: var(--app-danger-bg);
    color: var(--app-danger);
}

/* Μεταφορά: δύο δέντρα χρηστών δίπλα-δίπλα */
.app-tool-transfer {
    display: grid;
    grid-template-columns: 1fr 48px 1fr;
    gap: 12px;
    height: 300px;
}

.app-tool-transfer-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

    .app-tool-transfer-arrow .rzi {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--app-primary-soft);
        color: var(--app-primary-strong);
        display: flex;
        align-items: center;
        justify-content: center;
    }

.app-docview-card.app-tool-tree {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin: 0;
}

.app-tool-tree-search {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f2;
}

.app-tool-tree-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 6px;
}

    .app-tool-tree-body .rz-tree {
        border: none;
        background: transparent;
        font-size: 13px;
    }

.app-tool-node {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .app-tool-node .rzi {
        font-size: 16px;
        color: #8a9aa1;
    }

.app-tool-node-unit {
    font-weight: 600;
    color: var(--app-text-strong);
}

    .app-tool-node-unit .rzi {
        color: var(--app-secondary);
    }

/* Email: μπάρα προόδου (στάλθηκαν / απέτυχαν) */
.app-tool-progress {
    display: flex;
    align-items: center;
    gap: 10px;
}

.app-tool-progress-bar {
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: #edf1f2;
    overflow: hidden;
    display: flex;
}

.app-tool-progress-ok {
    background: #5b9a7d;
}

.app-tool-progress-fail {
    background: #c9635c;
}

.app-tool-progress-text {
    font-size: 12px;
    white-space: nowrap;
}

.app-tool-ok {
    color: var(--app-success);
}

.app-tool-fail {
    color: var(--app-danger);
}


/* 45. Admin → Τύποι σχεδίων (υπογράφοντες με σειρά, σύρσιμο γραμμών) */
.app-dt-drag {
    color: #9fb0b6;
    cursor: grab;
}

.app-dt-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--app-primary-soft);
    color: var(--app-primary-strong);
    font-weight: 700;
    font-size: 12px;
}


/* 46. Στατιστικά (χρήστη και Admin) */
.app-filter-field.app-stats-field {
    flex: 0 1 480px;
}

.app-stats-chart-body {
    padding: 8px 16px 16px;
}

.app-stats-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px 16px;
    color: var(--app-muted);
}

.app-stats-number {
    font-variant-numeric: tabular-nums;
    color: var(--app-text-strong);
}


/* 47. Δημόσια επαλήθευση εγγράφου (Pages/Public/Public_VerificationCode.razor) */
.app-docverify-date {
    width: 100%;
    margin-bottom: 18px;
}

.app-docverify-validator {
    display: block;
    margin: -12px 0 12px;
}

.app-docverify-actions {
    display: flex;
    gap: 10px;
    margin-top: 6px;
}

    /* Η «Αναζήτηση» πιάνει τον χώρο που μένει· ο «Καθαρισμός» κρατά το πλάτος του κειμένου του και το ίδιο ύψος */
    .app-docverify-actions .rz-button.app-login-btn {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .app-docverify-actions .rz-button.app-btn-outline {
        flex: 0 0 auto;
        height: 46px;
        padding: 0 16px !important;
        white-space: nowrap;
    }

.app-docverify-result {
    margin-top: 24px;
}


/* 48. Σημειώσεις ενεργειών: εμφανίζονται ως απλό κείμενο (όχι HTML), με τις αλλαγές γραμμής τους */
.app-note-text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* 49. Admin → Δικαιώματα ανά φάκελο (Pages/Admin/DocumentPermissions/Admin_DocumentPermissions_Overview.razor) */
.app-permoverview-filters-card {
    margin-bottom: 16px;
    overflow: visible;
}

.app-permoverview-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 16px;
    align-items: end;
    padding: 16px;
}

.app-permoverview-check {
    height: 36px;
    white-space: nowrap;
}

/* Ομάδες δικαιωμάτων με πλήθος, μέσα στη γραμμή */
.app-permoverview-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.app-permoverview-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px 2px 7px;
    border-radius: 999px;
    background: #eef2f3;
    color: var(--app-muted);
    font-size: 12px;
    white-space: nowrap;
}

    .app-permoverview-chip .rzi {
        font-size: 14px;
        width: 14px;
        height: 14px;
        line-height: 14px;
        color: var(--app-primary);
    }

    .app-permoverview-chip b {
        font-weight: 600;
        color: var(--app-success);
    }

.app-permoverview-grid .rz-data-row {
    cursor: pointer;
}

/* Ανοιχτή γραμμή: τα δικαιώματα του χρήστη στον φάκελο, ανά ομάδα */
.app-permoverview-detail {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px 28px;
    padding: 10px 12px 14px;
    white-space: normal;
}

.app-permoverview-group-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--app-muted);
    margin-bottom: 6px;
}

    .app-permoverview-group-title .rzi {
        font-size: 16px;
        width: 16px;
        height: 16px;
        line-height: 16px;
        color: var(--app-primary);
    }

.app-permoverview-group ul {
    margin: 0;
    padding-left: 18px;
    font-size: 13px;
    line-height: 1.5;
}
