:root{--brand:#168653;--brand-2:#0f5f3b;--ink:#173329;--muted:#6b7d76;--surface:#f4f7f5}*{box-sizing:border-box}body{color:var(--ink);background:var(--surface);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.btn-brand{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-brand:hover{background:var(--brand-2);color:#fff}.auth-bg{min-height:100vh;background:linear-gradient(135deg,#e8f7ef,#f8fbf9)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.brand-panel{background:linear-gradient(150deg,#168653,#0b5031);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.brand-panel h1{font-size:3rem;margin:.8rem 0 0}.brand-mark{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:24px;background:#fff;color:#168653;font-size:2.5rem;font-weight:900;box-shadow:0 12px 32px #073c2688}.brand-mark.small{width:36px;height:36px;border-radius:12px;font-size:1.25rem}.auth-card{align-self:center;justify-self:center;width:min(420px,90%);padding:2.5rem;border-radius:24px;background:#fff;box-shadow:0 20px 60px #3153431c}.portal-shell{display:flex;min-height:100vh}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:#10291f;color:#fff;padding:1rem;overflow:auto;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;padding:.5rem}.sidebar nav{margin-top:1.5rem}.sidebar nav a,.nav-disabled{display:flex;align-items:center;gap:.75rem;padding:.68rem .8rem;border-radius:9px;color:#d8e8e1;text-decoration:none}.sidebar nav a:hover{background:#ffffff14;color:#fff}.nav-disabled{opacity:.43;font-size:.86rem;padding-block:.37rem}.nav-label{color:#82a395;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;margin:1.2rem .8rem .4rem}.portal-main{margin-left:250px;min-width:0;flex:1}.topbar{height:70px;background:#fff;border-bottom:1px solid #e2ebe6;display:flex;align-items:center;justify-content:flex-end;gap:1.25rem;padding:0 2rem;position:sticky;top:0;z-index:10}.topbar div{display:flex;flex-direction:column;text-align:right}.topbar small{font-size:.65rem;color:var(--muted)}.content{padding:2rem}.portal-main footer{text-align:center;padding:2rem;color:var(--muted);font-size:.8rem}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.stat-card,.panel{background:#fff;border:1px solid #e5ece8;border-radius:16px;padding:1.25rem;box-shadow:0 4px 16px #17332908}.stat-card small{color:var(--muted)}.stat-card strong{font-size:1.65rem;display:block}.table-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e5ece8}.table-card .table{margin:0}.form-card{background:#fff;padding:1.5rem;border-radius:16px;border:1px solid #e5ece8}.app-body{padding-bottom:82px}.app-header{background:linear-gradient(135deg,#168653,#0d6540);color:#fff;padding:calc(1rem + env(safe-area-inset-top)) 1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-radius:0 0 24px 24px}.app-header div{display:flex;flex-direction:column}.app-header a{color:#fff;font-size:1.3rem}.app-content{padding:1rem}.app-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.app-kpis .stat-card:first-child{grid-column:span 2}.bottom-nav{position:fixed;z-index:30;inset:auto 0 0;background:#fff;display:flex;justify-content:space-around;border-top:1px solid #e0e9e4;padding:.5rem 0 calc(.4rem + env(safe-area-inset-bottom))}.bottom-nav a{color:#718078;text-decoration:none;text-align:center;font-size:.68rem;display:flex;flex-direction:column;gap:.15rem}.bottom-nav i{font-size:1.2rem}.bottom-nav .active{color:#168653}.fab{background:#168653;color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;margin-top:-25px;border:4px solid #fff}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.portal-main{margin-left:0}.topbar{justify-content:space-between}.content{padding:1rem}}@media(max-width:720px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:30vh}.brand-panel .brand-mark{width:55px;height:55px;border-radius:18px;font-size:2rem}.brand-panel h1{font-size:2rem}.auth-card{margin:-2rem auto 2rem;z-index:2;padding:1.5rem}.page-head{align-items:flex-start;gap:.75rem;flex-direction:column}}


:root {
    --line: #e1e9e5;
}

.form-header-eyebrow {
    display: inline-block;
    margin-bottom: 4px;
    color: var(--brand);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.form-header h1 {
    margin-bottom: 4px;
}

.form-page.master-panel,
.form-page.form-card {
    padding: 24px;
}

.form-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
    gap: 18px;
}

.form-section {
    min-width: 0;
    padding: 20px;
    background: #f8fbf9;
    border: 1px solid var(--line);
    border-radius: 12px;
}

.form-section--wide {
    grid-column: 1 / -1;
}

.form-section--compact {
    padding: 16px;
    box-shadow: none;
}

.form-section-header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding-bottom: 14px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--line);
}

.form-section-title,
.form-section-header h2 {
    margin: 0 0 3px;
    font-size: 1rem;
    font-weight: 700;
}

.form-section-description,
.form-section-header p {
    margin: 0;
    color: #71847e;
    font-size: .85rem;
}

.form-section-number {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
    background: var(--brand);
    border-radius: 50%;
}

.form-section label,
.form-field > label {
    display: inline-block;
    margin-bottom: 6px;
    color: #3f5b51;
    font-size: .82rem;
    font-weight: 600;
}

.form-section .form-control,
.form-section .form-select,
.compact-form .form-control,
.compact-form .form-select,
.compact-form__field .form-control,
.compact-form__field .form-select {
    min-height: 42px;
    border-color: #ccd9d3;
}

.form-section .form-control:focus,
.form-section .form-select:focus,
.compact-form .form-control:focus,
.compact-form .form-select:focus,
.compact-form__field .form-control:focus,
.compact-form__field .form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgb(22 134 83 / 14%);
}

.form-option-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.form-option {
    display: flex;
    gap: 9px;
    align-items: center;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    margin: 0;
    background: #fff;
    border: 1px solid #ccd9d3;
    border-radius: 9px;
}

.form-option input {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
}

.form-section input[type="checkbox"] {
    margin-right: 6px;
}

.form-option span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.form-upload-label {
    display: block;
    margin-bottom: 6px;
    color: #3f5b51;
    font-size: .82rem;
    font-weight: 600;
}

.form-upload-preview {
    display: grid;
    min-height: 42px;
    padding: 8px;
    place-items: center;
    background: #fff;
    border: 1px solid #ccd9d3;
    border-radius: 9px;
}

.form-upload-preview img {
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
}

.form-info {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    margin-top: 18px;
    border: 1px solid;
    border-radius: 10px;
}

.form-info--security,
.form-info--info {
    color: #24523f;
    background: #eaf6f0;
    border-color: #c9e8d9;
}

.form-info--warning {
    color: #664d03;
    background: #fff8e1;
    border-color: #f3dfa0;
}

.form-info--financial {
    color: #274c77;
    background: #edf5ff;
    border-color: #c9dcf2;
}

.form-info--operation {
    color: #4d465f;
    background: #f5f2fa;
    border-color: #ddd5eb;
}

.form-info > i {
    color: var(--brand);
    font-size: 1.35rem;
}

.form-info strong,
.form-info span {
    display: block;
}

.form-info span {
    margin-top: 2px;
    font-size: .86rem;
}

.form-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 18px;
    margin-top: 18px;
    border-top: 1px solid var(--line);
}

.form-actions__primary,
.form-actions__secondary {
    min-height: 38px;
}

.compact-form,
.panel.compact-form,
.master-panel.compact-form {
    min-width: 0;
    padding: 16px;
    background: #f8fbf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: none;
}

.compact-form__grid {
    align-items: end;
}

.compact-form__field {
    min-width: 0;
}

.compact-form__label,
.compact-form label {
    display: inline-block;
    margin-bottom: 6px;
    color: #3f5b51;
    font-size: .82rem;
    font-weight: 600;
}

.compact-form__actions {
    display: flex;
    align-items: flex-end;
}

.compact-form__actions .btn {
    width: 100%;
    min-height: 42px;
}

.compact-form--inline {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    width: min(100%, 420px);
}

.compact-form--inline .compact-form__field {
    flex: 1;
}

@media (max-width: 991.98px) {
    .form-layout {
        grid-template-columns: 1fr;
    }

    .form-section--wide {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .form-page.master-panel,
    .form-page.form-card {
        padding: 12px;
    }

    .form-section {
        padding: 16px 14px;
    }

    .form-info {
        align-items: flex-start;
    }

    .form-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .form-actions .btn {
        width: 100%;
    }

    .compact-form {
        padding: 14px;
    }

    .compact-form--toolbar,
    .compact-form--inline {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .compact-form__actions {
        display: grid;
    }
}
