*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#173526;background:#f4f7f4}h1,h2,h3{font-family:"Manrope",Inter,sans-serif;line-height:1.1}.admin-body{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#082e1d;color:#d9eadf;padding:28px 20px;display:flex;flex-direction:column}.admin-logo{color:#fff;text-decoration:none;font-family:"Manrope";font-size:20px;font-weight:800;letter-spacing:.04em}.admin-logo small{display:block;font-family:Inter;font-size:9px;letter-spacing:.3em;color:#77bd29;margin-top:3px}.sidebar nav{display:grid;gap:6px;margin-top:45px}.sidebar nav a,.logout{color:#cfe1d6;text-decoration:none;padding:11px 12px;border-radius:10px;font-size:13px}.sidebar nav a:hover,.logout:hover{background:rgba(255,255,255,.08);color:#fff}.logout{margin-top:auto}.admin-main{margin-left:245px;width:calc(100% - 245px)}.admin-topbar{background:#fff;border-bottom:1px solid #e0e8e2;padding:28px 38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-topbar h1{margin:3px 0;font-size:32px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#5a8e29}.admin-content{padding:35px 38px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card,.panel{background:#fff;border:1px solid #e1e9e3;border-radius:18px;padding:24px}.stat-card span{display:block;color:#64756b;font-size:12px}.stat-card strong{font-family:"Manrope";font-size:42px;display:block;margin-top:10px}.panel-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{margin-bottom:20px}.panel h2{margin:6px 0 12px;font-size:23px}.button{display:inline-flex;border:0;border-radius:999px;padding:11px 18px;text-decoration:none;font-weight:800;cursor:pointer;font-size:13px}.button-primary{background:#63ad18;color:#082d1d}.button-light{background:#edf2ed;color:#173526}.quick-actions{display:flex;gap:10px;margin-top:20px}.admin-form{max-width:900px}.admin-form input,.admin-form textarea,.admin-form select,.panel select{width:100%;padding:11px 12px;border:1px solid #ccd9d0;border-radius:9px;font:inherit;background:#fff}.admin-form label{display:block;font-size:12px;font-weight:800;margin:0 0 14px}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #e5ebe7;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#68796f}.inline{display:inline}.link-button{border:0;background:none;padding:0;color:#236a3e;font-weight:800;cursor:pointer}.muted{color:#697970}.alert{padding:12px 15px;border-radius:9px;margin-bottom:15px}.alert.success{background:#e4f3e5;color:#1f6b2c}.alert.error{background:#fde9e9;color:#a52c2c}.login-body{min-height:100vh;display:grid;place-items:center;background:#edf4ed}.login-card{width:min(420px,92%);background:#fff;padding:38px;border-radius:22px;box-shadow:0 25px 70px rgba(25,60,40,.1)}.login-card h1{font-size:30px;margin:35px 0 10px}.login-card p{color:#64756b}.login-card label{display:block;font-weight:800;font-size:12px;margin:15px 0}.login-card input{width:100%;padding:12px;border:1px solid #ccd9d0;border-radius:9px;margin-top:6px}.login-card .button{width:100%;margin:10px 0 15px}.login-card>a{color:#236a3e;text-decoration:none;font-size:13px}@media(max-width:850px){.sidebar{width:190px}.admin-main{margin-left:190px;width:calc(100% - 190px)}.stat-grid{grid-template-columns:1fr 1fr}.panel-grid{grid-template-columns:1fr}.admin-topbar,.admin-content{padding:22px}.form-row{grid-template-columns:1fr}}@media(max-width:620px){.sidebar{position:static;width:100%;height:auto}.admin-body{display:block}.admin-main{margin-left:0;width:100%}.sidebar nav{margin-top:20px;grid-template-columns:1fr 1fr}.logout{margin-top:15px}.stat-grid{grid-template-columns:1fr 1fr}.admin-topbar{display:block}.admin-topbar .button{margin-top:12px}.form-row{grid-template-columns:1fr}}

/* =========================================================
   GREEN HATCH CMS
   PROFESSIONAL TYPOGRAPHY SYSTEM
   ========================================================= */

body {
    font-family: 'Inter', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
}

button,
.btn,
input,
textarea,
select {
    font-family: 'Inter', sans-serif;
}

/* ============================================================
   GREEN HATCH CMS — PARTNERS
   ============================================================ */

.partners-admin-page {
    max-width: 1250px;
    margin: 0 auto;
}

.admin-page-heading {
    margin-bottom: 35px;
}

.admin-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #67A820;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.admin-page-heading h1,
.admin-panel-heading h2 {
    font-family: 'Manrope', sans-serif;
    letter-spacing: -.035em;
}

.admin-page-heading p {
    max-width: 650px;
    color: #69776F;
    line-height: 1.7;
}

.partners-admin-grid {
    display: grid;
    grid-template-columns: minmax(320px,.75fr) minmax(450px,1.25fr);
    gap: 24px;
    align-items: start;
}

.admin-panel {
    border: 1px solid #DDE8E0;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 40px rgba(5,53,32,.055);
    padding: 28px;
}

.admin-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}

.admin-panel-heading h2 {
    margin: 0;
    font-size: 25px;
}

.admin-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    background: #EEF7E9;
    color: #437C19;
    font-size: 12px;
    font-weight: 800;
}

.partner-form {
    display: grid;
    gap: 18px;
}

.partner-form label {
    display: grid;
    gap: 7px;
    color: #294C39;
    font-size: 13px;
    font-weight: 700;
}

.partner-form input[type="text"],
.partner-form input[type="url"],
.partner-form input[type="number"],
.partner-form input[type="file"],
.partner-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #D8E4DB;
    border-radius: 12px;
    background: #FBFDFC;
    color: #173A29;
    font-family: 'Inter', sans-serif;
}

.partner-form input:focus,
.partner-form textarea:focus {
    outline: none;
    border-color: #73B936;
    box-shadow: 0 0 0 4px rgba(115,185,54,.11);
}

.partner-form small,
.optional {
    color: #819087;
    font-size: 11px;
    font-weight: 400;
}

.partner-form-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
    align-items: end;
}

.admin-checkbox {
    display: flex !important;
    align-items: center;
    gap: 9px !important;
    padding-bottom: 12px;
}

.admin-checkbox input {
    width: 17px;
    height: 17px;
    accent-color: #5EA91D;
}

.current-partner-logo {
    display: grid;
    gap: 9px;
    padding: 15px;
    border: 1px solid #E0E9E2;
    border-radius: 14px;
    background: #F7FAF7;
}

.current-partner-logo span {
    color: #748279;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.current-partner-logo img {
    max-width: 210px;
    max-height: 75px;
    object-fit: contain;
}

.partner-form-actions {
    display: flex;
    gap: 10px;
    padding-top: 5px;
}

.partner-admin-list {
    display: grid;
    gap: 12px;
}

.partner-admin-item {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 13px;
    border: 1px solid #E2EAE4;
    border-radius: 16px;
    background: #FBFDFC;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.partner-admin-item:hover {
    transform: translateY(-2px);
    border-color: #C9DDCE;
    box-shadow: 0 10px 28px rgba(5,53,32,.07);
}

.partner-admin-logo {
    width: 90px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-sizing: border-box;
    border-radius: 11px;
    background: #ffffff;
    border: 1px solid #E2EAE4;
}

.partner-admin-logo img {
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
}

.partner-admin-info {
    min-width: 0;
}

.partner-admin-info strong {
    display: block;
    color: #193E2B;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
}

.partner-admin-info span {
    display: block;
    margin-top: 5px;
    color: #7A887F;
    font-size: 11px;
}

.partner-status {
    display: inline-block;
    margin-top: 7px;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.partner-status.active {
    background: #EAF7DE;
    color: #4E8D18;
}

.partner-status.inactive {
    background: #F2F3F2;
    color: #7C8580;
}

.partner-admin-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.partner-admin-actions form {
    margin: 0;
}

.button-small {
    min-height: 34px !important;
    padding: 8px 12px !important;
    font-size: 11px !important;
}

.button-danger {
    border: 1px solid #E8CACA !important;
    background: #FFF7F7 !important;
    color: #A14444 !important;
}

.button-danger:hover {
    background: #FCEEEE !important;
    border-color: #DDAAAA !important;
}

.partners-admin-empty {
    padding: 45px 20px;
    text-align: center;
    border: 1px dashed #CBDACF;
    border-radius: 16px;
    background: #F8FBF8;
}

.partners-admin-empty strong {
    font-family: 'Manrope', sans-serif;
    color: #294C39;
}

.partners-admin-empty p {
    color: #7A887F;
    font-size: 13px;
}

.admin-alert-error {
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px solid #E7CACA;
    border-radius: 12px;
    background: #FFF7F7;
    color: #8D3D3D;
}

@media (max-width: 850px) {

    .partners-admin-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .partner-form-row {
        grid-template-columns: 1fr;
    }

    .partner-admin-item {
        grid-template-columns: 70px 1fr;
    }

    .partner-admin-logo {
        width: 70px;
    }

    .partner-admin-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

