:root{
    --rh-bg:#070b0f;
    --rh-bg-2:#0a1016;
    --rh-panel:#0c131a;
    --rh-panel-2:#101922;
    --rh-border:rgba(255,255,255,.09);
    --rh-border-strong:rgba(245,158,11,.45);
    --rh-text:#f6f7f8;
    --rh-muted:#9aa7b5;
    --rh-accent:#f6a800;
    --rh-accent-2:#ffc43d;
    --rh-green:#2bd673;
    --rh-shadow:0 20px 55px rgba(0,0,0,.34);
    --rh-radius:16px;
    --rh-shell:min(1460px,calc(100% - 48px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--rh-bg)}
body.zz77-rating-site{
    margin:0;
    min-width:320px;
    min-height:100vh;
    background:var(--rh-bg);
    color:var(--rh-text);
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
}
body.zz77-rating-site a{color:inherit}
body.zz77-rating-site img{max-width:100%}
body.zz77-rating-site button,
body.zz77-rating-site input,
body.zz77-rating-site select,
body.zz77-rating-site textarea{font:inherit}

.rh-shell{width:var(--rh-shell);margin:0 auto}

/* ===== единый header ===== */
.rh-header{
    position:sticky;
    top:0;
    z-index:2000;
    height:72px;
    background:rgba(4,8,12,.92);
    border-bottom:1px solid rgba(255,255,255,.06);
    backdrop-filter:blur(18px);
}
.rh-header__inner{min-height:72px;display:flex;align-items:center;gap:30px}
.rh-brand{flex:0 0 auto;display:flex;flex-direction:column;text-decoration:none;line-height:1}
.rh-brand__name{font-size:31px;font-weight:900;font-style:italic;letter-spacing:-1.8px}
.rh-brand__name span,.rh-footer strong span{color:var(--rh-accent)}
.rh-brand__sub{margin-top:4px;color:#d0d6dc;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.rh-nav{display:flex;align-items:center;gap:24px;flex:1 1 auto}
.rh-nav a{position:relative;padding:26px 0 22px;text-decoration:none;color:#d6dce2;font-size:13px;font-weight:650;white-space:nowrap}
.rh-nav a:hover,.rh-nav a.is-active{color:#fff}
.rh-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;border-radius:4px;background:var(--rh-accent);box-shadow:0 0 14px rgba(245,158,11,.65)}
.rh-header__actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.rh-city{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--rh-border);border-radius:12px;color:#d9dfe5;font-size:12px}
.rh-city svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.rh-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-size:12px;font-weight:800;cursor:pointer;transition:.2s ease}
.rh-btn--ghost{background:transparent;border-color:rgba(245,158,11,.45);color:#fff}
.rh-btn--ghost:hover{background:rgba(245,158,11,.08);border-color:var(--rh-accent)}
.rh-btn--accent{color:#161006;background:linear-gradient(180deg,#ffc43d 0%,#f4a300 100%);border-color:#ffbf25;box-shadow:0 8px 26px rgba(245,158,11,.16)}
.rh-btn--accent:hover{transform:translateY(-1px);filter:brightness(1.04)}
.rh-menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--rh-border);border-radius:12px;background:#0b1219;color:#fff}
.rh-menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.rh-account{position:relative}
.rh-account summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:9px;padding:4px 11px 4px 5px;border:1px solid var(--rh-border);border-radius:13px;color:#fff;font-size:12px;font-weight:750;cursor:pointer;background:#0a1118;transition:.2s ease}
.rh-account summary:hover{border-color:rgba(245,158,11,.32);background:#0d151d}
.rh-account summary::-webkit-details-marker{display:none}
.rh-account__avatar,.rh-account__menu-avatar{display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,#f6b21f,#d88a00);color:#171006;font-weight:900}
.rh-account__avatar{width:34px;height:34px;font-size:13px;box-shadow:0 0 0 1px rgba(245,158,11,.22)}
.rh-account__menu-avatar{width:44px;height:44px;font-size:16px}
.rh-account__avatar img,.rh-account__menu-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.rh-account__summary-text{display:flex;flex-direction:column;min-width:0;line-height:1.05}
.rh-account__summary-text strong{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#fff}
.rh-account__summary-text small{margin-top:4px;color:#7f8c98;font-size:9px;font-weight:650}
.rh-account__chevron{width:14px;height:14px;fill:none;stroke:#7f8c98;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.rh-account[open] .rh-account__chevron{transform:rotate(180deg)}
.rh-account__menu{position:absolute;top:52px;right:0;width:270px;padding:9px;border:1px solid var(--rh-border);border-radius:16px;background:#081018;box-shadow:0 22px 55px rgba(0,0,0,.48);z-index:2100}
.rh-account__menu-head{display:flex;align-items:center;gap:11px;padding:9px 9px 12px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.07)}
.rh-account__menu-head>span:last-child{display:flex;flex-direction:column;min-width:0}
.rh-account__menu-head strong{max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:13px}
.rh-account__menu-head small{margin-top:4px;color:#7e8a95;font-size:10px}
.rh-account__menu a{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;text-decoration:none;color:#d9e0e6;font-size:12px;font-weight:650}
.rh-account__menu a:hover{background:rgba(245,158,11,.07);color:#fff}
.rh-account__menu a svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#d3a329}
.rh-account__divider{height:1px;margin:6px 4px;background:rgba(255,255,255,.07)}
.rh-account__menu a.rh-account__logout{color:#ff9999}
.rh-account__menu a.rh-account__logout svg{color:#ff7f7f}

/* ===== общий контент внутренних страниц ===== */
.container{width:min(1400px,calc(100% - 40px));margin:0 auto;padding:32px 0 48px}
.page-title{margin:0 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.1;color:#fff;font-weight:850}
.page-intro{margin:0 0 24px;color:var(--rh-muted);font-size:15px}
.breadcrumb{margin:0 0 18px;color:#73808c;font-size:13px}.breadcrumb a{text-decoration:none;color:#aeb9c3}.breadcrumb a:hover{color:var(--rh-accent)}
.card,.form-card,.appointment-form,.edit-form{background:#0b1219;border:1px solid var(--rh-border);border-radius:16px;box-shadow:var(--rh-shadow)}
.card{padding:24px;margin-bottom:24px}
.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid var(--rh-border);border-radius:10px;background:#111a22;color:#fff;text-decoration:none;font-weight:750;cursor:pointer}
.btn:hover{border-color:rgba(245,158,11,.45)}
.btn-primary{background:linear-gradient(180deg,#ffc43d,#f4a300);border-color:#f6a800;color:#171006}
.btn-secondary{background:#111a22;color:#fff}
.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#aeb9c3;font-size:13px;font-weight:650}
.form-group input,.form-group textarea,.form-group select,.filter-input,.filter-select{width:100%;min-height:42px;padding:10px 13px;border:1px solid var(--rh-border);border-radius:10px;background:#0e161e;color:#f3f5f7;outline:0}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.filter-input:focus,.filter-select:focus{border-color:rgba(245,158,11,.65);box-shadow:0 0 0 3px rgba(245,158,11,.08)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filter-input{flex:1 1 260px}.filter-select{width:auto;min-width:170px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.service-card{overflow:hidden;border:1px solid var(--rh-border);border-radius:14px;background:#0b1219}.service-image{height:170px;overflow:hidden;background:#101820}.service-image img{width:100%;height:100%;object-fit:cover}.service-content{padding:16px}.service-name{margin:7px 0;font-size:18px}.service-name a{text-decoration:none}.service-category{display:inline-flex;padding:4px 9px;border-radius:999px;background:rgba(245,158,11,.08);color:#e6be61;font-size:11px}.service-rating{color:#ffbf2f;font-size:13px;font-weight:800}.service-address,.service-phone{color:#9da9b4;font-size:13px}.service-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.pagination{display:flex;justify-content:center;gap:7px;margin-top:24px;flex-wrap:wrap}.pagination a,.pagination span{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--rh-border);border-radius:9px;background:#0c141c;text-decoration:none}.pagination .active{background:var(--rh-accent);border-color:var(--rh-accent);color:#171006;font-weight:900}
.alert,.error,.success{padding:12px 15px;border-radius:10px;margin-bottom:16px}.alert-success,.success{background:rgba(43,214,115,.08);border:1px solid rgba(43,214,115,.22);color:#6ee7a0}.alert-danger,.error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.22);color:#ff8c8c}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}th{color:#87939e;font-size:11px;text-transform:uppercase;letter-spacing:.04em}

/* ===== единый footer ===== */
.rh-footer{border-top:1px solid rgba(255,255,255,.06);background:#05090d}
.rh-footer__inner{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.rh-footer strong{font-size:22px;font-style:italic}.rh-footer p{margin:5px 0 0;color:#7f8b96;font-size:11px}
.rh-footer__links{display:flex;gap:20px;flex-wrap:wrap}.rh-footer__links a{color:#a9b3bd;text-decoration:none;font-size:11px}.rh-footer__links a:hover{color:#fff}

/* штатная модалка входа */
.zz77-rating-site .zz-login-overlay{z-index:100000!important}
.zz77-rating-site .zz-login-tabs a{cursor:pointer}
.zz77-rating-site .zz-login-tab-pane{display:none}
.zz77-rating-site .zz-login-tab-pane.active{display:block}
.zz77-rating-site .zz-login-modal .hidden{display:none!important}
.zz77-rating-site .zz-login-modal .input-group-addon i{display:none!important}

@media(max-width:1280px){:root{--rh-shell:min(1180px,calc(100% - 36px))}.rh-nav{gap:17px}.rh-nav a{font-size:12px}.rh-add-service{display:none}}
@media(max-width:1050px){
    .rh-header{height:auto}.rh-header__inner{min-height:68px;flex-wrap:wrap;gap:16px}
    .rh-nav{order:3;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 14px}.rh-nav.is-open{display:flex}
    .rh-nav a{padding:11px 0}.rh-nav a.is-active::after{bottom:4px;right:auto;width:30px}
    .rh-header__actions{margin-left:auto}.rh-menu-toggle{display:flex}
}
@media(max-width:760px){
    :root{--rh-shell:calc(100% - 24px)}
    .rh-header__inner{min-height:62px}.rh-brand__name{font-size:25px}.rh-brand__sub{font-size:8px}.rh-city,.rh-login-btn{display:none}
    .rh-account summary{max-width:154px}.rh-account__summary-text strong{max-width:80px}.rh-account__summary-text small{display:none}.rh-account__chevron{display:none}.rh-account__menu{right:-46px;width:min(280px,calc(100vw - 24px))}.rh-header__actions{gap:7px}.rh-menu-toggle{width:40px;height:40px}
    .container{width:calc(100% - 24px);padding-top:24px}.form-row{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.filter-select{width:100%}
    .rh-footer__inner{padding:24px 0;min-height:0;align-items:flex-start;flex-direction:column}.rh-footer__links{gap:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Отдельный индикатор уведомлений по записям */
.rh-notify-trigger{
    position:relative;
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--rh-border);
    border-radius:13px;
    background:#0a1118;
    color:#8996a2;
    text-decoration:none;
    transition:.2s ease;
}
.rh-notify-trigger:hover{
    border-color:rgba(245,158,11,.35);
    background:#0d151d;
    color:#fff;
}
.rh-notify-trigger svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.rh-notify-trigger.has-new{
    color:#f59e0b;
    border-color:rgba(245,158,11,.30);
    background:rgba(245,158,11,.075);
}
.rh-notify-trigger__badge{
    position:absolute;
    top:-6px;
    right:-6px;
    z-index:3;
    min-width:20px;
    height:20px;
    padding:0 5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:2px solid #070b0f;
    border-radius:999px;
    background:#f59e0b;
    color:#1a1204;
    font-size:9px;
    line-height:1;
    font-weight:900;
    box-shadow:0 5px 16px rgba(245,158,11,.30);
}
.rh-notify-trigger--success{color:#22c55e;border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.07)}
.rh-notify-trigger--success .rh-notify-trigger__badge{background:#22c55e;color:#06150b;box-shadow:0 5px 16px rgba(34,197,94,.28)}
.rh-notify-trigger--info{color:#38bdf8;border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.07)}
.rh-notify-trigger--info .rh-notify-trigger__badge{background:#38bdf8;color:#03151e;box-shadow:0 5px 16px rgba(56,189,248,.28)}
.rh-notify-trigger--danger{color:#ef4444;border-color:rgba(239,68,68,.30);background:rgba(239,68,68,.07)}
.rh-notify-trigger--danger .rh-notify-trigger__badge{background:#ef4444;color:#fff;box-shadow:0 5px 16px rgba(239,68,68,.34)}
@media(max-width:760px){
    .rh-notify-trigger{width:40px;height:40px;flex-basis:40px;border-radius:12px}
}

/* ===== Индикаторы событий по записям ===== */
.rh-account summary{position:relative}
.rh-account__notify-bubble{
    position:absolute;
    top:-7px;
    right:-7px;
    z-index:3;
    min-width:20px;
    height:20px;
    padding:0 5px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #070b0f;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:900;
    box-shadow:0 5px 16px rgba(239,68,68,.34);
}
.rh-account__menu a.rh-account__notice{
    min-height:58px;
    margin:3px 0 8px;
    padding:9px 10px;
    gap:9px;
    border:1px solid rgba(245,158,11,.16);
    background:rgba(245,158,11,.055);
}
.rh-account__menu a.rh-account__notice:hover{
    border-color:rgba(245,158,11,.3);
    background:rgba(245,158,11,.09);
}
.rh-account__notice-dot{
    width:9px;
    height:9px;
    flex:0 0 auto;
    border-radius:50%;
    background:#f59e0b;
    box-shadow:0 0 0 5px rgba(245,158,11,.10);
}
.rh-account__notice--success .rh-account__notice-dot{
    background:#22c55e;
    box-shadow:0 0 0 5px rgba(34,197,94,.10);
}
.rh-account__notice--info .rh-account__notice-dot{
    background:#38bdf8;
    box-shadow:0 0 0 5px rgba(56,189,248,.10);
}
.rh-account__notice--danger .rh-account__notice-dot{
    background:#ef4444;
    box-shadow:0 0 0 5px rgba(239,68,68,.10);
}
.rh-account__notice-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    line-height:1.2;
}
.rh-account__notice-copy strong{
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.rh-account__notice-copy small{
    margin-top:4px;
    overflow:hidden;
    color:#83909b;
    font-size:9px;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.rh-account__notice-count,
.rh-account__item-badge{
    min-width:21px;
    height:21px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:900;
}
.rh-account__notice-count{flex:0 0 auto}
.rh-account__item-badge{margin-left:auto;flex:0 0 auto}
.rh-account__notify-bubble--warning{background:#f59e0b;color:#1a1204;box-shadow:0 5px 16px rgba(245,158,11,.30)}
.rh-account__notify-bubble--success{background:#22c55e;color:#06150b;box-shadow:0 5px 16px rgba(34,197,94,.28)}
.rh-account__notify-bubble--info{background:#38bdf8;color:#03151e;box-shadow:0 5px 16px rgba(56,189,248,.28)}
.rh-account__notify-bubble--danger{background:#ef4444;color:#fff;box-shadow:0 5px 16px rgba(239,68,68,.34)}
