:root{
    --savola-green:#006b54;
    --savola-dark:#004d3c;
    --savola-orange:#ef8b2c;
    --savola-cream:#f7f4ec;
    --savola-text:#23352f;
    --savola-muted:#69766f;
    --savola-line:#dce5e1;
}

/* Main layout */
.savola-shell{max-width:1080px;margin:0 auto;padding:32px 18px;color:var(--savola-text)}
.savola-card{background:#fff;border:1px solid var(--savola-line);border-radius:24px;padding:clamp(24px,5vw,46px);box-shadow:0 18px 50px rgba(0,77,60,.08)}
.savola-auth-card{max-width:560px;margin:0 auto}
.savola-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--savola-orange);margin-bottom:8px}
.savola-shell h2{font-size:clamp(30px,5vw,48px);line-height:1.05;margin:0 0 12px;color:var(--savola-green)}
.savola-shell h3{color:var(--savola-green)}

/* Forms */
.savola-form{display:grid;gap:18px;margin-top:28px}
.savola-form label{display:grid;gap:7px;font-weight:700}
.savola-form input,.savola-form textarea,.savola-filter-bar input,.savola-filter-bar select{width:100%;box-sizing:border-box;border:1px solid var(--savola-line);border-radius:13px;padding:13px 15px;background:#fff;color:var(--savola-text);font:inherit}
.savola-form input:focus,.savola-form textarea:focus,.savola-filter-bar input:focus,.savola-filter-bar select:focus{outline:none;border-color:var(--savola-green);box-shadow:0 0 0 4px rgba(0,107,84,.1)}
.savola-form small{font-weight:400;color:var(--savola-muted)}
.savola-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.savola-check{display:flex!important;align-items:center;gap:8px!important}.savola-check input{width:auto}

/* Buttons */
.savola-btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;border:0;border-radius:999px;background:var(--savola-green);color:#fff!important;font-weight:800;text-decoration:none!important;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.savola-btn:hover{background:var(--savola-dark);color:#fff!important;transform:translateY(-1px)}
.savola-btn:focus-visible{outline:3px solid rgba(239,139,44,.35);outline-offset:3px}
.savola-btn-secondary{background:#fff;color:var(--savola-green)!important;border:1px solid var(--savola-green)}
.savola-btn-secondary:hover{background:var(--savola-cream);border-color:var(--savola-dark);color:var(--savola-dark)!important}
.savola-btn-inline{width:auto;white-space:nowrap}
.savola-btn-warning{background:var(--savola-orange)!important;color:#fff!important}
.savola-btn-warning:hover{filter:brightness(.92)}

/* Authentication links */
.savola-switch,.savola-auth-links{text-align:center;margin-top:20px}
.savola-switch a,.savola-auth-links a,.savola-text-link{color:var(--savola-green);font-weight:800;text-decoration:none}
.savola-switch a:hover,.savola-auth-links a:hover,.savola-text-link:hover{color:var(--savola-dark);text-decoration:underline}

/* Header auth navigation */
.savola-auth-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:nowrap!important;margin:0!important;padding:0!important;width:auto!important}
.savola-auth-nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:auto!important;min-height:44px!important;padding:0 20px!important;margin:0!important;box-sizing:border-box!important;border-radius:999px!important;font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important}
.savola-auth-nav a:hover{text-decoration:none!important;transform:translateY(-1px)}
.savola-auth-nav a:focus-visible{outline:3px solid rgba(239,139,44,.35)!important;outline-offset:3px}
.savola-auth-nav .savola-nav-register,.savola-auth-nav .savola-nav-logout{background:#fff!important;border:1px solid var(--savola-green)!important;color:var(--savola-green)!important;box-shadow:none!important}
.savola-auth-nav .savola-nav-register:hover,.savola-auth-nav .savola-nav-logout:hover{background:var(--savola-cream)!important;border-color:var(--savola-dark)!important;color:var(--savola-dark)!important}
.savola-auth-nav .savola-nav-login,.savola-auth-nav .savola-nav-dashboard{background:var(--savola-green)!important;border:1px solid var(--savola-green)!important;color:#fff!important;box-shadow:0 5px 14px rgba(0,107,84,.12)!important}
.savola-auth-nav .savola-nav-login:hover,.savola-auth-nav .savola-nav-dashboard:hover{background:var(--savola-dark)!important;border-color:var(--savola-dark)!important;color:#fff!important}
.savola-auth-nav p{display:contents!important;margin:0!important;padding:0!important}.savola-auth-nav br{display:none!important}
header .savola-auth-nav{margin:0!important;margin-block-start:0!important}header .savola-auth-nav a{font-family:inherit!important}
header .wp-block-shortcode:has(.savola-auth-nav){display:flex!important;align-items:center!important;width:auto!important;margin:0!important;padding:0!important}
header .wp-block-group:has(.savola-auth-nav){align-items:center!important}

/* Notices */
.savola-notice{padding:14px 16px;border-radius:12px;margin:18px 0}.savola-error{background:#fff0f0;border:1px solid #edb7b7;color:#7f2424}.savola-success{background:#eef9f4;border:1px solid #acd8c5;color:#14583e}

/* Dashboard */
.savola-hero,.savola-list-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.savola-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.savola-stat{background:var(--savola-cream);border-radius:20px;padding:28px;text-decoration:none;color:var(--savola-text);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.savola-stat:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,77,60,.08)}
.savola-stat strong{display:block;font-size:42px;color:var(--savola-green)}
.savola-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
.savola-action{padding:22px;border:1px solid var(--savola-line);border-radius:18px;text-decoration:none;color:var(--savola-text);background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.savola-action:hover{transform:translateY(-2px);border-color:var(--savola-green);box-shadow:0 10px 24px rgba(0,77,60,.07)}
.savola-action b,.savola-action span{display:block}.savola-action b{color:var(--savola-green);margin-bottom:5px}

/* Recipe form */
.savola-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}

/* Media */
.savola-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.savola-media{border-radius:14px;overflow:hidden;background:#f1f3f2}.savola-media img,.savola-media video{display:block;width:100%;height:210px;object-fit:cover}

/* Recipe cards */
.savola-recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.savola-recipe-card{border:1px solid var(--savola-line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.savola-recipe-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,77,60,.08)}.savola-recipe-card .savola-media img,.savola-recipe-card .savola-media video{height:190px}.savola-recipe-body{padding:20px}
.savola-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.savola-badge.draft{background:#fff3df;color:#965b13}.savola-badge.submitted{background:#e8f6ef;color:#176149}.savola-badge.revision{background:#fff0e2;color:#9a5412}
.savola-details{margin-top:14px;padding-top:14px;border-top:1px solid var(--savola-line)}.savola-empty{text-align:center;background:var(--savola-cream);padding:48px 24px;border-radius:20px}

/* Revision feedback for participants */
.savola-revision-box,.savola-revision-inline{margin:20px 0;padding:20px;border:1px solid #efc58f;border-radius:16px;background:#fff8ef}.savola-revision-box h3{margin:10px 0 6px}.savola-revision-inline p{margin:10px 0 0;color:var(--savola-text)}

/* Frontend competition administration */
.savola-admin-dashboard,.savola-admin-page,.savola-review-page{padding-top:40px;padding-bottom:72px}
.savola-admin-summary-grid{grid-template-columns:repeat(4,1fr);margin:28px 0 36px}.savola-admin-summary-grid .savola-stat{border:1px solid var(--savola-line);box-shadow:0 10px 28px rgba(0,77,60,.05)}
.savola-admin-section{margin-top:44px}.savola-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.savola-section-heading h3{margin:0;font-size:28px}
.savola-admin-recipe-list,.savola-participant-list{display:grid;gap:14px}
.savola-admin-recipe-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px;border:1px solid var(--savola-line);border-radius:20px;background:#fff;transition:.2s ease}.savola-admin-recipe-row:hover{border-color:#c7d9d2;box-shadow:0 12px 30px rgba(0,77,60,.07);transform:translateY(-1px)}
.savola-admin-recipe-image{width:130px;height:105px;border-radius:15px;overflow:hidden;background:var(--savola-cream)}.savola-admin-recipe-image .savola-media,.savola-admin-recipe-image img,.savola-admin-recipe-image video,.savola-media-placeholder{width:100%;height:100%}.savola-admin-recipe-image img,.savola-admin-recipe-image video{object-fit:cover}.savola-media-placeholder{display:flex;align-items:center;justify-content:center;color:var(--savola-muted);font-size:13px}
.savola-admin-recipe-info h4,.savola-participant-row h4{margin:8px 0 5px;color:var(--savola-green);font-size:20px}.savola-admin-recipe-info p,.savola-participant-row p{margin:4px 0}.savola-admin-recipe-actions{display:flex;align-items:center}
.savola-row-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.savola-company-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--savola-cream);color:var(--savola-text);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

/* Filters */
.savola-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto auto;align-items:end;gap:12px;margin:24px 0 12px;padding:18px;border:1px solid var(--savola-line);border-radius:18px;background:#fff}.savola-filter-bar label{display:grid;gap:7px;font-weight:700}.savola-filter-bar label span{font-size:12px;color:var(--savola-muted);text-transform:uppercase;letter-spacing:.06em}.savola-filter-bar input,.savola-filter-bar select{min-height:46px}.savola-participant-filter{grid-template-columns:minmax(260px,1fr) 180px auto auto}.savola-results-count{margin:14px 0;color:var(--savola-muted);font-weight:700}

/* Participant list */
.savola-participant-row{display:grid;grid-template-columns:56px minmax(220px,1fr) auto auto;align-items:center;gap:18px;padding:20px;border:1px solid var(--savola-line);border-radius:20px;background:#fff}.savola-avatar{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--savola-cream);color:var(--savola-green);font-weight:900}.savola-participant-stats{display:flex;gap:18px}.savola-participant-stats span{color:var(--savola-muted);font-size:13px;white-space:nowrap}.savola-participant-stats strong{display:block;color:var(--savola-green);font-size:20px}

/* Recipe review */
.savola-back-link{display:inline-block;margin-bottom:18px}.savola-review-card{max-width:980px;margin:0 auto}.savola-review-head{padding-bottom:26px;border-bottom:1px solid var(--savola-line)}.savola-review-head h2{margin-top:12px}.savola-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.savola-review-grid section{padding:20px;border-radius:16px;background:var(--savola-cream)}.savola-review-grid .savola-review-full{grid-column:1/-1}.savola-field-label{display:block;margin-bottom:8px;color:var(--savola-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.savola-review-section{margin-top:34px;padding-top:30px;border-top:1px solid var(--savola-line)}.savola-review-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.savola-feedback-history{display:grid;gap:12px}.savola-feedback-item{padding:16px;border:1px solid var(--savola-line);border-radius:14px;background:var(--savola-cream)}.savola-feedback-item>div{display:flex;justify-content:space-between;gap:16px}.savola-feedback-item span{color:var(--savola-muted);font-size:12px}.savola-feedback-item p{margin:10px 0 0}

/* Tablet */
@media(max-width:900px){.savola-auth-nav{gap:8px!important}.savola-auth-nav a{min-height:40px!important;padding:0 15px!important;font-size:13px!important}.savola-admin-summary-grid{grid-template-columns:repeat(2,1fr)}.savola-filter-bar,.savola-participant-filter{grid-template-columns:1fr 1fr}.savola-filter-search{grid-column:1/-1}.savola-participant-row{grid-template-columns:56px 1fr}.savola-participant-stats{grid-column:2;flex-wrap:wrap}}

/* Mobile */
@media(max-width:760px){.savola-grid.two,.savola-stat-grid,.savola-actions,.savola-recipe-grid,.savola-media-grid{grid-template-columns:1fr}.savola-hero,.savola-list-head{align-items:flex-start;flex-direction:column}.savola-form-actions{flex-direction:column}.savola-btn{width:100%}.savola-auth-nav{width:auto!important;margin:0!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}.savola-auth-nav a{min-height:40px!important;padding:0 14px!important;font-size:13px!important}.savola-admin-recipe-row{grid-template-columns:1fr}.savola-admin-recipe-image{width:100%;height:200px}.savola-admin-recipe-actions .savola-btn{width:100%}.savola-filter-bar,.savola-participant-filter{grid-template-columns:1fr}.savola-filter-search{grid-column:auto}.savola-participant-row{grid-template-columns:1fr}.savola-participant-stats{grid-column:auto;flex-wrap:wrap}.savola-review-grid{grid-template-columns:1fr}.savola-review-grid .savola-review-full{grid-column:auto}.savola-review-actions{flex-direction:column}.savola-review-actions .savola-btn{width:100%}}

/* Small phones */
@media(max-width:480px){.savola-shell{padding-left:14px;padding-right:14px}.savola-card{border-radius:18px}.savola-auth-nav{width:100%!important;justify-content:center!important}.savola-auth-nav a{flex:1 1 auto!important;min-width:110px!important}.savola-feedback-item>div{flex-direction:column;gap:4px}}
/* Header */
.savola-smart-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.96);
    box-shadow:0 1px 0 rgba(0,77,60,.08);
    transition:transform .28s ease,box-shadow .28s ease;
    will-change:transform;
}
.savola-smart-header.savola-header-hidden{
    transform:translateY(-110%);
}
body.admin-bar .savola-smart-header{
    top:32px;
}
.savola-auth-nav .savola-nav-admin-link{
    background:#fff!important;
    border:1px solid var(--savola-green)!important;
    color:var(--savola-green)!important;
}
.savola-auth-nav .savola-nav-admin-link:hover{
    background:var(--savola-cream)!important;
    border-color:var(--savola-dark)!important;
    color:var(--savola-dark)!important;
}

/* Page actions */
.savola-page-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:22px;
}
.savola-list-head .savola-page-actions{
    margin-bottom:0;
}

/* Review */
.savola-feedback-card{
    max-width:980px;
    margin:24px auto 0;
}
.savola-feedback-card h3{
    margin:0 0 8px;
    font-size:28px;
}
.savola-feedback-card>p{
    margin:0;
    color:var(--savola-muted);
}
.savola-feedback-card .savola-form{
    margin-top:22px;
}
.savola-review-media-grid .savola-media{
    min-height:250px;
}

/* Media viewer */
.savola-media-viewer-item{
    position:relative;
    min-height:230px;
    cursor:pointer;
    border:1px solid var(--savola-line);
    background:#f1f3f2;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.savola-media-viewer-item:hover{
    transform:translateY(-2px);
    border-color:#bfd5cc;
    box-shadow:0 12px 28px rgba(0,77,60,.1);
}
.savola-media-viewer-item img,
.savola-media-viewer-item video{
    height:230px;
}
.savola-media-play-label{
    position:absolute;
    top:14px;
    left:14px;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(0,0,0,.72);
    color:#fff;
    font-size:12px;
    font-weight:800;
}
.savola-media-item-actions{
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    display:flex;
    justify-content:space-between;
    gap:8px;
}
.savola-media-open-button,
.savola-media-download-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--savola-green)!important;
    font:inherit;
    font-size:13px;
    font-weight:800;
    text-decoration:none!important;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.savola-media-open-button:hover,
.savola-media-download-button:hover{
    background:#fff;
    color:var(--savola-dark)!important;
}

body.savola-modal-open{
    overflow:hidden;
}
.savola-media-modal[hidden]{
    display:none!important;
}
.savola-media-modal{
    position:fixed;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(12,25,21,.9);
}
.savola-media-modal-dialog{
    position:relative;
    width:min(1200px,96vw);
    height:min(850px,92vh);
    display:grid;
    grid-template-rows:auto 1fr;
    overflow:hidden;
    border-radius:22px;
    background:#101815;
    box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.savola-media-modal-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:62px;
    padding:10px 16px 10px 22px;
    background:#fff;
    color:var(--savola-text);
    font-weight:800;
}
.savola-media-modal-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.savola-media-modal-actions a,
.savola-media-modal-actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 16px;
    border:1px solid var(--savola-green);
    border-radius:999px;
    background:#fff;
    color:var(--savola-green)!important;
    font:inherit;
    font-size:13px;
    font-weight:800;
    text-decoration:none!important;
    cursor:pointer;
}
.savola-media-modal-actions button{
    width:40px;
    padding:0;
    font-size:16px;
}
.savola-media-modal-actions a:hover,
.savola-media-modal-actions button:hover{
    background:var(--savola-cream);
}
.savola-media-modal-stage{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:0;
    padding:24px 92px;
}
.savola-media-modal-stage img,
.savola-media-modal-stage video{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}
.savola-media-modal-nav{
    position:absolute;
    top:50%;
    z-index:2;
    min-height:46px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--savola-green);
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transform:translateY(-50%);
}
.savola-media-modal-prev{
    left:18px;
}
.savola-media-modal-next{
    right:18px;
}
.savola-media-modal-nav:hover{
    background:#fff;
}

/* Responsive */
@media(max-width:1100px){
    .savola-auth-nav{
        gap:6px!important;
    }
    .savola-auth-nav a{
        padding:0 13px!important;
        font-size:12px!important;
    }
}
@media(max-width:782px){
    body.admin-bar .savola-smart-header{
        top:46px;
    }
}
@media(max-width:760px){
    .savola-page-actions{
        width:100%;
        justify-content:flex-start;
    }
    .savola-page-actions .savola-btn{
        width:auto;
        flex:1 1 180px;
    }
    .savola-feedback-card{
        margin-top:18px;
    }
    .savola-media-modal{
        padding:10px;
    }
    .savola-media-modal-dialog{
        width:100%;
        height:94vh;
        border-radius:16px;
    }
    .savola-media-modal-stage{
        padding:18px 12px 82px;
    }
    .savola-media-modal-nav{
        top:auto;
        bottom:18px;
        transform:none;
    }
    .savola-media-modal-prev{
        left:18px;
    }
    .savola-media-modal-next{
        right:18px;
    }
    .savola-media-modal-topbar{
        min-height:58px;
        padding:8px 10px 8px 14px;
    }
    .savola-media-modal-actions a{
        padding:0 12px;
    }
}
@media(max-width:600px){
    .savola-smart-header{
        position:sticky;
        top:0;
    }
    .savola-auth-nav .savola-nav-admin-link{
        flex:1 1 135px!important;
    }
    .savola-review-media-grid .savola-media,
    .savola-media-viewer-item,
    .savola-media-viewer-item img,
    .savola-media-viewer-item video{
        min-height:210px;
        height:210px;
    }
}

/* Brand theme */
:root{
    --savola-green:#376120;
    --savola-dark:#284718;
    --savola-lime:#75a600;
    --savola-orange:#dc5022;
    --savola-gold:#e5b56d;
    --savola-brown:#632c0d;
    --savola-cream:#f4e6cf;
    --savola-peach:#eed1a4;
    --savola-surface:#fbf2e3;
    --savola-surface-soft:#f7e7ce;
    --savola-input:#fffaf2;
    --savola-text:#3f3329;
    --savola-muted:#786b5e;
    --savola-line:#dfc59d;
}

/* Main plugin surfaces */
.savola-card,
.savola-action,
.savola-recipe-card,
.savola-admin-recipe-row,
.savola-participant-row{
    background:var(--savola-surface);
    border-color:var(--savola-line);
    box-shadow:0 12px 32px rgba(99,44,13,.06);
}

.savola-card:hover,
.savola-action:hover,
.savola-recipe-card:hover,
.savola-admin-recipe-row:hover,
.savola-participant-row:hover{
    border-color:var(--savola-gold);
    box-shadow:0 14px 34px rgba(99,44,13,.09);
}

/* Dashboard statistic cards */
.savola-stat,
.savola-admin-summary-grid .savola-stat{
    background:var(--savola-surface-soft);
    border:1px solid var(--savola-line);
    box-shadow:0 10px 26px rgba(99,44,13,.05);
}
.savola-stat:hover{
    border-color:var(--savola-gold);
    box-shadow:0 12px 28px rgba(99,44,13,.09);
}
.savola-stat strong{
    color:var(--savola-green);
}

/* Filters and form controls */
.savola-filter-bar{
    background:var(--savola-surface-soft);
    border-color:var(--savola-line);
}
.savola-form input,
.savola-form textarea,
.savola-form select,
.savola-filter-bar input,
.savola-filter-bar select{
    background:var(--savola-input);
    color:var(--savola-text);
    border-color:var(--savola-line);
}
.savola-form input:focus,
.savola-form textarea:focus,
.savola-form select:focus,
.savola-filter-bar input:focus,
.savola-filter-bar select:focus{
    border-color:var(--savola-green);
    box-shadow:0 0 0 4px rgba(117,166,0,.14);
}

/* Review and feedback surfaces */
.savola-review-grid section,
.savola-feedback-item,
.savola-empty,
.savola-avatar,
.savola-company-badge,
.savola-media,
.savola-media-viewer-item,
.savola-admin-recipe-image{
    background:var(--savola-surface-soft);
    border-color:var(--savola-line);
}
.savola-review-grid section{
    border:1px solid var(--savola-line);
}
.savola-revision-box,
.savola-revision-inline{
    background:#f8e4c7;
    border-color:var(--savola-gold);
}

/* Status badges */
.savola-badge.draft{
    background:#f5dfbd;
    color:#7b4a13;
}
.savola-badge.submitted{
    background:#e4edcf;
    color:var(--savola-green);
}
.savola-badge.revision{
    background:#f5d4c8;
    color:#8a351a;
}

/* Notices */
.savola-error{
    background:#f9dfd4;
    border-color:#e9a48d;
    color:#7a2d15;
}
.savola-success{
    background:#e8efd9;
    border-color:#b9cc8c;
    color:#31551d;
}

/* Primary and secondary actions */
.savola-btn{
    background:var(--savola-green);
    color:var(--savola-cream)!important;
}
.savola-btn:hover{
    background:var(--savola-dark);
    color:var(--savola-cream)!important;
}
.savola-btn:focus-visible,
.savola-auth-nav a:focus-visible{
    outline-color:rgba(220,80,34,.34)!important;
}
.savola-btn-secondary{
    background:var(--savola-surface);
    color:var(--savola-green)!important;
    border-color:var(--savola-green);
}
.savola-btn-secondary:hover{
    background:var(--savola-peach);
}
.savola-btn-warning{
    background:var(--savola-orange)!important;
    color:var(--savola-input)!important;
}

/* Header navigation */
.savola-smart-header{
    background:rgba(238,209,164,.97);
    box-shadow:0 1px 0 rgba(99,44,13,.10);
}
.savola-auth-nav .savola-nav-register,
.savola-auth-nav .savola-nav-logout,
.savola-auth-nav .savola-nav-admin-link{
    background:var(--savola-surface)!important;
    border-color:var(--savola-green)!important;
    color:var(--savola-green)!important;
}
.savola-auth-nav .savola-nav-register:hover,
.savola-auth-nav .savola-nav-logout:hover,
.savola-auth-nav .savola-nav-admin-link:hover{
    background:var(--savola-peach)!important;
    border-color:var(--savola-dark)!important;
    color:var(--savola-dark)!important;
}
.savola-auth-nav .savola-nav-login,
.savola-auth-nav .savola-nav-dashboard{
    background:var(--savola-green)!important;
    border-color:var(--savola-green)!important;
    color:var(--savola-cream)!important;
    box-shadow:0 5px 14px rgba(55,97,32,.16)!important;
}

/* Media viewer */
.savola-media-viewer-item:hover{
    border-color:var(--savola-gold);
    box-shadow:0 12px 28px rgba(99,44,13,.10);
}
.savola-media-open-button,
.savola-media-download-button,
.savola-media-modal-actions a,
.savola-media-modal-actions button,
.savola-media-modal-nav{
    background:rgba(251,242,227,.96);
    color:var(--savola-green)!important;
}
.savola-media-open-button:hover,
.savola-media-download-button:hover,
.savola-media-modal-actions a:hover,
.savola-media-modal-actions button:hover,
.savola-media-modal-nav:hover{
    background:var(--savola-peach);
}
.savola-media-modal{
    background:rgba(40,71,24,.92);
}
.savola-media-modal-dialog{
    background:#1f3018;
}
.savola-media-modal-topbar{
    background:var(--savola-peach);
    color:var(--savola-text);
}

/* Participant bulk email */
.savola-results-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:18px 0;
    flex-wrap:wrap;
}
.savola-email-panel{
    margin:0 0 24px;
    padding:26px;
    border:1px solid var(--savola-line);
    border-radius:18px;
    background:var(--savola-surface);
    box-shadow:0 10px 26px rgba(99,44,13,.07);
}
.savola-email-panel[hidden]{
    display:none!important;
}
.savola-email-panel-head h3{
    margin:4px 0 8px;
}
.savola-email-panel-head p{
    margin:0 0 20px;
}
.savola-email-panel code{
    direction:ltr;
    display:inline-block;
    padding:1px 6px;
    border-radius:6px;
    background:var(--savola-peach);
}
.savola-email-form textarea{
    min-height:180px;
}
.savola-email-summary{
    padding:12px 14px;
    border-radius:12px;
    background:var(--savola-peach);
    color:var(--savola-text);
}
.savola-email-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
@media (max-width:760px){
    .savola-results-toolbar{
        align-items:stretch;
    }
    .savola-results-toolbar .savola-btn{
        width:100%;
    }
    .savola-email-panel{
        padding:20px;
    }
}

/* Announcements */
.savola-announcement-toolbar{
    margin-top:18px;
    padding:16px 18px;
    border:1px solid var(--savola-line);
    border-radius:16px;
    background:var(--savola-surface-soft);
}
.savola-announcement-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.savola-announcement-actions form{
    margin:0;
}
.savola-announcement-actions button[disabled]{
    opacity:.5;
    cursor:not-allowed;
}
.savola-compose-page .savola-list-head{
    margin-bottom:22px;
}
.savola-announcement-recipient-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:0 0 24px;
}
.savola-announcement-recipient-summary > div{
    padding:18px;
    border:1px solid var(--savola-line);
    border-radius:16px;
    background:var(--savola-surface-soft);
    text-align:center;
}
.savola-announcement-recipient-summary strong{
    display:block;
    color:var(--savola-green);
    font-size:1.2rem;
    line-height:1.4;
}
.savola-announcement-recipient-summary span{
    display:block;
    margin-top:5px;
    color:var(--savola-muted);
    font-size:.9rem;
}
.savola-announcement-form{
    padding:28px;
    border:1px solid var(--savola-line);
    border-radius:20px;
    background:var(--savola-surface);
    box-shadow:0 12px 32px rgba(99,44,13,.06);
}
.savola-editor-field{
    margin-bottom:22px;
}
.savola-editor-label{
    margin-bottom:8px;
    color:var(--savola-text);
    font-weight:700;
}
.savola-field-help{
    margin:0 0 10px;
    color:var(--savola-muted);
    font-size:.9rem;
}
.savola-field-help code{
    direction:ltr;
    display:inline-block;
    padding:1px 6px;
    border-radius:6px;
    background:var(--savola-peach);
}
.savola-announcement-form .wp-editor-wrap{
    overflow:hidden;
    border:1px solid var(--savola-line);
    border-radius:14px;
    background:#fff;
}
.savola-announcement-form .wp-editor-container{
    border:0;
}
.savola-announcement-form .mce-toolbar-grp,
.savola-announcement-form .quicktags-toolbar{
    background:var(--savola-surface-soft);
    border-color:var(--savola-line);
}
.savola-announcement-upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin:20px 0;
}
.savola-upload-field{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:18px;
    border:1px dashed var(--savola-line);
    border-radius:14px;
    background:var(--savola-surface-soft);
}
.savola-upload-field > span:first-child{
    font-weight:700;
    color:var(--savola-text);
}
.savola-upload-field input[type="file"]{
    width:100%;
    padding:10px;
    border:1px solid var(--savola-line);
    border-radius:10px;
    background:var(--savola-input);
}
.savola-upload-field small,
.savola-file-selection{
    color:var(--savola-muted);
    font-size:.85rem;
    line-height:1.6;
}
.savola-file-selection:not(:empty){
    padding-top:6px;
    color:var(--savola-green);
    font-weight:700;
}

@media (max-width:760px){
    .savola-announcement-recipient-summary,
    .savola-announcement-upload-grid{
        grid-template-columns:1fr;
    }
    .savola-announcement-form{
        padding:20px;
    }
    .savola-announcement-actions,
    .savola-announcement-actions form,
    .savola-announcement-actions .savola-btn{
        width:100%;
    }
}

/* Announcement composer */
.savola-modern-editor-field{
    margin-top:4px;
}
.savola-mail-editor{
    overflow:hidden;
    border:1px solid var(--savola-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(99,44,13,.05);
}
.savola-mail-toolbar{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    padding:11px 12px;
    border-bottom:1px solid var(--savola-line);
    background:#f8eddc;
    direction:rtl;
}
.savola-toolbar-btn,
.savola-toolbar-select,
.savola-toolbar-color{
    min-height:38px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--savola-text);
    font:inherit;
}
.savola-toolbar-btn{
    min-width:38px;
    padding:7px 10px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    line-height:1;
}
.savola-toolbar-btn:hover,
.savola-toolbar-btn:focus-visible,
.savola-toolbar-select:hover,
.savola-toolbar-color:hover{
    border-color:var(--savola-line);
    background:#fff;
    outline:none;
}
.savola-toolbar-image{
    padding-inline:12px;
    background:var(--savola-green);
    color:#fff;
}
.savola-toolbar-image:hover,
.savola-toolbar-image:focus-visible{
    background:#213d15;
    color:#fff;
}
.savola-toolbar-link{
    padding-inline:10px;
}
.savola-toolbar-select{
    padding:6px 10px;
    cursor:pointer;
    background:#fff;
    border-color:var(--savola-line);
}
.savola-toolbar-color{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:5px 9px;
    cursor:pointer;
}
.savola-toolbar-color input[type="color"]{
    width:24px;
    height:24px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}
.savola-toolbar-separator{
    width:1px;
    height:27px;
    margin:0 2px;
    background:var(--savola-line);
}
.savola-mail-canvas{
    min-height:420px;
    padding:28px 30px;
    color:#242424;
    background:#fff;
    font-family:Arial,Tahoma,sans-serif;
    font-size:16px;
    line-height:1.9;
    text-align:right;
    outline:none;
    overflow-wrap:anywhere;
}
.savola-mail-canvas:empty::before{
    content:attr(data-placeholder);
    color:#aaa095;
    pointer-events:none;
}
.savola-mail-canvas p{
    margin:0 0 14px;
}
.savola-mail-canvas h2,
.savola-mail-canvas h3{
    margin:20px 0 10px;
    color:var(--savola-green);
    line-height:1.45;
}
.savola-mail-canvas a{
    color:#315f2b;
    text-decoration:underline;
}
.savola-mail-canvas ul,
.savola-mail-canvas ol{
    padding-right:24px;
}
.savola-email-inline-image{
    position:relative;
    width:min(100%,680px);
    margin:22px auto;
    padding:8px;
    border:1px solid var(--savola-line);
    border-radius:14px;
    background:#fffaf2;
    text-align:center;
}
.savola-email-inline-image img{
    display:block;
    max-width:100%;
    max-height:520px;
    width:auto;
    height:auto;
    margin:auto;
    border-radius:9px;
}
.savola-inline-image-remove{
    position:absolute;
    top:10px;
    left:10px;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:rgba(55,31,19,.88);
    color:#fff;
    font-size:24px;
    line-height:30px;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.savola-inline-image-remove:hover{
    background:#7b2f1d;
}
.savola-inline-image-status{
    min-height:22px;
    margin-top:8px;
    color:var(--savola-green);
    font-size:.88rem;
    font-weight:700;
}
.savola-announcement-upload-grid-single{
    grid-template-columns:1fr;
}
.savola-attachment-dropzone{
    position:relative;
    align-items:center;
    justify-content:center;
    min-height:145px;
    text-align:center;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.savola-attachment-dropzone strong{
    color:var(--savola-green);
    font-size:1rem;
}
.savola-attachment-dropzone input[type="file"]{
    max-width:520px;
    cursor:pointer;
}
.savola-attachment-dropzone.is-dragging{
    border-color:var(--savola-green);
    background:#eef4e6;
    transform:translateY(-1px);
}
.savola-file-selection:not(:empty){
    width:100%;
    margin-top:4px;
    padding:10px 12px;
    border-radius:10px;
    background:#fff;
    overflow-wrap:anywhere;
}
@media (max-width:760px){
    .savola-mail-toolbar{
        gap:4px;
        padding:9px;
    }
    .savola-toolbar-btn{
        min-width:36px;
        min-height:36px;
        padding:6px 8px;
    }
    .savola-toolbar-btn span,
    .savola-toolbar-color span{
        display:none;
    }
    .savola-toolbar-separator{
        display:none;
    }
    .savola-mail-canvas{
        min-height:340px;
        padding:20px 18px;
    }
}


.savola-password-toggle{
    margin-top:8px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--savola-green);
    font:inherit;
    font-size:.9rem;
    font-weight:700;
    cursor:pointer;
}
.savola-password-toggle:hover{
    text-decoration:underline;
}
.savola-turnstile{
    margin:18px 0;
    display:flex;
    justify-content:flex-start;
}

/* Analytics */
.savola-analytics-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.savola-analytics-hero-actions form{margin:0}
.savola-analytics-note{margin:18px 0 0;padding:14px 16px;border:1px solid var(--savola-line);border-radius:14px;background:var(--savola-cream);color:var(--savola-muted);line-height:1.8}
.savola-analytics-stat-grid{grid-template-columns:repeat(4,1fr)}
.savola-analytics-stat-grid .savola-stat{cursor:default}
.savola-analytics-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.savola-analytics-mini-grid>div{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid var(--savola-line);border-radius:16px;background:#fff}
.savola-analytics-mini-grid strong{font-size:24px;color:var(--savola-green)}
.savola-analytics-mini-grid span{color:var(--savola-muted);font-size:13px;line-height:1.5}
.savola-analytics-table-wrap{overflow-x:auto;border:1px solid var(--savola-line);border-radius:16px;background:#fff}
.savola-analytics-table{width:100%;border-collapse:collapse;min-width:780px}
.savola-analytics-table th,.savola-analytics-table td{padding:13px 14px;border-bottom:1px solid var(--savola-line);text-align:right;white-space:nowrap}
.savola-analytics-table th{background:var(--savola-cream);color:var(--savola-green);font-weight:800}
.savola-analytics-table tbody tr:last-child td{border-bottom:0}

@media(max-width:900px){
    .savola-analytics-stat-grid,.savola-analytics-mini-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
    .savola-analytics-stat-grid,.savola-analytics-mini-grid{grid-template-columns:1fr}
    .savola-analytics-hero-actions{width:100%;flex-direction:column;align-items:stretch}
    .savola-analytics-hero-actions form,.savola-analytics-hero-actions .savola-btn{width:100%}
}

@media print{
    .savola-auth-nav,.savola-analytics-hero-actions,.savola-header,.site-header,header,.site-footer,footer{display:none!important}
    .savola-shell{max-width:none!important;padding:0!important}
    .savola-analytics-page{color:#111!important}
    .savola-admin-section,.savola-analytics-note,.savola-stat,.savola-analytics-mini-grid>div,.savola-analytics-table-wrap{box-shadow:none!important;break-inside:avoid}
    .savola-analytics-table-wrap{overflow:visible}
    .savola-analytics-table{min-width:0;font-size:11px}
}
