.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.loading-progress {
    position: absolute;
    display: block;
    width: 8rem;
    height: 8rem;
    inset: 20vh 0 auto 0;
    margin: 0 auto 0 auto;
}

    .loading-progress circle {
        fill: none;
        stroke: #e0e0e0;
        stroke-width: 0.6rem;
        transform-origin: 50% 50%;
        transform: rotate(-90deg);
    }

        .loading-progress circle:last-child {
            stroke: #1b6ec2;
            stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
            transition: stroke-dasharray 0.05s ease-in-out;
        }

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: bold;
    inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

    .loading-progress-text:after {
        content: var(--blazor-load-percentage-text, "Loading");
    }

code {
    color: #c02d76;
}

:root { --ink:#123447; --teal:#087f8c; --mint:#dff7f0; --cream:#f7fbf8; --line:#dce8e5; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; }
a { color:inherit; text-decoration:none; }
.dashboard-shell { display:flex; min-height:100vh; }
.sidebar { width:250px; background:#fff; border-right:1px solid var(--line); padding:30px 18px 20px; box-sizing:border-box; display:flex; flex-direction:column; }
.sidebar-logo { width:190px; max-width:100%; height:auto; object-fit:contain; object-position:left center; margin-bottom:8px; }
.product-name { line-height:1.35; margin:0 8px 30px; }
.brand { display:flex; align-items:center; gap:10px; font-size:1.55rem; font-weight:800; letter-spacing:.08em; }.brand.dark { color:var(--ink); margin-bottom:55px; }.brand-mark { color:#0b9b9e; font-size:1.9rem; }.brand-subtitle { font-size:.72rem; color:#789096; margin:-24px 0 38px 38px; }
.nav-label,.eyebrow { font-size:.68rem; letter-spacing:.14em; font-weight:800; color:#86a0a4; }.nav-label { padding:0 14px 12px; }.security-label { margin-top:30px; }
.nav-link { display:flex; gap:13px; align-items:center; padding:12px 14px; margin:3px 0; border-radius:9px; color:#567075; font-size:.92rem; }.nav-link span { width:18px; color:#2b9fa0; text-align:center; }.nav-link.active,.nav-link:hover { background:var(--mint); color:#087f8c; font-weight:700; }
.sidebar-footer { margin-top:auto; border-top:1px solid var(--line); padding:18px 8px 0; display:flex; gap:10px; align-items:center; font-size:.8rem; }.sidebar-footer small { display:block; color:#86a0a4; margin-top:3px; }.avatar { background:#e5f5ef; color:#087f8c; border-radius:50%; width:34px; height:34px; display:grid; place-items:center; font-weight:800; }
.dashboard-main { flex:1; padding:48px clamp(24px,6vw,90px); }.topbar { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:42px; }.topbar h1 { margin:8px 0 6px; font-size:2.25rem; letter-spacing:-.04em; }.topbar p,.muted { color:#789096; margin:0; }.outline-button { border:1px solid var(--line); padding:11px 17px; border-radius:8px; background:white; color:#477177; font-size:.85rem; cursor:pointer; }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.metric-card,.content-card,.welcome-card { background:white; border:1px solid var(--line); border-radius:14px; }.metric-card { padding:23px; display:flex; gap:16px; align-items:center; }.metric-card span:not(.metric-icon) { display:block; font-size:.65rem; letter-spacing:.1em; color:#86a0a4; font-weight:800; }.metric-card strong { display:block; font-size:1.8rem; margin:5px 0 2px; }.metric-card small { color:#789096; }.metric-icon { width:42px; height:42px; border-radius:11px; display:grid; place-items:center; font-size:1.3rem; }.blue { color:#3181a8; background:#e8f4fb; }.green { color:#0b9b82; background:#e4f8f1; }.orange { color:#c78239; background:#fff2df; }
.content-card { margin-top:22px; padding:28px; }.card-heading h2 { margin:7px 0 22px; }.quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.quick-grid a { border:1px solid var(--line); border-radius:10px; padding:18px; }.quick-grid strong,.quick-grid span { display:block; }.quick-grid span { color:#789096; font-size:.85rem; margin-top:7px; }.welcome-card { display:flex; justify-content:space-between; padding:45px; background:#0b6975; color:white; overflow:hidden; }.welcome-card h2 { font-size:2.4rem; max-width:540px; margin:10px 0; }.welcome-card p { color:#c9efea; max-width:520px; line-height:1.6; margin-bottom:25px; }.welcome-card .eyebrow { color:#9ce3d2; }.wave-art { font-size:5rem; color:#73d9ca; line-height:.6; transform:rotate(-10deg); opacity:.8; }
.dashboard-home { min-width:0; padding-top:28px; padding-bottom:34px; }
.dashboard-topbar { margin-bottom:22px; }
.dashboard-chart-stack { display:grid; gap:18px; margin-top:22px; }
.dashboard-chart-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 8px 24px rgba(7,59,76,.04); }
.dashboard-chart-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:10px; }
.dashboard-chart-heading h2 { margin:5px 0 0; font-size:1.35rem; letter-spacing:-.02em; }
.dashboard-chart-heading p { margin:5px 0 0; color:#789096; font-size:.78rem; }
.dashboard-chart-heading.compact { min-height:62px; margin-bottom:2px; }
.dashboard-chart-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.dashboard-chart-toggle { display:flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid var(--line); border-radius:999px; background:#f7faf9; color:#82979b; font-size:.68rem; font-weight:800; white-space:nowrap; }
.dashboard-chart-toggle span.active { color:#087f8c; }
.dashboard-chart-toggle .rz-switch { transform:scale(.82); transform-origin:center; margin-inline:-3px; }
.dashboard-chart-total { flex:0 0 auto; padding:7px 11px; border-radius:999px; color:#087f8c; background:#dff4ed; font-size:.75rem; font-weight:800; }
.dashboard-bar-chart { min-width:0; overflow:hidden; }
.dashboard-pie-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dashboard-loading,.dashboard-error { display:grid; gap:12px; color:#789096; }
.dashboard-loading .rz-progressbar { max-width:380px; }
.dashboard-error strong { color:#8a5550; }
.dashboard-error .rz-button { width:max-content; }
@media(max-width:1150px) { .dashboard-pie-grid { grid-template-columns:1fr; }.dashboard-chart-heading.compact { min-height:0; }.dashboard-chart-card .rz-chart { max-width:680px; margin-inline:auto; } }
@media(max-width:700px) { .dashboard-chart-card { padding:16px; }.dashboard-chart-heading { align-items:flex-start; flex-direction:column; gap:8px; }.dashboard-bar-chart { overflow-x:auto; }.dashboard-bar-chart .rz-chart { min-width:680px; }.dashboard-pie-grid { gap:14px; } }
.primary-button { display:inline-block; border:0; border-radius:8px; padding:13px 20px; background:#8ee5ca; color:#0b5962; font-weight:800; cursor:pointer; }.full { width:100%; box-sizing:border-box; }.auth-page { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; background:#fff; }.auth-panel { max-width:430px; width:calc(100% - 48px); margin:auto; padding:28px 0; }.auth-brand { margin-bottom:26px; }.auth-brand img { width:235px; max-width:100%; height:auto; display:block; }.auth-brand span { display:block; color:#789096; font-size:.72rem; letter-spacing:.055em; margin-top:7px; }.auth-panel h1 { font-size:1.9rem; margin:8px 0 0; }.auth-panel form { margin-top:24px; }.auth-switch { color:#789096; text-align:center; font-size:.86rem; }.auth-switch a { color:var(--teal); font-weight:700; }.form-error { background:#fff0ef; color:#ad4b45; padding:10px; border-radius:7px; font-size:.85rem; }.auth-art { position:relative; isolation:isolate; overflow:hidden; background:#0b6975 url('../images/signup-aquaculture.webp') center/cover no-repeat; color:#fff; padding:clamp(35px,8vw,120px); display:flex; flex-direction:column; justify-content:flex-end; }.auth-art-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(4,43,51,.12),rgba(4,43,51,.82) 65%,rgba(4,43,51,.94)); }.auth-art-content { position:relative; z-index:1; }.auth-art .eyebrow { color:#b8f4df; max-width:390px; line-height:1.6; }.auth-art h2 { font-size:3.4rem; line-height:1.02; letter-spacing:-.06em; text-shadow:0 2px 20px rgba(0,0,0,.35); }.auth-art p { color:#e0f6ef; max-width:420px; line-height:1.6; text-shadow:0 1px 10px rgba(0,0,0,.35); }.feature-empty { text-align:center; padding:90px 20px; }.feature-symbol { font-size:3rem; color:#0b9b9e; }
.radzen-auth-form { display:grid; gap:18px; }.radzen-field-wrap { display:grid; gap:6px; }.radzen-auth-form .rz-form-field { width:100%; border-radius:8px; }.radzen-auth-form .rz-textbox { width:100%; }.radzen-signin-button { width:100%; min-height:48px; background:#8ee5ca !important; color:#0b5962 !important; border:0 !important; border-radius:8px !important; font-weight:800 !important; box-shadow:none !important; }.auth-panel h1:focus { outline:none; }.secondary-link { display:inline-block; margin-left:16px; color:#c9efea; font-weight:700; }
.password-visibility-toggle { display:inline-grid; width:36px; height:36px; padding:0; place-items:center; border:0; border-radius:50%; color:#567075; background:transparent; cursor:pointer; }.password-visibility-toggle:hover { color:#087f8c; background:#e4f8f1; }.password-visibility-toggle:focus-visible { outline:2px solid #087f8c; outline-offset:2px; }.password-visibility-toggle .rzi { font-size:1.15rem; }
.agency-partnership { width:100%; box-sizing:border-box; margin-top:20px; padding:13px 15px 12px; border:1px solid #dce8e5; border-radius:11px; background:#f8fbfa; }.partnership-label { display:block; color:#087f8c; font-size:.58rem; letter-spacing:.16em; font-weight:900; margin-bottom:8px; }.partnership-logos { display:grid; grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr); gap:12px; align-items:center; }.partnership-logos img { display:block; width:100%; height:48px; object-fit:contain; }.partnership-logos .nfa-logo { height:55px; }.partnership-divider { width:1px; height:40px; background:#d9e5e3; }.agency-partnership p { margin:8px 0 0; color:#49666b; font-size:.68rem; line-height:1.4; }
.settings-main { padding-top:28px; padding-bottom:24px; }.settings-topbar { margin-bottom:20px; }.settings-topbar h1 { font-size:1.9rem; margin-top:5px; }.settings-shell { display:grid; grid-template-columns:230px minmax(0,1fr); gap:0; margin-top:0; padding:0; overflow:hidden; }.settings-menu { padding:18px 12px; background:#f5faf8; border-right:1px solid var(--line); }.settings-menu-title { display:block; padding:0 9px 8px; color:#789096; font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.settings-menu-link { display:flex; align-items:center; gap:9px; padding:9px; margin:2px 0; border-radius:8px; color:#4c686d; }.settings-menu-link > span { flex:0 0 auto; width:23px; height:23px; display:grid; place-items:center; color:#159894; background:#e1f5ef; border-radius:7px; }.settings-menu-link strong,.settings-menu-link small { display:block; }.settings-menu-link strong { font-size:.82rem; }.settings-menu-link small { margin-top:1px; color:#89a0a3; font-size:.64rem; line-height:1.25; }.settings-menu-link.active,.settings-menu-link:hover { background:#dff4ed; color:#087f8c; }.settings-content { min-width:0; padding:22px 24px; }.settings-content h2 { margin:4px 0; font-size:1.5rem; }.settings-content > p { color:#789096; margin:0 0 16px; max-width:650px; line-height:1.45; }.settings-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.settings-card { display:grid; grid-template-columns:36px 1fr; gap:2px 11px; padding:14px; border:1px solid var(--line); border-radius:10px; color:var(--ink); }.settings-card:hover { border-color:#8bd5c3; box-shadow:0 8px 24px rgba(8,127,140,.08); }.settings-card-icon { grid-row:1 / 3; width:36px; height:36px; display:grid; place-items:center; border-radius:9px; color:#087f8c; background:#e4f8f1; font-size:1.1rem; }.settings-card small { color:#789096; line-height:1.3; }.lookup-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }.lookup-heading h2 { margin:3px 0; }.lookup-heading p { color:#789096; margin:0; font-size:.84rem; line-height:1.35; }.lookup-add-button { flex:0 0 auto; }.lookup-editor { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:center; gap:8px; margin-bottom:12px; padding:10px; border:1px solid #cfe2de; border-radius:9px; background:#f8fbfa; }.lookup-editor .rz-form-field { width:100%; }.lookup-message,.lookup-error { margin:0 0 10px; padding:8px 10px; border-radius:7px; font-size:.8rem; }.lookup-message { color:#176b54; background:#e8f7f0; }.lookup-grid { width:100%; }.lookup-grid .rz-data-grid-data { max-height:430px; }.lookup-grid .rz-grid-table td,.lookup-grid .rz-grid-table th { padding:.55rem .75rem; }.lookup-grid .rz-paginator { padding:.35rem .65rem; }.lookup-actions { display:flex; gap:6px; white-space:nowrap; }.lookup-actions .rz-button { min-height:30px; padding:.3rem .55rem; font-size:.76rem; }.usage-count { display:inline-grid; min-width:28px; height:24px; padding:0 6px; place-items:center; border-radius:12px; color:#567075; background:#edf3f2; font-size:.75rem; font-weight:700; }.usage-count.in-use { color:#087f8c; background:#dff4ed; }
@media(max-width:800px) { .sidebar { width:205px; }.dashboard-main { padding:30px 20px; }.settings-main { padding-top:22px; }.metric-grid,.quick-grid { grid-template-columns:1fr; }.settings-shell { grid-template-columns:1fr; }.settings-menu { display:flex; gap:5px; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); }.settings-menu-title,.settings-menu-link small { display:none; }.settings-menu-link { flex:0 0 auto; }.settings-content { padding:18px; }.settings-card-grid { grid-template-columns:1fr; }.lookup-editor { grid-template-columns:1fr auto auto; }.auth-page { grid-template-columns:1fr; }.auth-art { display:none; } }
@media(max-width:520px) { .settings-topbar { gap:12px; }.settings-topbar .outline-button { display:none; }.lookup-heading { align-items:center; }.lookup-heading p { display:none; }.lookup-editor { grid-template-columns:1fr 1fr; }.lookup-editor .rz-form-field { grid-column:1 / -1; }.lookup-actions .rz-button .rz-button-text { display:none; }.lookup-actions .rz-button { min-width:34px; padding:.3rem; } }
.settings-main { height:100vh; overflow:hidden; box-sizing:border-box; }
@media(max-width:800px) { .settings-main { height:auto; min-height:100vh; overflow:visible; } }
.metric-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.security-main { height:auto; min-height:100vh; overflow:visible; }.security-shell { margin-top:0; padding:0; overflow:hidden; }.security-tabs { display:flex; gap:4px; padding:12px 16px 0; border-bottom:1px solid var(--line); background:#f8fbfa; }.security-tab { border:0; border-bottom:3px solid transparent; padding:10px 16px; background:transparent; color:#6d8589; font-weight:700; cursor:pointer; }.security-tab.active { color:var(--teal); border-bottom-color:var(--teal); }.security-content { padding:20px 24px 24px; }.security-editor { margin-bottom:12px; padding:14px; border:1px solid #cfe2de; border-radius:10px; background:#f8fbfa; }.security-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.security-form-grid .rz-form-field { width:100%; }.permission-picker { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:8px; margin-top:11px; }.permission-picker label { display:flex; gap:8px; align-items:flex-start; padding:9px; border:1px solid var(--line); border-radius:8px; background:white; cursor:pointer; }.permission-picker input,.role-picker input,.active-toggle input { accent-color:var(--teal); }.permission-picker strong,.permission-picker small { display:block; }.permission-picker strong { font-size:.8rem; }.permission-picker small { margin-top:2px; color:#789096; font-size:.68rem; }.role-picker { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:11px; padding:9px 11px; border:1px solid var(--line); border-radius:8px; background:white; font-size:.82rem; }.role-picker > span { color:#789096; font-weight:800; }.role-picker label,.active-toggle { display:flex; align-items:center; gap:6px; cursor:pointer; }.active-toggle { align-self:center; min-height:48px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:white; font-size:.84rem; }.security-editor-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:11px; }.permission-badges { display:flex; flex-wrap:wrap; gap:5px; }.permission-badges span { padding:4px 7px; border-radius:10px; color:#087f8c; background:#dff4ed; font-size:.68rem; font-weight:700; }.status-badge { display:inline-block; padding:4px 8px; border-radius:10px; font-size:.7rem; font-weight:800; }.status-badge.active { color:#176b54; background:#e8f7f0; }.status-badge.inactive { color:#8a5550; background:#fff0ef; }.security-grid .rz-grid-table td { vertical-align:middle; }.sidebar-footer strong { display:block; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sidebar-footer small { max-width:150px; line-height:1.25; }
.security-dialog-editor { margin:0; padding:0; border:0; background:transparent; }
.role-switch-option { display:inline-flex; align-items:center; gap:8px; color:#29474d; font-weight:600; }
.role-switch-option .rz-switch { flex:0 0 auto; }
.permission-switch-option { display:flex; gap:9px; align-items:flex-start; padding:9px; border:1px solid var(--line); border-radius:8px; background:white; }
.permission-switch-option .rz-switch { flex:0 0 auto; margin-top:1px; }
.permission-switch-option strong,.permission-switch-option small { display:block; }
.permission-switch-option strong { font-size:.8rem; }
.permission-switch-option small { margin-top:2px; color:#789096; font-size:.68rem; }
@media(max-width:950px) { .permission-picker { grid-template-columns:repeat(2,minmax(120px,1fr)); }.security-form-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .security-content { padding:16px; }.permission-picker { grid-template-columns:1fr; }.security-tabs { padding-left:8px; }.security-tab { padding:9px 11px; }.security-grid .rz-grid-table { min-width:680px; } }

.reports-main { max-width:1500px; }.reports-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 22px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,#fff,#f0faf6); }.reports-intro h2 { margin:4px 0; font-size:1.45rem; }.reports-intro p { max-width:720px; margin:0; color:#789096; line-height:1.45; }.reports-count { flex:0 0 auto; padding:10px 14px; border-radius:10px; color:#087f8c; background:#dff4ed; font-size:.76rem; font-weight:700; }.reports-count strong { margin-right:3px; font-size:1rem; }.report-category { margin-top:22px; }.report-category-heading { display:flex; align-items:center; gap:11px; margin-bottom:10px; }.report-category-heading h2 { margin:0; font-size:1.08rem; }.report-category-heading p { margin:2px 0 0; color:#789096; font-size:.78rem; }.report-category-icon { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#087f8c; background:#dff4ed; }.report-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.report-card { min-width:0; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }.report-card:hover { border-color:#8bd5c3; box-shadow:0 8px 24px rgba(8,127,140,.08); transform:translateY(-1px); transition:.18s ease; }.report-card-topline { display:flex; align-items:center; justify-content:space-between; }.report-card-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#3181a8; background:#e8f4fb; }.report-status { padding:4px 7px; border-radius:10px; color:#8a6b2f; background:#fff2df; font-size:.58rem; font-weight:900; letter-spacing:.08em; }.report-card h3 { margin:12px 0 5px; font-size:.98rem; }.report-card p { min-height:54px; margin:0; color:#6f888d; font-size:.78rem; line-height:1.45; }.report-data-points { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }.report-data-points span { padding:4px 7px; border-radius:9px; color:#087f8c; background:#edf8f5; font-size:.64rem; font-weight:700; }
.reports-main { height:100vh; overflow-y:auto; box-sizing:border-box; }
@media(max-width:1050px) { .report-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .reports-intro { align-items:flex-start; flex-direction:column; }.report-card-grid { grid-template-columns:1fr; }.report-card p { min-height:0; } }

.facilities-main { height:auto; min-height:100vh; overflow:visible; }.facility-shell { margin-top:0; padding:20px 24px 24px; overflow:hidden; }.facility-heading { margin-bottom:12px; }.facility-editor { margin-bottom:12px; padding:13px; border:1px solid #cfe2de; border-radius:10px; background:#f8fbfa; }.facility-form-grid { display:grid; grid-template-columns:1.35fr 1.2fr 1fr 1fr .65fr; gap:9px; }.facility-form-grid .rz-form-field { width:100%; }.facility-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; }.facility-search-wrap { display:flex; align-items:center; width:min(560px,100%); border:1px solid var(--line); border-radius:8px; background:white; }.facility-search-wrap > span { padding-left:12px; color:#729095; font-size:1.1rem; }.facility-search { flex:1; min-width:0; padding:10px 12px 10px 8px; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:.84rem; }.facility-result-count { flex:0 0 auto; color:#789096; font-size:.76rem; }.facility-grid-wrap { overflow-x:auto; }.facility-grid .rz-grid-table { min-width:970px; }.facility-grid .rz-grid-table td,.facility-grid .rz-grid-table th { padding:.5rem .65rem; }.facility-grid .rz-paginator { padding:.35rem .65rem; }
.farmers-main { min-width:0; padding-left:clamp(18px,3vw,48px); padding-right:clamp(18px,3vw,48px); }.farmers-shell { min-width:0; }.farmer-grid .rz-grid-table { min-width:820px; }.farmer-grid .rz-grid-table td,.farmer-grid .rz-grid-table th { padding:.42rem .5rem; }.farmer-grid .rz-grid-table td { line-height:1.3; white-space:normal; }.farmer-grid .rz-grid-table td:nth-child(3),.farmer-grid .rz-grid-table td:nth-child(4) { overflow-wrap:anywhere; }.farmer-grid .rz-grid-table th:first-child,.farmer-grid .rz-grid-table td:first-child,.farmer-grid .rz-grid-table th:last-child,.farmer-grid .rz-grid-table td:last-child { padding-left:.25rem; padding-right:.25rem; text-align:center; }.farmer-grid .rz-grid-table th:first-child .rz-column-title,.farmer-grid .rz-grid-table th:last-child .rz-column-title { justify-content:center; }.farmer-photo-thumbnail-button { width:42px; height:42px; margin:auto; padding:0; border:2px solid white; border-radius:50%; overflow:hidden; background:#e5f5ef; box-shadow:0 0 0 1px #bdd9d3; cursor:zoom-in; }.farmer-photo-thumbnail-button:hover,.farmer-photo-thumbnail-button:focus-visible { box-shadow:0 0 0 2px #159894; outline:none; }.farmer-photo-thumbnail { display:block; width:100%; height:100%; object-fit:cover; }.farmer-photo-placeholder { display:grid; place-items:center; width:42px; height:42px; margin:auto; border-radius:50%; color:#789096; background:#edf3f2; }.farmer-photo-placeholder .rzi { font-size:1.35rem; }.facility-link-button { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:7px; color:#087f8c; background:#dff4ed; font-size:.76rem; font-weight:800; }.facility-link-button:hover { background:#cbece1; }.facility-link-button span { display:inline-grid; min-width:20px; height:20px; padding:0 4px; place-items:center; border-radius:10px; color:white; background:#087f8c; font-size:.68rem; }
.farmer-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.farmer-form-grid .rz-form-field { width:100%; }.farmer-date-field { display:grid; gap:3px; padding:5px 10px; border:1px solid #b8c8c5; border-radius:4px; background:white; }.farmer-date-field span { color:#6d8589; font-size:.68rem; }.farmer-date-field input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; }.farmer-actions { align-items:center; }
.farmer-dialog-form { padding:2px 2px 0; }.farmer-address-field { grid-column:span 2; }.farmer-dialog-error { margin:12px 0 0; }.farmer-dialog-actions { margin-top:14px; }
.farmer-photo-editor { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; align-items:center; }.farmer-photo-preview-panel { display:grid; place-items:center; min-height:220px; border:1px solid #cfe2de; border-radius:14px; overflow:hidden; background:#f3f8f6; }.farmer-photo-preview { display:block; width:220px; height:220px; object-fit:cover; }.farmer-photo-empty-preview { display:grid; place-items:center; gap:8px; color:#789096; text-align:center; }.farmer-photo-empty-preview .rzi { font-size:4rem; color:#a9bfbc; }.farmer-photo-picker p { margin:6px 0 18px; color:#789096; line-height:1.5; }.farmer-photo-file-label { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 15px; border-radius:7px; color:white; background:#087f8c; font-weight:800; cursor:pointer; }.farmer-photo-file-label:hover { background:#076d78; }.farmer-photo-file-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }.farmer-photo-file-name { display:block; margin-top:9px; color:#567075; word-break:break-word; }.farmer-photo-error { margin-top:12px; }.farmer-photo-viewer { display:grid; grid-template-rows:minmax(0,1fr) auto; height:calc(80vh - 120px); min-height:300px; place-items:center; gap:10px; }.farmer-photo-full { display:block; width:100%; height:100%; min-height:0; object-fit:contain; border-radius:10px; box-shadow:0 12px 35px rgba(6,55,66,.18); }.farmer-photo-viewer-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 14px; color:#173746; }.farmer-photo-viewer-meta small { color:#789096; }
.facility-dialog-page { min-width:0; padding:2px; }.facility-dialog-page .facility-grid .rz-grid-table { min-width:760px; }.facility-grid { --rz-grid-header-title-padding-inline:0; }.facility-grid .rz-grid-table th:nth-child(4),.facility-grid .rz-grid-table td:nth-child(4),.facility-grid .rz-grid-table th:last-child,.facility-grid .rz-grid-table td:last-child { text-align:center; }.facility-grid .rz-grid-table th:nth-child(4) .rz-column-title,.facility-grid .rz-grid-table th:last-child .rz-column-title { justify-content:center; }.facility-grid .rz-grid-table th:last-child,.facility-grid .rz-grid-table td:last-child { padding-left:.3rem; padding-right:.3rem; }
.action-split { min-width:62px; }.action-split .rz-button { font-size:.76rem; }.rz-splitbutton-menu .rz-menuitem-link { min-height:44px; padding-top:.7rem; padding-bottom:.7rem; }.rz-splitbutton-menu .rz-menuitem + .rz-menuitem { margin-top:2px; }
@media(max-width:1150px) { .farmer-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .farmer-form-grid { grid-template-columns:1fr; }.farmer-address-field { grid-column:auto; } }
@media(max-width:600px) { .farmer-photo-editor { grid-template-columns:1fr; }.farmer-photo-preview-panel { min-height:180px; }.farmer-photo-preview { width:100%; height:min(52vw,220px); }.farmer-photo-picker { text-align:center; }.farmer-photo-file-label { justify-content:center; }.farmer-dialog-actions { display:flex; }.farmer-dialog-actions .rz-button { flex:1; } }
@media(max-width:1150px) { .facility-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.facility-form-grid .rz-form-field:first-child { grid-column:1 / -1; } }
@media(max-width:800px) { .facility-shell { padding:18px; } }
@media(max-width:520px) { .facility-form-grid { grid-template-columns:1fr; }.facility-form-grid .rz-form-field:first-child { grid-column:auto; }.facility-toolbar { align-items:stretch; flex-direction:column; gap:5px; }.facility-result-count { align-self:flex-end; } }

.report-filter-main { max-width: 1180px; }
.report-filter-card { max-width: 920px; margin-top: 8px; padding: 24px; }
.report-filter-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:22px; }
.report-filter-heading h2 { margin:4px 0; font-size:1.35rem; }
.report-filter-heading p { margin:0; color:#789096; font-size:.82rem; line-height:1.45; }
.report-filter-mark { display:grid; place-items:center; flex:0 0 auto; width:44px; height:44px; border-radius:12px; color:#087f8c; background:#dff4ed; font-size:1.25rem; }
.report-filter-form { display:grid; gap:22px; }
.report-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.report-filter-grid .rz-form-field { width:100%; }
.report-filter-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:4px; border-top:1px solid var(--line); }
.report-filter-error,.report-viewer-error { margin-bottom:14px; }
.report-viewer-main { display:flex; flex-direction:column; min-height:100vh; padding:24px clamp(18px,4vw,56px) 32px; box-sizing:border-box; background:#f5faf8; }
.report-viewer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:18px; }
.report-viewer-toolbar h1 { margin:4px 0 2px; font-size:1.55rem; }
.report-viewer-toolbar p { margin:0; color:#789096; font-size:.8rem; }
.report-viewer-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.report-viewer-loading { display:grid; place-items:center; gap:10px; min-height:70vh; padding:22px; border:1px solid var(--line); border-radius:12px; background:white; color:#789096; }
.report-viewer-loading p { margin:0; font-size:.82rem; }
.report-pdf-frame { flex:1; width:100%; min-height:calc(100vh - 145px); border:1px solid #d4e2df; border-radius:10px; background:#e9f0ee; box-shadow:0 10px 30px rgba(7,59,76,.08); }
@media(max-width:800px) { .report-filter-grid { grid-template-columns:1fr; }.report-viewer-toolbar { align-items:flex-start; flex-direction:column; }.report-viewer-actions { width:100%; }.report-viewer-actions .outline-button { flex:1; text-align:center; }.report-viewer-actions .rz-button { flex:1; }.report-pdf-frame { min-height:calc(100vh - 205px); } }
@media(max-width:520px) { .report-filter-card { padding:18px; }.report-filter-heading { margin-bottom:18px; }.report-filter-actions { justify-content:stretch; }.report-filter-actions .rz-button { flex:1; }.report-viewer-main { padding:18px 12px 22px; }.report-viewer-toolbar h1 { font-size:1.3rem; } }

.analytics-main { height:100vh; overflow-y:auto; box-sizing:border-box; max-width:1600px; }
.analytics-topbar { align-items:flex-end; }
.analytics-toolbar { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.analytics-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0 16px; }
.analytics-kpi { display:flex; align-items:center; gap:13px; min-width:0; padding:16px; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 7px 20px rgba(7,59,76,.035); }
.analytics-kpi-icon { display:grid; place-items:center; flex:0 0 auto; width:42px; height:42px; border-radius:11px; color:#7a5b20; background:#fff0d9; font-size:1.15rem; }
.analytics-kpi-icon.green { color:#176b54; background:#e2f6ee; }
.analytics-kpi-icon.blue { color:#236f96; background:#e7f3fa; }
.analytics-kpi-icon.gold { color:#89611a; background:#fff1cc; }
.analytics-kpi div { min-width:0; }
.analytics-kpi small,.analytics-kpi strong,.analytics-kpi div > span { display:block; }
.analytics-kpi small { color:#7b9296; font-size:.62rem; font-weight:900; letter-spacing:.1em; }
.analytics-kpi strong { margin:3px 0 1px; color:var(--ink); font-size:1.55rem; line-height:1; }
.analytics-kpi div > span { color:#8aa0a4; font-size:.68rem; }
.analytics-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.analytics-chart-wide { grid-column:1 / -1; }
.analytics-empty { min-height:300px; display:grid; place-items:center; padding:20px; color:#84999d; text-align:center; font-size:.82rem; }
.analytics-table-grid { display:grid; gap:16px; margin-top:16px; }
.analytics-table-card { min-width:0; padding:18px; }
.analytics-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }
.analytics-section-heading h2 { margin:4px 0 0; font-size:1.15rem; }
.analytics-section-heading > span { color:#789096; font-size:.72rem; }
.analytics-grid-wrap { min-width:0; overflow-x:auto; }
.analytics-grid .rz-grid-table { min-width:720px; }
.analytics-grid .rz-grid-table td,.analytics-grid .rz-grid-table th { padding:.55rem .7rem; }
.analytics-event { display:inline-block; min-width:48px; padding:4px 7px; border-radius:9px; font-size:.66rem; font-weight:800; text-align:center; }
.analytics-event.login { color:#89611a; background:#fff1cc; }
.analytics-event.view { color:#087f8c; background:#dff4ed; }
@media(max-width:1100px) { .analytics-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.analytics-chart-grid { grid-template-columns:1fr; }.analytics-chart-wide { grid-column:auto; } }
@media(max-width:700px) { .analytics-topbar { align-items:flex-start; }.analytics-toolbar { width:100%; }.analytics-toolbar .rz-dropdown { flex:1; }.analytics-kpis { grid-template-columns:1fr; }.analytics-main { height:auto; min-height:100vh; overflow:visible; } }
