/* Kestrel Estate — desktop panel (Filament): σκούρο πράσινο πλευρικό μενού που ταιριάζει με το λογότυπο,
   λευκή λωρίδα header σε ευθεία, και το «Πίνακας ελέγχου» ως γρήγορη επισκόπηση. Χωρίς Tailwind build. */

:root {
    --kd-green-950: #12312A;
    --kd-green-900: #173A2F;
    --kd-green-800: #1F4A3D;
    --kd-mint: #D8E9CC;
    --kd-mint-ink: #173A2F;
    --kd-sage: #A7C6B8;
    --kd-sage-dim: #8FB3A3;
    --kd-ink: #14201B;
    --kd-muted: #6B7A73;
    --kd-line: rgba(23, 58, 47, 0.08);
    --kd-card: #FFFFFF;
    --kd-accent: #1D9E75;
    --kd-accent-soft: #E6F4EE;
    --kd-warn: #B45309;
    --kd-warn-soft: #FEF3C7;
    --kd-danger: #B91C1C;
    --kd-danger-soft: #FEE2E2;
}

/* ---------- Header: λογότυπο + topbar στο ίδιο ύψος (ευθεία λευκή λωρίδα) ---------- */
.fi-sidebar-header,
.fi-topbar > nav {
    height: 6rem !important;
    padding-top: .5rem;
    padding-bottom: .5rem;
}
/* Το λογότυπο (5.7rem, +20%) χωράει στα 6rem χωρίς κάθετο padding — η λωρίδα δεν ψηλώνει */
.fi-sidebar-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden;
}
.fi-sidebar-header .fi-logo { max-height: 5.7rem; }
.fi-simple-layout .fi-logo { height: 7rem !important; }

/* ---------- Πλευρικό μενού ---------- */
.fi-sidebar,
.fi-sidebar-nav {
    background-color: var(--kd-green-900) !important;
}
.fi-sidebar-header {
    background-color: #fff !important;
}
.fi-sidebar-nav {
    padding-top: 1rem;
}
.fi-sidebar-nav .fi-sidebar-group-label {
    color: var(--kd-sage-dim) !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .68rem;
}
.fi-sidebar-nav .fi-sidebar-group-collapse-button,
.fi-sidebar-nav .fi-sidebar-group-collapse-button svg,
.fi-sidebar-nav .fi-sidebar-group-icon {
    color: var(--kd-sage-dim) !important;
}
.fi-sidebar-item-button {
    border-radius: .75rem !important;
    color: #E4EEE8 !important;
}
.fi-sidebar-item-label { color: #E4EEE8 !important; }
.fi-sidebar-item-icon { color: var(--kd-sage) !important; }
.fi-sidebar-item-button:hover,
.fi-sidebar-item-button:focus-visible {
    background-color: rgba(255, 255, 255, .08) !important;
}
.fi-sidebar-item-active .fi-sidebar-item-button,
.fi-sidebar-item-active > .fi-sidebar-item-button:hover {
    background-color: var(--kd-mint) !important;
}
.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-icon {
    color: var(--kd-mint-ink) !important;
    font-weight: 600;
}
.fi-sidebar-item-grouped-border { border-color: rgba(255, 255, 255, .12) !important; }
.fi-sidebar-sub-group-items .fi-sidebar-item-button { color: #CFE0D6 !important; }

/* Επιλογέας γραφείου (tenant) */
.fi-sidebar-nav-tenant-menu-ctn { padding-bottom: .5rem; }
.fi-sidebar .fi-tenant-menu-trigger {
    background-color: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: .875rem;
}
.fi-sidebar .fi-tenant-menu-trigger,
.fi-sidebar .fi-tenant-menu-trigger *:not(.fi-avatar):not(img) {
    color: #F1F6F3 !important;
}
.fi-sidebar .fi-tenant-menu-trigger .fi-avatar {
    background-color: var(--kd-mint) !important;
    color: var(--kd-mint-ink) !important;
}
.fi-sidebar .fi-tenant-menu-trigger:hover { background-color: rgba(255, 255, 255, .1) !important; }

/* ---------- Πίνακας ελέγχου ---------- */
.kd { display: flex; flex-direction: column; gap: 1.25rem; color: var(--kd-ink); }
.kd-hero { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.kd-eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--kd-accent); }
.kd-title { margin: .35rem 0 0; font-size: 2rem; line-height: 1.15; font-weight: 700; letter-spacing: -.01em; }
.kd-title em { font-style: normal; color: var(--kd-accent); }
.kd-sub { margin: .35rem 0 0; color: var(--kd-muted); font-size: .95rem; }
.kd-hero-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

.kd-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 1100px) { .kd-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .kd-tiles { grid-template-columns: 1fr; } }
.kd-tile { display: block; background: var(--kd-card); border: 1px solid var(--kd-line); border-radius: 1rem; padding: 1.1rem 1.25rem; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(20, 32, 27, .04); transition: box-shadow .15s, transform .15s; }
.kd-tile:hover { box-shadow: 0 6px 18px rgba(20, 32, 27, .08); transform: translateY(-1px); }
.kd-tile-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--kd-muted); font-size: .85rem; }
.kd-tile-head svg { width: 1.25rem; height: 1.25rem; color: var(--kd-sage-dim); }
.kd-tile-value { margin-top: .6rem; font-size: 2.1rem; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.kd-tile-value small { font-size: 1rem; font-weight: 600; color: var(--kd-muted); margin-left: .25rem; }
.kd-tile-foot { margin-top: .6rem; font-size: .82rem; color: var(--kd-muted); }
.kd-tile--alert .kd-tile-value { color: var(--kd-danger); }
.kd-tile--good .kd-tile-value { color: var(--kd-accent); }

.kd-cols { display: grid; grid-template-columns: 3fr 2fr; gap: 1rem; }
@media (max-width: 1100px) { .kd-cols { grid-template-columns: 1fr; } }

.kd-card { background: var(--kd-card); border: 1px solid var(--kd-line); border-radius: 1rem; padding: 1.25rem; box-shadow: 0 1px 2px rgba(20, 32, 27, .04); }
.kd-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.kd-card-title { display: flex; align-items: center; gap: .5rem; font-size: 1.05rem; font-weight: 700; }
.kd-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .45rem; border-radius: .5rem; background: #F1F5F2; color: var(--kd-muted); font-size: .78rem; font-weight: 700; }
.kd-card-sub { margin-top: .15rem; font-size: .85rem; color: var(--kd-muted); }
.kd-link { font-size: .85rem; font-weight: 600; color: var(--kd-accent); text-decoration: none; white-space: nowrap; }
.kd-link:hover { text-decoration: underline; }
.kd-empty { padding: 1rem 0; color: var(--kd-muted); font-size: .9rem; }

.kd-list { display: flex; flex-direction: column; }
.kd-row { display: flex; align-items: center; gap: .9rem; padding: .7rem 0; border-top: 1px solid var(--kd-line); text-decoration: none; color: inherit; }
.kd-row:first-child { border-top: 0; }
.kd-row:hover .kd-row-title { color: var(--kd-accent); }
.kd-row-main { min-width: 0; flex: 1; }
.kd-row-title { font-weight: 600; font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kd-row-sub { font-size: .82rem; color: var(--kd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kd-pill { flex-shrink: 0; padding: .2rem .55rem; border-radius: 999px; font-size: .74rem; font-weight: 700; }
.kd-pill--warn { background: var(--kd-warn-soft); color: var(--kd-warn); }
.kd-pill--danger { background: var(--kd-danger-soft); color: var(--kd-danger); }
.kd-pill--soft { background: #F1F5F2; color: var(--kd-muted); }

.kd-time { flex-shrink: 0; width: 3.4rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.kd-time small { display: block; font-weight: 500; color: var(--kd-muted); font-size: .72rem; }
.kd-time--past { color: var(--kd-muted); }
.kd-slot { flex: 1; min-width: 0; padding: .6rem .8rem; border-radius: .75rem; background: #F4F8F5; border: 1px solid var(--kd-line); }
.kd-slot--next { background: var(--kd-accent-soft); border-color: rgba(29, 158, 117, .25); }

.kd-props { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 1100px) { .kd-props { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .kd-props { grid-template-columns: 1fr; } }
.kd-prop { display: block; background: var(--kd-card); border: 1px solid var(--kd-line); border-radius: 1rem; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(20, 32, 27, .04); }
.kd-prop:hover { box-shadow: 0 6px 18px rgba(20, 32, 27, .08); }
.kd-prop-img { position: relative; aspect-ratio: 16 / 10; background: #E9EFEB; }
.kd-prop-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kd-prop-badge { position: absolute; top: .6rem; left: .6rem; }
.kd-prop-body { padding: .9rem 1rem 1rem; }
.kd-prop-area { font-size: .8rem; color: var(--kd-muted); }
.kd-prop-title { margin-top: .2rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kd-prop-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-top: .5rem; }
.kd-prop-price { font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.kd-prop-facts { font-size: .82rem; color: var(--kd-muted); }

.kd-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.kd-section-title { font-size: 1.15rem; font-weight: 700; }
.kd-opps { display: flex; flex-direction: column; }
.kd-opps > div { border-top: 1px solid var(--kd-line); }
.kd-opps > div:first-child { border-top: 0; }

/* ---------- Φόρμα ακινήτου: χάρτης & αναζήτηση διεύθυνσης ---------- */
.kd-map-wrap { position: relative; }
.kd-map-search { position: relative; margin-bottom: .6rem; }
.kd-map-input { width: 100%; padding: .6rem .85rem; border: 1px solid #d1d5db; border-radius: .6rem; font-size: .95rem; background: #fff; }
.kd-map-input:focus { outline: none; border-color: var(--kd-accent); box-shadow: 0 0 0 3px rgba(29, 158, 117, .2); }
.kd-map-spinner { position: absolute; right: .85rem; top: .7rem; font-size: .75rem; color: var(--kd-muted); }
.kd-map-results { position: absolute; left: 0; right: 0; top: calc(100% + .25rem); z-index: 1000; max-height: 18rem; overflow-y: auto; background: #fff; border: 1px solid #e5e7eb; border-radius: .6rem; box-shadow: 0 10px 30px rgba(20, 32, 27, .12); }
.kd-map-result { display: block; width: 100%; text-align: left; padding: .55rem .85rem; border: 0; background: none; cursor: pointer; border-top: 1px solid #f3f4f6; }
.kd-map-result:first-child { border-top: 0; }
.kd-map-result:hover { background: var(--kd-accent-soft); }
.kd-map-result-main { display: block; font-weight: 600; font-size: .9rem; }
.kd-map-result-sub { display: block; font-size: .78rem; color: var(--kd-muted); }
.kd-map { height: 380px; border-radius: .75rem; border: 1px solid #e5e7eb; z-index: 0; }
.kd-map-foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-top: .5rem; }
.kd-map-hint { font-size: .8rem; color: var(--kd-muted); }
.kd-map-clear { flex-shrink: 0; font-size: .78rem; color: var(--kd-muted); background: none; border: 1px solid #e5e7eb; border-radius: .5rem; padding: .3rem .6rem; cursor: pointer; }
.kd-map-clear:hover { color: var(--kd-danger); border-color: var(--kd-danger); }
