:root {
    --ink: #142b37;
    --accent: #087f74;
    --bs-primary: #087f74;
}
body {
    color:var(--ink);
    background:#f8fafb;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif
}
a {
    color:var(--accent);
    text-decoration:none
}
a:hover {
    text-decoration:underline
}
.btn-primary {
    --bs-btn-bg:#087f74;
    --bs-btn-border-color:#087f74;
    --bs-btn-hover-bg:#06675e;
    --bs-btn-hover-border-color:#06675e
}
.brand {
    font-size:1.55rem;
    font-weight:900;
    letter-spacing:-1px
}
.brand span {
    color:#16b8a6
}
.brand small {
    display:block;
    font-size:9px;
    letter-spacing:2.7px;
    font-weight:600
}
.topbar {
    background:#142b37;
    color:#cbdadf;
    font-size:10px;
    letter-spacing:1.4px;
    padding:9px 7%
}
.topbar span {
    float:right;
    letter-spacing:.4px
}
.hero {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    border-radius:24px;
    overflow:hidden;
    background:#e8f1f0;
    min-height:340px
}
.hero-copy {
    padding:48px
}
.hero h1 {
    font-size:clamp(2rem,4vw,3.8rem);
    font-weight:850;
    line-height:1.07;
    letter-spacing:-2px
}
.hero-img {
    width:100%;
    height:100%;
    object-fit:cover
}
.eyebrow {
    font-size:11px;
    letter-spacing:2px;
    font-weight:700;
    color:#087f74
}
.chip {
    border:1px solid #d6e3e3;
    background:white;
    color:#142b37;
    display:inline-block;
    padding:9px 15px;
    border-radius:40px;
    font-size:13px
}
.chip:hover {
    background:#e8f1f0
}
.product-card {
    background:#fff;
    border:1px solid #e7edef;
    border-radius:18px;
    overflow:hidden;
    transition:transform .2s;
    height:100%
}
.product-card:hover {
    transform:translateY(-4px)
}
.product-card img {
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
    background:#f0f1f2
}
.product-card h3 {
    font-size:16px;
    min-height:42px;
    font-weight:650
}
.price {
    color:#087f74;
    font-weight:750;
    font-size:1.1rem
}
.surface {
    background:#fff;
    border:1px solid #e4ebef;
    padding:24px;
    border-radius:18px
}
.form-card {
    max-width:650px;
    margin:20px auto
}
.form-card h1 {
    font-size:28px
}
.field-validation-error,.validation-summary-errors {
    color:#b02a37
}
.field-validation-error {
    font-size:13px
}
.validation-summary-valid {
    display:none
}
.input-validation-error {
    border-color:#dc3545
}
.table {
    vertical-align:middle;
    font-size:14px
}
.table thead th {
    background:#f0f5f6;
    color:#55717e;
    font-size:12px;
    font-weight:650
}
.table td,.table th {
    padding:14px 10px
}
.thumb {
    width:54px;
    height:54px;
    border-radius:10px;
    object-fit:contain
}
.product-detail-image {
    width:100%;
    max-height:540px;
    object-fit:contain;
    border-radius:18px;
    background:#e8eaeb
}
.gallery-thumb {
    width:80px;
    height:80px;
    object-fit:contain;
    border-radius:9px;
    cursor:pointer;
    border:1px solid #d9e1e6
}
.preline {
    white-space:pre-line
}
.admin-header {
    height:72px;
    background:#102530;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 30px;
    gap:16px
}
.admin-shell {
    display:grid;
    grid-template-columns:245px minmax(0,1fr);
    min-height:calc(100vh - 72px)
}
.admin-sidebar {
    background:#142d39;
    padding:25px 20px;
    color:#c0d7de
}
.admin-sidebar a {
    display:block;
    color:#d0e0e5;
    padding:11px 12px;
    border-radius:8px;
    margin:3px 0;
    font-size:13px
}
.admin-sidebar a:hover {
    background:#234652;
    text-decoration:none
}
.sidebar-caption {
    font-size:9px;
    letter-spacing:1.7px;
    color:#80a4b4;
    margin:20px 10px 10px
}
.admin-main {
    padding:32px;
    min-width:0
}
.admin-main h1 {
    font-size:27px;
    font-weight:750;
    margin-bottom:24px
}
.stat-card {
    border-radius:17px;
    background:#fff;
    padding:23px;
    border:1px solid #e3ebef
}
.stat-card strong {
    display:block;
    font-size:30px;
    margin:12px 0 3px
}
.stat-card span {
    font-size:12px;
    color:#69818d
}
.stat-card.green {
    background:#e8f5f1
}
.stat-card.orange {
    background:#fff2e7
}
.badge-status {
    background:#e8f0f4;
    color:#285b71;
    padding:7px 10px;
    border-radius:30px;
    font-size:12px
}
.admin-main .surface {
    margin-bottom:20px
}
.empty {
    padding:60px 20px;
    text-align:center;
    color:#738994
}
.actions {
    display:flex;
    gap:6px;
    flex-wrap:wrap
}
.pagination .page-link {
    color:#087f74
}
.pagination .active .page-link {
    background:#087f74;
    border-color:#087f74
}
@media(max-width:991px) {
    .admin-shell {
        grid-template-columns:1fr
    }
    .admin-sidebar {
        display:flex;
        flex-wrap:wrap;
        gap:4px;
        padding:10px
    }
    .admin-sidebar a {
        padding:7px
    }
    .admin-sidebar .sidebar-caption {
        display:none
    }
    .admin-sidebar form {
        margin-left:auto
    }
    .admin-sidebar form button {
        margin-top:0!important
    }
    .admin-main {
        padding:20px
    }
    .hero-copy {
        padding:30px
    }
    .hero {
        min-height:290px
    }
    .topbar span {
        display:none
    }
}
@media(max-width:576px) {
    .hero {
        grid-template-columns:1fr
    }
    .hero-img {
        max-height:230px
    }
    .hero-copy {
        padding:26px
    }
    .admin-header {
        height:auto;
        min-height:65px;
        padding:12px 16px;
        font-size:12px
    }
    .surface {
        padding:17px
    }
    .admin-main {
        padding:15px
    }
    .topbar {
        padding:8px 5%
    }
    .table td,.table th {
        padding:10px
    }
    .actions .btn {
        font-size:11px
    }
}
.btn-primary {
    background-color: #087f74;
    border-color: #087f74;
}
.btn-primary:hover,.btn-primary:focus {
    background-color:#06675e;
    border-color:#06675e
}
.btn-outline-primary {
    color:#087f74;
    border-color:#087f74
}
.btn-outline-primary:hover {
    background-color:#087f74;
    border-color:#087f74;
    color:white
}
