/* The look shared by the ICI staff portals. */

:root {
    --ici-page: #f5f6f1;
    --ici-card: #ffffff;
    --ici-line: #e3e6dc;
    --ici-ink: #243238;
    --ici-muted: #66757a;
    --ici-teal: #0f766e;
    --ici-teal-dark: #0b5a54;
    --ici-bronze: #7c5a2e;
    --ici-slate: #33556b;
    --ici-soft: #e7f2ee;
}

.dark {
    --ici-page: #12181b;
    --ici-card: #1a2226;
    --ici-line: #2b363b;
    --ici-ink: #e6ebe8;
    --ici-muted: #9aa8a9;
    --ici-soft: #1f302d;
}

/* Page frame */
.fi-body { background: var(--ici-page); }
.fi-topbar, .fi-topbar nav { box-shadow: 0 1px 0 var(--ici-line); }
.fi-sidebar-nav { background: transparent; }
.fi-sidebar-item-active > .fi-sidebar-item-btn { background: var(--ici-soft); border-radius: .6rem; }
.fi-logo { font-weight: 700; letter-spacing: -.01em; color: var(--ici-teal-dark); }
.dark .fi-logo { color: #7fd1c6; }
.fi-panel-office .fi-logo { color: var(--ici-bronze); }
.dark .fi-panel-office .fi-logo { color: #dcb985; }
.fi-header-heading { letter-spacing: -.02em; }

/* Cards and tables */
.fi-section, .fi-ta-ctn {
    border-radius: .9rem;
    box-shadow: 0 1px 2px rgba(36, 50, 56, .05), 0 6px 18px rgba(36, 50, 56, .04);
}
.fi-ta-header-cell { font-size: .78rem; letter-spacing: .01em; }
.fi-btn { border-radius: .6rem; font-weight: 600; }
.fi-badge { border-radius: 999px; }
.fi-modal-window { border-radius: 1rem; }

/* Login pages */
.fi-simple-layout {
    background:
        radial-gradient(60rem 30rem at 15% -10%, rgba(15, 118, 110, .16), transparent 60%),
        radial-gradient(50rem 30rem at 100% 110%, rgba(124, 90, 46, .14), transparent 60%),
        var(--ici-page);
}
.fi-simple-main { border-radius: 1.1rem; box-shadow: 0 18px 50px rgba(36, 50, 56, .12); }

/* Hero panel on home pages */
.ici-hero {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem;
    padding: 1.5rem 1.75rem; border-radius: 1rem; color: #f4f8f5;
    background: linear-gradient(120deg, var(--ici-teal-dark), var(--ici-teal) 70%, #2f8f83);
    box-shadow: 0 10px 28px rgba(15, 118, 110, .22);
}
.fi-panel-office .ici-hero {
    background: linear-gradient(120deg, #5f4522, var(--ici-bronze) 70%, #99753f);
    box-shadow: 0 10px 28px rgba(124, 90, 46, .22);
}
.ici-hero-kicker { font-size: .8rem; font-weight: 600; opacity: .8; }
.ici-hero-title { margin-top: .15rem; font-size: 1.45rem; font-weight: 700; letter-spacing: -.02em; }
.ici-hero-text { margin-top: .3rem; max-width: 36rem; font-size: .9rem; opacity: .9; }

.ici-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.ici-hero .fi-btn:not(.fi-color-gray) { background: #fff; color: var(--ici-ink); }
.ici-hero .fi-btn:not(.fi-color-gray) .fi-icon { color: var(--ici-ink); }
.ici-hero .fi-btn.fi-color-gray { background: rgba(255, 255, 255, .14); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); }
.ici-hero .fi-btn.fi-color-gray .fi-icon { color: #fff; }

/* Figures */
.ici-tiles { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.ici-tile {
    padding: 1.1rem 1.25rem; border-radius: .9rem; background: var(--ici-card); border: 1px solid var(--ici-line);
    box-shadow: 0 1px 2px rgba(36, 50, 56, .04);
}
.ici-tile-accent { border-left: 4px solid var(--ici-teal); }
.ici-tile-label { font-size: .8rem; color: var(--ici-muted); }
.ici-tile-value { margin-top: .2rem; font-size: 1.85rem; font-weight: 700; letter-spacing: -.02em; color: var(--ici-ink); }
.ici-tile-value span { font-size: .9rem; font-weight: 500; color: var(--ici-muted); }
.ici-tile-note { margin-top: .15rem; font-size: .8rem; color: var(--ici-muted); }

.ici-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.ici-chip { padding: .25rem .7rem; border-radius: 999px; font-size: .82rem; background: var(--ici-soft); color: var(--ici-ink); }

/* Welcome page */
.ici-welcome {
    margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem;
    font-family: "Segoe UI", system-ui, -apple-system, sans-serif; color: var(--ici-ink);
    background:
        radial-gradient(60rem 30rem at 15% -10%, rgba(15, 118, 110, .18), transparent 60%),
        radial-gradient(50rem 30rem at 100% 110%, rgba(124, 90, 46, .16), transparent 60%),
        var(--ici-page);
}
.ici-welcome main { width: 100%; max-width: 62rem; }
.ici-welcome header { text-align: center; margin-bottom: 2.25rem; }
.ici-welcome-org { font-size: .95rem; font-weight: 600; color: var(--ici-teal-dark); }
.ici-welcome h1 { margin: .2rem 0; font-size: 2.3rem; letter-spacing: -.03em; }
.ici-welcome header p { margin: 0; color: var(--ici-muted); }
.ici-doors { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.ici-door {
    display: flex; flex-direction: column; gap: .55rem; padding: 1.5rem; border-radius: 1rem; text-decoration: none; color: inherit;
    background: #fff; border: 1px solid var(--ici-line); border-top: 5px solid var(--ici-teal);
    box-shadow: 0 8px 24px rgba(36, 50, 56, .07); transition: transform .15s ease, box-shadow .15s ease;
}
.ici-door:hover, .ici-door:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(36, 50, 56, .13); }
.ici-door-office { border-top-color: var(--ici-bronze); }
.ici-door-finance { border-top-color: var(--ici-slate); }
.ici-door strong { font-size: 1.2rem; }
.ici-door span { flex: 1; font-size: .92rem; color: var(--ici-muted); line-height: 1.45; }
.ici-door em { font-style: normal; font-weight: 600; color: var(--ici-teal-dark); }
.ici-door-office em { color: var(--ici-bronze); }
.ici-door-finance em { color: var(--ici-slate); }

/* Solid, readable main buttons in each portal's own colour. */
.fi-body .fi-btn.fi-color-primary { background-color: var(--ici-teal); color: #fff; }
.fi-body .fi-btn.fi-color-primary:hover { background-color: var(--ici-teal-dark); }
.fi-body .fi-btn.fi-color-primary .fi-icon { color: #fff; }
.fi-panel-office .fi-btn.fi-color-primary { background-color: var(--ici-bronze); }
.fi-panel-office .fi-btn.fi-color-primary:hover { background-color: #5f4522; }

/* In the coloured banner: main button white, the others subtle. */
.fi-body .ici-hero .fi-btn { background-color: rgba(255, 255, 255, .14); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
.fi-body .ici-hero .fi-btn .fi-icon { color: #fff; }
.fi-body .ici-hero .fi-btn:hover { background-color: rgba(255, 255, 255, .24); }
.fi-body .ici-hero .fi-btn.fi-color-primary { background-color: #fff; color: var(--ici-ink); box-shadow: none; }
.fi-body .ici-hero .fi-btn.fi-color-primary .fi-icon { color: var(--ici-ink); }
.fi-body .ici-hero .fi-btn.fi-color-primary:hover { background-color: #eef3ef; }
