/* Afrinalia workspace surfaces and controls. */
:root {
    --aims-paper: #f5f0e8;
    --aims-panel: #fffdf9;
    --aims-soft: #eee5d9;
    --aims-ink: #2b211b;
    --aims-muted: #62534a;
    --aims-line: #d8c9b8;
    --aims-action: #88401e;
    --aims-action-hover: #663018;
    --aims-shell: #34251e;
    --aims-shell-text: #fff7ee;
    --aims-shell-muted: #e0cbb8;
    --aims-shell-active: #634431;
    --aims-danger: #8d2532;
    --aims-success: #285841;
    --aims-radius: 8px;
}
body.aims-editorial, body:has(#sidebar), body.aims-public-surface {
    background: var(--aims-paper) !important;
    color: var(--aims-ink) !important;
}
body:has(#sidebar) #sidebar {
    background: var(--aims-shell) !important;
    border-color: #644a3b !important;
    box-shadow: none !important;
}
body:has(#sidebar) #sidebar::before { background: #c87749; }
body:has(#sidebar) #sidebar :is(h1,h2,p,span,small,a,button,i,.sidebar-text) { color: var(--aims-shell-text) !important; }
body:has(#sidebar) #sidebar .sidebar-label { color: var(--aims-shell-muted) !important; }
body:has(#sidebar) #sidebar > :is(.h-14,.p-3.border-t), body:has(#sidebar) #sidebar .workspace-sidebar-section-toggle {
    background: var(--aims-shell) !important;
    border-color: #745544 !important;
}
body:has(#sidebar) #sidebar nav :is(a,.workspace-subnav-link):hover,
body:has(#sidebar) #sidebar nav :is(a.text-white,.workspace-subnav-link.text-white,[aria-current=page]),
body:has(#sidebar) #sidebar .workspace-sidebar-section[data-open=true] > button {
    background: var(--aims-shell-active) !important;
    color: white !important;
    border-color: #ce875e !important;
    transform: none !important;
}
body:has(#sidebar) #sidebar nav a { border-radius: 6px !important; }
body:has(#sidebar) :is(main,.soims-page,.aims-work-main) {
    min-width: 0;
    background: var(--aims-paper) !important;
    color: var(--aims-ink) !important;
}
body:has(#sidebar) main :is(.glass,.glass-panel,.soims-panel,.soims-stat,.soims-control-card,.aims-entry-panel,.soims-form-section) {
    background: var(--aims-panel) !important;
    color: var(--aims-ink) !important;
    border-color: var(--aims-line) !important;
    border-radius: var(--aims-radius) !important;
    box-shadow: 0 2px 10px #34251e09 !important;
    backdrop-filter: none !important;
}
body:has(#sidebar) main > header,
body:has(#sidebar) main .soims-page-header,
body:has(#sidebar) main :is(.contact-header,.suggestion-header,.referral-header,.shop-admin-header,.recruit-header,.safeguarding-header),
body:has(#sidebar) main :is(.soims-hero,.soims-finance-banner),
body:has(#sidebar) #aims-gate-main > header {
    background: var(--aims-panel) !important;
    color: var(--aims-ink) !important;
    border-color: var(--aims-line) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
body:has(#sidebar) main :is(h1,h2,h3,.font-brand) {
    font-family: Inter, system-ui, sans-serif !important;
    letter-spacing: -.025em;
}
body:has(#sidebar) main :is(header,.soims-hero,.soims-finance-banner) :is(h1,h2,h3,p,.soims-kicker,.aims-kicker) {
    color: var(--aims-ink) !important;
    background-image: none !important;
    -webkit-text-fill-color: currentColor !important;
}
body:has(#sidebar) main :is(.soims-kicker,.aims-kicker) {
    background-image: none !important;
    color: var(--aims-action) !important;
    -webkit-text-fill-color: currentColor !important;
}
body:has(#sidebar) main :is(button,a)[class*="text-white"],
body:has(#sidebar) main :is(.soims-btn-primary,.aims-btn-primary,.aims-work-button),
body:has(#sidebar) main button[type=submit],
body:has(#sidebar) main button[data-shelter-dialog] {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: var(--aims-action) !important;
    border-color: var(--aims-action) !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}
body:has(#sidebar) main :is(button,a)[class*="text-white"]:hover,
body:has(#sidebar) main button[type=submit]:hover { background: var(--aims-action-hover) !important; }
body:has(#sidebar) main button:is([value=reject],[value=decline],[value=delete],[data-danger]) {
    background: var(--aims-danger) !important; color: white !important;
    -webkit-text-fill-color: white !important; border-color: var(--aims-danger) !important;
}
body:has(#sidebar) main button:is([value=checkin],[value=checkout],[value=approve]) {
    background: var(--aims-success) !important; color: white !important;
    -webkit-text-fill-color: white !important; border-color: var(--aims-success) !important;
}
body:has(#sidebar) main :is(button,a):is([aria-selected=true],[aria-pressed=true]) {
    background: var(--aims-soft) !important; color: var(--aims-ink) !important;
    -webkit-text-fill-color: currentColor !important; border-color: var(--aims-action) !important;
}
body:has(#sidebar) main button:disabled { opacity: 1 !important; background: #e8ded3 !important; color: #5d5149 !important; -webkit-text-fill-color: currentColor !important; }
body:has(#sidebar) main :is(th,td,input,select,textarea) { border-color: var(--aims-line) !important; }
body:has(#sidebar) main :is(th,thead) { background: var(--aims-soft) !important; color: var(--aims-ink) !important; }
body:has(#sidebar) main :is(dialog,[role=dialog]) { color: var(--aims-ink); }
body:has(#sidebar) :focus-visible, body.aims-public-surface :focus-visible, .portal-shell :focus-visible { outline: 2px solid #ad5b31 !important; outline-offset: 3px; }

.aims-auth.auth-dark .auth-footer { color: #e1c7b3 !important; }
.aims-auth.auth-dark .auth-field input::placeholder { color: #cbb7a7 !important; }

body.aims-public-surface { min-width: 0; overflow-x: clip; }
body.aims-public-surface > div:not([aria-hidden]) { max-width: 100%; min-width: 0; }
body.aims-public-surface :is(h1,h2,p,legend,label) { overflow-wrap: anywhere; }
body.aims-public-surface :is(input,select,textarea) { max-width: 100%; min-width: 0; }
body.aims-public-surface .input-field { border-color: var(--aims-line); background: var(--aims-panel); color: var(--aims-ink); }
body.aims-public-surface button[type=submit] { background: var(--aims-action) !important; color: white !important; box-shadow: none !important; }
body.aims-public-surface button:disabled { background: var(--aims-soft) !important; color: var(--aims-muted) !important; }
.portal-shell { background: var(--aims-paper); }
.portal-shell .portal-side { background: var(--aims-shell) !important; color: var(--aims-shell-text) !important; }
.portal-shell .portal-side :is(a,small,span,strong,p,.portal-person,.portal-brand-copy) { color: var(--aims-shell-text) !important; }
.portal-shell .portal-side :is(.portal-person,.portal-side-note) { background: var(--aims-shell-active) !important; border-color: #86664f !important; }
.portal-shell .portal-side a:is(:hover,.active) { background: var(--aims-shell-active) !important; color: white !important; }
.portal-shell .portal-side::before { background: #c87749 !important; }
.portal-shell :is(.portal-card,.portal-live-card,.portal-snapshot,.portal-doc-card,.resident-photo-card,.portal-stay-track) {
    background: var(--aims-panel) !important; border-color: var(--aims-line) !important; border-radius: var(--aims-radius) !important; box-shadow: none !important;
}
.portal-shell .portal-hero { background: var(--aims-shell) !important; border-radius: var(--aims-radius) !important; color: white !important; }
.portal-shell .portal-hero::after { display: none; }
.portal-shell .portal-hero :is(h1,p,.portal-kicker) { color: var(--aims-shell-text) !important; }
.portal-shell .portal-hero-action { background: var(--aims-shell-active) !important; color: white !important; }
.portal-shell :is(.portal-action.violet,.portal-request-submit) { background: var(--aims-action) !important; color: white !important; }
.portal-shell :is(.portal-main,.portal-page-head,.portal-page-actions) { min-width: 0; }
@media (max-width: 640px) {
    body:has(#sidebar) main > header { flex-wrap: wrap; height: auto; }
    body:has(#sidebar) main .glass-panel:has(table) { overflow-x: auto; }
    body.aims-public-surface { padding-inline: 12px !important; }
    body.aims-public-surface form { min-width: 0; }
    body.aims-public-surface form .grid { grid-template-columns: minmax(0,1fr); }
}
@media print {
    body, body:has(#sidebar) main { background: white !important; color: #211a15 !important; }
    #sidebar { display: none !important; }
}
.gate-revoke { color: var(--aims-danger); }
.gate-revoke summary { background: #fae7e8; border: 1px solid #dcb6bb; cursor: pointer; white-space: nowrap; }
.gate-revoke textarea { display: block; width: 100%; min-width: 10rem; }
body:has(#sidebar) main .gate-revoke button[type=submit] { padding: .5rem .7rem; }
.aims-print .print-toolbar :is(a,button) { border-radius: 6px; }
body:has(#sidebar) main :is(.qf-card,.portal-card) { border-radius: var(--aims-radius); border-color: var(--aims-line); box-shadow:none; }
body:has(#sidebar) main button:is([class*="bg-white"],[class*="bg-slate-100"]):not([type=submit]):not([class*="text-white"]) {
    color: var(--aims-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    border-color: var(--aims-line) !important;
}
@media(max-width:640px) {
    body:has(#sidebar) main :is(.overflow-hidden,.rounded-2xl):has(> table) { overflow-x: auto; }
}

/* Shared screen treatments adapted from the Node workspace. */
@media screen {
    :root:has(body.aims-public-surface) {
        --blue: var(--aims-action);
        --deep: var(--aims-shell);
        --soft: var(--aims-soft);
        --line: var(--aims-line);
        --ink: var(--aims-ink);
        --muted: var(--aims-muted);
    }
    body:not(.aims-auth) {
        background-color: var(--aims-paper) !important;
        background-image: none !important;
        font-family: Arial, Helvetica, sans-serif !important;
    }
    body:has(#sidebar) #sidebar { border-right: 1px solid #664b3b; }
    body:has(#sidebar) #sidebar nav :is(a,[aria-expanded]) { font-size: 12px !important; }
    body:has(#sidebar) #sidebar nav :is(a.text-white,[aria-current=page]) { box-shadow: inset 2px 0 #ed9d6f !important; }
    body:has(#sidebar) #sidebar nav i { color: #e6b99a !important; }
    body:has(#sidebar) main :is(h1,h2,h3,.font-brand),
    .portal-shell :is(h1,h2,h3),
    body.aims-public-surface :is(h1,h2,h3) {
        font-family: Arial, Helvetica, sans-serif !important;
        letter-spacing: -.035em !important;
    }
    body:has(#sidebar) main h1, .portal-shell h1, body.aims-public-surface h1 {
        font-size: clamp(1.65rem, 2.5vw, 2.4rem) !important;
        font-weight: 500 !important;
        line-height: 1.15;
    }
    body:has(#sidebar) main :is(.soims-hero,.soims-finance-banner) { background: var(--aims-soft) !important; }
    body:has(#sidebar) main :is(.glass-card,.card,.toolbar,.tabs,.module-card,.aims-finance-overview > div),
    body.aims-public-surface :is(.card,.panel,.job),
    .portal-shell :is(.portal-card,.portal-doc-card) {
        background: var(--aims-panel) !important;
        color: var(--aims-ink) !important;
        border-color: var(--aims-line) !important;
        border-radius: 6px !important;
        box-shadow: 0 4px 18px #34251e08 !important;
        backdrop-filter: none !important;
    }
    :is(body:has(#sidebar) main, body.aims-public-surface, .portal-shell .portal-main)
    :is(input:not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=color],[type=submit],[type=button]),select,textarea) {
        background: var(--aims-panel) !important;
        color: var(--aims-ink) !important;
        border: 1px solid var(--aims-line) !important;
        border-radius: 4px !important;
        min-height: 40px;
        max-width: 100%;
        box-shadow: none !important;
    }
    :is(body:has(#sidebar) main, body.aims-public-surface, .portal-shell .portal-main) :is(input,textarea)::placeholder {
        color: var(--aims-muted) !important;
        opacity: 1;
    }
    :is(body:has(#sidebar) main, body.aims-public-surface, .portal-shell .portal-main) :is(input,textarea,select):focus {
        border-color: var(--aims-action) !important;
    }
    body:has(#sidebar) main th {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .045em;
    }
    body:has(#sidebar) main :is(.overflow-x-auto,.table-wrap) { max-width: 100%; overscroll-behavior-x: contain; }
    body:has(#sidebar) main :is(.bg-gradient-to-r,.bg-gradient-to-br,.bg-gradient-to-b):not(img,svg) { background-image: none !important; }
    body:has(#sidebar) main :is(section,article,header,div):is(.bg-gradient-to-r,.bg-gradient-to-br,.bg-gradient-to-b):not([aria-hidden=true]) {
        background-color: var(--aims-soft) !important;
        color: var(--aims-ink) !important;
    }
    body:has(#sidebar) main .bg-clip-text {
        color: var(--aims-action) !important;
        -webkit-text-fill-color: currentColor !important;
        background-image: none !important;
    }
    body:has(#sidebar) main :is(dialog,[role=dialog],.aims-dialog,.modal-content):not([role=dialog]:has(> .modal-content)) {
        color: var(--aims-ink);
        border-color: var(--aims-line) !important;
    }
    .portal-shell .portal-hero {
        background: var(--aims-soft) !important;
        border: 1px solid var(--aims-line);
        color: var(--aims-ink) !important;
    }
    .portal-shell .portal-hero :is(h1,p,.portal-kicker) { color: var(--aims-ink) !important; }
    body.aims-public-surface :is(.button,.btn,.nav a) { border-radius: 4px; }
    body.aims-public-surface :is(.hero,.page-hero) {
        background: var(--aims-soft) !important;
        color: var(--aims-ink) !important;
        border-color: var(--aims-line) !important;
        border-radius: 6px !important;
        box-shadow: none !important;
        padding: clamp(16px, 4vw, 36px);
    }
    body.aims-public-surface :is(.hero,.page-hero) :is(h1,p) { color: var(--aims-ink) !important; }
    body:not(.aims-auth) :is(.print-toolbar,.toolbar,.bar) :is(a,button):not(.text-white) {
        border-radius: 4px;
    }
}
@media (max-width: 640px) {
    body:has(#sidebar) main :is(.table-responsive,.table-wrap,.glass-card):has(> table) { overflow-x: auto; }
    body.aims-public-surface :is(.wrap,.page) { max-width: 100%; min-width: 0; }
}

@media screen {
    .aims-print :is(.toolbar,.bar,.actions,.action-bar,.print-toolbar) { gap: 8px; }
    .aims-print :is(.toolbar,.bar,.actions,.action-bar,.print-toolbar) :is(a,button),
    .aims-print :is(.print-action,.print-btn,a.back) {
        background: var(--aims-panel) !important;
        color: var(--aims-ink) !important;
        border: 1px solid var(--aims-line) !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }
    .aims-print :is(.toolbar,.bar,.actions,.action-bar,.print-toolbar) :is(a,button):hover,
    .aims-print :is(.print-action,.print-btn,a.back):hover {
        background: var(--aims-soft) !important;
    }
    .aims-print :is(.toolbar,.bar,.actions,.action-bar,.print-toolbar,.print-action,.print-btn) :focus-visible {
        outline: 2px solid var(--aims-action);
        outline-offset: 3px;
    }
    body:has(#sidebar) main :is(section,article,header,div):is(.bg-gradient-to-r,.bg-gradient-to-br,.bg-gradient-to-b)
    :is(h1,h2,h3,p,label,span).text-white {
        color: var(--aims-ink) !important;
        -webkit-text-fill-color: currentColor !important;
    }
    body:has(#sidebar) main :is(section,article,header,div):is(.bg-gradient-to-r,.bg-gradient-to-br,.bg-gradient-to-b)
    :is(a,button) .text-white {
        color: inherit !important;
    }
    .aims-public-surface .head { border-color: var(--aims-line); }
    .aims-public-surface .head :is(h1,p) { color: var(--aims-ink); }
}

@media screen {
    body:has(#sidebar) main :is(.soims-hero,.soims-finance-banner) {
        border-radius: 6px !important;
        padding: clamp(20px, 3vw, 38px);
    }
    body:has(#sidebar) main :is(.soims-hero,.soims-finance-banner)::after { display: none !important; }
    body:has(#sidebar) main .soims-action {
        background: var(--aims-panel) !important;
        color: var(--aims-ink) !important;
        border-color: var(--aims-line) !important;
        border-radius: 6px !important;
        box-shadow: none !important;
    }
    body:has(#sidebar) main .soims-action:hover { background: var(--aims-soft) !important; }
    body:has(#sidebar) main :is(.soims-action,.soims-stat) :is(small,span) { color: var(--aims-muted); }
    body:has(#sidebar) main :is(.soims-action,.soims-stat) strong { font-variant-numeric: tabular-nums; }
    .portal-shell .portal-topbar {
        background: var(--aims-paper) !important;
        border-color: var(--aims-line) !important;
        box-shadow: none !important;
    }
    .portal-shell .portal-page-title { font-family: Arial, Helvetica, sans-serif !important; }
}

.aims-public-surface .aims-request-panel {
    width: min(100%, 40rem);
    min-width: 0;
    margin: clamp(12px, 3vw, 36px) auto;
    padding: clamp(16px, 4vw, 32px);
    background: var(--aims-panel);
    color: var(--aims-ink);
    border: 1px solid var(--aims-line);
    border-radius: 6px;
}
.aims-public-surface:has(.aims-request-panel) { display: block; overflow: visible; }
.aims-request-panel img { max-width: 100%; }

@media screen {
    body:has(#sidebar) main :is(label,p,button,a,small,span):is(.text-slate-300,.text-slate-400,.text-slate-500,.text-gray-400,.text-gray-500) {
        color: var(--aims-muted) !important;
        -webkit-text-fill-color: currentColor !important;
    }
    body:has(#sidebar) main :is(label,p,button,a,small,span):is(.text-amber-300,.text-amber-400,.text-orange-400,.text-rexius-gold,.text-teal-400,.text-blue-400) {
        color: var(--aims-action) !important;
        -webkit-text-fill-color: currentColor !important;
    }
    body:has(#sidebar) main :is(button[type=submit],a.bg-amber-600,button.bg-amber-600):not(:disabled,[aria-selected=true],[aria-pressed=true]) {
        color: white !important;
        -webkit-text-fill-color: white !important;
    }
    body:has(#sidebar) main .tabs button.tab {
        background: transparent !important;
        color: var(--aims-ink) !important;
        border-radius: 4px !important;
    }
    body:has(#sidebar) main .tabs button.tab:is(.active,[aria-selected=true]) {
        background: var(--aims-soft) !important;
        color: var(--aims-action) !important;
    }
}
@media screen and (max-width: 760px) {
    body.aims-print { display: block; margin: 0; padding: 12px; }
    body.aims-print :is(.page,.sheet) {
        box-sizing: border-box;
        width: 100% !important;
        min-width: 0 !important;
        min-height: auto;
        padding: clamp(12px, 4vw, 26px);
        margin-inline: auto;
        overflow-wrap: anywhere;
    }
    body.aims-print :is(.toolbar,.actions,.action-bar,.bar,.letter-actions,.signature-area,.signature-block) {
        max-width: 100%;
        flex-wrap: wrap;
        min-width: 0;
    }
    body.aims-print :is(.control,.grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media screen {
    body:has(#sidebar) main :is(.coa-hero,.bva-hero,.mail-hero,.sg-hero,.portal-access-hero) {
        background: var(--aims-soft) !important;
        color: var(--aims-ink) !important;
        border: 1px solid var(--aims-line) !important;
        border-radius: 6px !important;
        box-shadow: none !important;
    }
    body:has(#sidebar) main :is(.coa-hero,.bva-hero,.mail-hero,.sg-hero,.portal-access-hero) :is(h1,p,small) {
        color: var(--aims-ink) !important;
    }
    body:has(#sidebar) main :is(.coa-card,.bva-panel,.glass-modal,.recon-modal-panel) {
        background: var(--aims-panel) !important;
        color: var(--aims-ink) !important;
        border-color: var(--aims-line) !important;
        border-radius: 6px !important;
        box-shadow: none !important;
    }
    body:has(#sidebar) main :is(.coa-card,.bva-panel) label { color: var(--aims-muted) !important; }
    body:has(#sidebar) main :is(h2,h3,p,span,td).text-emerald-400 { color: var(--aims-success) !important; }
    body:has(#sidebar) main :is(h2,h3,td).text-amber-400 { color: var(--aims-action) !important; }
    body:has(#sidebar) main :is(button,a):is([class*="bg-blue-600/"],[class*="bg-white/5"]):not([type=submit]) {
        background: var(--aims-panel) !important;
        color: var(--aims-ink) !important;
        border-color: var(--aims-line) !important;
        -webkit-text-fill-color: currentColor !important;
    }
    .aims-public-surface:has(.aims-request-panel) { box-sizing: border-box; margin: 0; }
    .aims-request-panel { box-sizing: border-box; }
}

@media screen {
    body:has(#sidebar) main #reconciliationWorkspaceModal .glass-modal > :first-child {
        background: var(--aims-soft) !important;
        color: var(--aims-ink) !important;
    }
    body:has(#sidebar) main #reconciliationWorkspaceModal .glass-modal > :first-child p {
        color: var(--aims-ink) !important;
    }
}
@media screen and (max-width: 760px) {
    body.aims-landscape-report { box-sizing: border-box; width: 100%; overflow-x: auto; }
    body.aims-landscape-report .page { max-width: 100%; overflow-x: auto; }
    body.aims-landscape-report .head { flex-wrap: wrap; }
    body.aims-landscape-report table { min-width: 0; }
}
