:root{
    --bg: #070709;
    --bg-soft: #101014;
    --panel: rgba(255,255,255,0.06);
    --panel-strong: rgba(255,255,255,0.09);
    --line: rgba(255,255,255,0.12);
    --text: #f5f1e8;
    --muted: #c8c0b2;
    --gold: #d4af37;
    --gold-2: #f3d37a;
    --gold-3: #8f6a16;
    --danger: #ffb86b;
    --shadow: 0 20px 60px rgba(0,0,0,0.45);
    --radius-xl: 28px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --container: 1240px;
}

*{
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

body{
    margin:0;
    font-family: Inter, Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(212,175,55,0.12), transparent 28%),
        radial-gradient(circle at top right, rgba(212,175,55,0.08), transparent 22%),
        linear-gradient(180deg, #09090c 0%, #070709 38%, #0a0a0d 100%);
    color: var(--text);
    line-height: 1.55;
}

a{
    color: inherit;
    text-decoration: none;
}

img{
    max-width:100%;
    display:block;
}

.container{
    width: min(var(--container), calc(100% - 32px));
    margin: 0 auto;
}

.topbar{
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(20px);
    background: rgba(8,8,11,0.72);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.topbar-inner{
    min-height: 78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 18px;
}

.brand{
    display:flex;
    align-items:center;
    gap: 14px;
    min-width: 0;
}

.brand-mark{
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f5df9a 0%, #d4af37 45%, #8e6a17 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 10px 30px rgba(212,175,55,0.22);
    position: relative;
    flex: 0 0 auto;
}

.brand-mark::before{
    content:'';
    position:absolute;
    inset: 11px;
    border-radius: 10px;
    border: 1.5px solid rgba(20,20,20,0.65);
}

.brand-text{
    min-width:0;
}

.brand-title{
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.brand-subtitle{
    font-size: 12px;
    color: var(--muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nav{
    display:flex;
    align-items:center;
    gap: 22px;
    flex-wrap: wrap;
    justify-content: center;
}

.nav a{
    color: #ece6d9;
    font-size: 14px;
    font-weight: 600;
    opacity: 0.9;
    transition: .2s ease;
}

.nav a:hover{
    color: var(--gold-2);
    opacity: 1;
}

.top-actions{
    display:flex;
    align-items:center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mail-link{
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
    font-size: 15px;
    transition: .25s ease;
    cursor: pointer;
}

.btn-primary{
    color: #15120a;
    background: linear-gradient(135deg, #f7e7aa 0%, #d8b64f 44%, #b18220 100%);
    box-shadow: 0 14px 34px rgba(212,175,55,0.22);
}

.btn-primary:hover{
    transform: translateY(-1px);
    box-shadow: 0 18px 40px rgba(212,175,55,0.3);
}

.btn-secondary{
    border-color: rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
    color: var(--text);
}

.btn-secondary:hover{
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.18);
}

.hero{
    position: relative;
    overflow: hidden;
    padding: 64px 0 34px;
}

.hero-grid{
    display:grid;
    grid-template-columns: 1.2fr .85fr;
    gap: 30px;
    align-items: stretch;
}

.hero-card,
.glass-card{
    border: 1px solid rgba(255,255,255,0.08);
    background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03));
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.hero-card{
    border-radius: 36px;
    padding: 38px;
    min-height: 620px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    overflow:hidden;
}

.hero-card::before{
    content:'';
    position:absolute;
    right:-80px;
    top:-80px;
    width:260px;
    height:260px;
    background: radial-gradient(circle, rgba(212,175,55,0.16) 0%, transparent 70%);
    pointer-events:none;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(212,175,55,0.08);
    border: 1px solid rgba(212,175,55,0.18);
    color: #f4ddb3;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    width: fit-content;
}

.hero h1{
    font-size: clamp(36px, 5vw, 72px);
    line-height: 1.02;
    margin: 20px 0 18px;
    font-weight: 900;
    letter-spacing: -0.04em;
    max-width: 860px;
}

.hero h1 .accent{
    display:block;
    background: linear-gradient(135deg, #fff0bf 0%, #dfb953 46%, #9a6d15 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero p.lead{
    margin: 0;
    font-size: 18px;
    color: var(--muted);
    max-width: 760px;
}

.hero-actions{
    display:flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.hero-stats{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 34px;
}

.stat{
    border-radius: 20px;
    padding: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
}

.stat strong{
    display:block;
    font-size: 28px;
    line-height: 1;
    margin-bottom: 8px;
    color: #fff6dd;
}

.stat span{
    display:block;
    color: var(--muted);
    font-size: 14px;
}

.hero-side{
    display:grid;
    gap: 18px;
}

.info-card{
    border-radius: 30px;
    padding: 24px;
}

.info-card h3{
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.15;
}

.info-card p{
    margin: 0;
    color: var(--muted);
    font-size: 15px;
}

.date-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 999px;
    background: rgba(212,175,55,0.1);
    border: 1px solid rgba(212,175,55,0.16);
    color: #f6deaf;
    font-size: 14px;
    font-weight: 700;
}

.quick-list{
    display:grid;
    gap: 12px;
    margin-top: 18px;
}

.quick-item{
    display:flex;
    gap: 12px;
    align-items:flex-start;
    padding: 14px 15px;
    border-radius: 18px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
}

.quick-icon{
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: linear-gradient(135deg, rgba(247,231,170,0.18), rgba(212,175,55,0.08));
    border: 1px solid rgba(212,175,55,0.18);
    color: #ffedba;
    font-weight: 800;
    flex: 0 0 auto;
}

.quick-item strong{
    display:block;
    font-size: 15px;
    margin-bottom: 4px;
}

.quick-item span{
    color: var(--muted);
    font-size: 13px;
}

section{
    padding: 42px 0;
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap: 20px;
    margin-bottom: 24px;
}

.section-kicker{
    color: #f0d693;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 12px;
}

.section-title{
    margin: 0;
    font-size: clamp(28px, 3vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.section-desc{
    margin: 12px 0 0;
    max-width: 760px;
    color: var(--muted);
    font-size: 16px;
}

.services-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.service-card{
    border-radius: 28px;
    padding: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: var(--shadow);
    transition: .25s ease;
    min-height: 260px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.service-card:hover{
    transform: translateY(-4px);
    border-color: rgba(212,175,55,0.22);
}

.service-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.service-icon{
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: linear-gradient(135deg, rgba(247,231,170,0.22), rgba(212,175,55,0.1));
    border: 1px solid rgba(212,175,55,0.2);
    font-weight: 900;
    color: #ffedba;
    font-size: 18px;
}

.price{
    font-size: 22px;
    font-weight: 900;
    color: #fff5db;
    white-space: nowrap;
}

.service-card h3{
    margin: 0 0 10px;
    font-size: 21px;
    line-height: 1.15;
}

.service-card p{
    margin: 0;
    color: var(--muted);
    font-size: 15px;
}

.service-link{
    margin-top: 18px;
    color: #f5d88f;
    font-weight: 800;
    font-size: 14px;
}

.feature-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.feature-card{
    border-radius: 28px;
    padding: 24px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
}

.feature-card strong{
    display:block;
    margin-bottom: 8px;
    font-size: 22px;
}

.feature-card p{
    margin:0;
    color: var(--muted);
}

.split{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.big-panel{
    border-radius: 34px;
    padding: 32px;
    background:
        radial-gradient(circle at top right, rgba(212,175,55,0.13), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: var(--shadow);
}

.bullet-list{
    display:grid;
    gap: 12px;
    margin-top: 18px;
}

.bullet{
    display:flex;
    gap: 12px;
    align-items:flex-start;
    color: var(--muted);
}

.bullet-mark{
    width: 26px;
    height: 26px;
    border-radius: 999px;
    flex: 0 0 auto;
    background: rgba(212,175,55,0.12);
    border: 1px solid rgba(212,175,55,0.22);
    display:flex;
    align-items:center;
    justify-content:center;
    color: #f5d88f;
    font-size: 14px;
    font-weight: 800;
}

.reviews{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.review{
    border-radius: 24px;
    padding: 22px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
}

.review p{
    margin:0 0 18px;
    color: #e8e0d1;
    font-size: 15px;
}

.review strong{
    display:block;
    font-size: 15px;
}

.review span{
    color: var(--muted);
    font-size: 13px;
}

.faq{
    display:grid;
    gap: 14px;
}

.faq-item{
    border-radius: 22px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    overflow:hidden;
}

.faq-question{
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--text);
    text-align:left;
    padding: 22px 24px;
    font-size: 17px;
    font-weight: 800;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 20px;
}

.faq-answer{
    display:none;
    padding: 0 24px 22px;
    color: var(--muted);
    font-size: 15px;
}

.faq-item.active .faq-answer{
    display:block;
}

.contact-grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 20px;
}

.contact-card{
    border-radius: 30px;
    padding: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: var(--shadow);
}

.contact-lines{
    display:grid;
    gap: 14px;
    margin-top: 20px;
}

.contact-line{
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}

.contact-line strong{
    display:block;
    margin-bottom: 6px;
    font-size: 14px;
    color: #f1d48a;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.contact-line span,
.contact-line a{
    color: #f1ede4;
    font-size: 16px;
    font-weight: 700;
}

.footer{
    padding: 36px 0 52px;
}

.footer-wrap{
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 20px;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 26px;
}

.footer small,
.footer p{
    color: var(--muted);
    margin:0;
    font-size: 14px;
}

.footer-nav{
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px 18px;
}

.footer-nav a{
    color: #ddd5c5;
    font-size: 14px;
}

.notice{
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 184, 107, 0.08);
    border: 1px solid rgba(255, 184, 107, 0.18);
    color: #ffd89a;
    font-size: 14px;
}

@media (max-width: 1180px){
    .hero-grid,
    .split,
    .contact-grid,
    .footer-wrap{
        grid-template-columns: 1fr;
    }

    .services-grid{
        grid-template-columns: repeat(2, 1fr);
    }

    .reviews{
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-card{
        min-height: auto;
    }
}

@media (max-width: 900px){
    .topbar-inner{
        padding: 12px 0;
        align-items:flex-start;
        flex-direction:column;
    }

    .nav{
        gap: 14px;
        justify-content:flex-start;
    }

    .hero{
        padding-top: 28px;
    }

    .hero-card{
        padding: 28px 22px;
        border-radius: 28px;
    }

    .info-card,
    .big-panel,
    .contact-card{
        border-radius: 24px;
        padding: 22px;
    }

    .hero-stats{
        grid-template-columns: 1fr;
    }

    .services-grid,
    .feature-grid,
    .reviews{
        grid-template-columns: 1fr;
    }

    .section-head{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width: 640px){
    .container{
        width: min(100% - 20px, var(--container));
    }

    .brand-title{
        white-space: normal;
    }

    .hero h1{
        font-size: 38px;
    }

    .hero p.lead{
        font-size: 16px;
    }

    .btn{
        width: 100%;
    }

    .hero-actions{
        flex-direction:column;
    }

    .service-card{
        min-height: auto;
    }
}

.page-main{
    padding-top: 18px;
}

.doc-page{
    padding: 34px 0 64px;
}

.doc-card,
.contact-hero-card,
.register-card{
    border-radius: 32px;
    padding: 34px;
    background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}

.doc-title{
    margin: 0 0 14px;
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.doc-lead{
    margin: 0;
    max-width: 860px;
    color: var(--muted);
    font-size: 17px;
}

.doc-content{
    margin-top: 28px;
    color: #e7dfd0;
}

.doc-content h2{
    margin: 28px 0 12px;
    font-size: 24px;
    line-height: 1.15;
}

.doc-content p{
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 16px;
}

.register-wrap{
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 20px;
    align-items: start;
}

.register-side{
    display: grid;
    gap: 20px;
}

.gar-form{
    margin-top: 28px;
}

.form-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.form-field{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-field-full{
    grid-column: 1 / -1;
}

.form-field label{
    font-size: 14px;
    font-weight: 700;
    color: #f2d792;
}

.form-field input,
.form-field select,
.form-field textarea{
    width: 100%;
    min-height: 54px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04);
    color: #fff;
    padding: 14px 16px;
    font-size: 15px;
    outline: none;
    transition: .2s ease;
}

.form-field textarea{
    min-height: 150px;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
    border-color: rgba(212,175,55,0.38);
    box-shadow: 0 0 0 3px rgba(212,175,55,0.10);
}

.form-alert{
    margin-top: 22px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 15px;
    font-weight: 600;
}

.form-alert-success{
    background: rgba(82, 196, 26, 0.10);
    border: 1px solid rgba(82, 196, 26, 0.25);
    color: #d7f7c6;
}

.form-alert-error{
    background: rgba(255, 107, 107, 0.10);
    border: 1px solid rgba(255, 107, 107, 0.25);
    color: #ffd4d4;
}

@media (max-width: 1100px){
    .register-wrap{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px){
    .doc-card,
    .contact-hero-card,
    .register-card{
        padding: 24px 18px;
        border-radius: 24px;
    }

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

    .doc-title{
        font-size: 34px;
    }

    .doc-lead{
        font-size: 16px;
    }
}

.check-field{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    min-height: auto;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04);
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.check-field input[type="checkbox"]{
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 auto;
}

.profile-menu{
    position: relative;
}

.profile-toggle{
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 8px 14px 8px 8px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    color: var(--text);
    cursor: pointer;
    transition: .2s ease;
}

.profile-toggle:hover{
    background: rgba(255,255,255,0.08);
    border-color: rgba(212,175,55,0.18);
}

.profile-avatar{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f7e7aa 0%, #d8b64f 44%, #b18220 100%);
    color: #17120c;
    font-weight: 900;
    font-size: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35);
}

.profile-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-meta{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

.profile-meta strong{
    font-size: 14px;
    line-height: 1.1;
    color: #fff6df;
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-meta span{
    font-size: 12px;
    color: var(--muted);
    line-height: 1.1;
}

.profile-caret{
    color: #e8d29c;
    font-size: 14px;
    line-height: 1;
}

.profile-dropdown{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 240px;
    padding: 10px;
    border-radius: 20px;
    background: rgba(12,12,16,0.96);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 20px 50px rgba(0,0,0,0.45);
    backdrop-filter: blur(18px);
    display: none;
    z-index: 1200;
}

.profile-menu.open .profile-dropdown{
    display: block;
}

.profile-dropdown a{
    display: block;
    padding: 12px 14px;
    border-radius: 14px;
    color: #f1ebde;
    font-size: 14px;
    font-weight: 600;
    transition: .2s ease;
}

.profile-dropdown a:hover{
    background: rgba(255,255,255,0.06);
}

.profile-dropdown .profile-logout{
    color: #ffcfaa;
}

@media (max-width: 900px){
    .profile-toggle{
        width: 100%;
        justify-content: flex-start;
    }

    .profile-dropdown{
        left: 0;
        right: auto;
        width: 100%;
        min-width: 260px;
    }
}

@media (max-width: 640px){
    .profile-meta strong{
        max-width: 90px;
    }
}

.cabinet-page{
    padding: 30px 0 64px;
}

.cabinet-alert{
    margin-bottom: 20px;
}

.cabinet-hero{
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 20px;
    margin-bottom: 20px;
}

.cabinet-user-card,
.cabinet-side-card,
.cabinet-card{
    border-radius: 30px;
    padding: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}

.cabinet-user-top{
    display: flex;
    align-items: center;
    gap: 20px;
}

.cabinet-avatar{
    width: 92px;
    height: 92px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f7e7aa 0%, #d8b64f 44%, #b18220 100%);
    color: #17120c;
    font-weight: 900;
    font-size: 34px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35);
}

.cabinet-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cabinet-user-info{
    min-width: 0;
}

.cabinet-title{
    margin: 0 0 10px;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.cabinet-subtitle{
    margin: 0;
    max-width: 760px;
    color: var(--muted);
    font-size: 16px;
}

.cabinet-user-meta{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 24px;
}

.cabinet-meta-box{
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}

.cabinet-meta-box strong{
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    color: #f0d693;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.cabinet-meta-box span{
    display: block;
    color: #f2ede1;
    font-size: 15px;
    word-break: break-word;
}

.cabinet-side-title,
.cabinet-card-title{
    margin: 0 0 14px;
    font-size: 28px;
    line-height: 1.08;
}

.cabinet-steps{
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.cabinet-step{
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}

.cabinet-step-num{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(212,175,55,0.12);
    border: 1px solid rgba(212,175,55,0.22);
    color: #f5d88f;
    font-size: 14px;
    font-weight: 800;
}

.cabinet-step strong{
    display: block;
    margin-bottom: 4px;
    font-size: 15px;
    color: #fff5db;
}

.cabinet-step span{
    display: block;
    color: var(--muted);
    font-size: 14px;
}

.cabinet-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.cabinet-actions-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 20px;
}

.cabinet-action{
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    transition: .2s ease;
}

.cabinet-action:hover{
    background: rgba(255,255,255,0.07);
    border-color: rgba(212,175,55,0.18);
    transform: translateY(-2px);
}

.cabinet-action-icon{
    width: 42px;
    height: 42px;
    border-radius: 14px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(247,231,170,0.22), rgba(212,175,55,0.1));
    border: 1px solid rgba(212,175,55,0.2);
    color: #ffedba;
    font-size: 18px;
    font-weight: 900;
}

.cabinet-action strong{
    display: block;
    margin-bottom: 5px;
    color: #fff5db;
    font-size: 15px;
}

.cabinet-action span{
    display: block;
    color: var(--muted);
    font-size: 14px;
}

.cabinet-service-list{
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.cabinet-service-item{
    padding: 15px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}

.cabinet-service-item strong{
    display: block;
    margin-bottom: 5px;
    color: #fff5db;
    font-size: 15px;
}

.cabinet-service-item span{
    display: block;
    color: var(--muted);
    font-size: 14px;
}

.cabinet-bottom-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 1100px){
    .cabinet-hero,
    .cabinet-grid,
    .cabinet-bottom-grid{
        grid-template-columns: 1fr;
    }

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

@media (max-width: 820px){
    .cabinet-user-top{
        flex-direction: column;
        align-items: flex-start;
    }

    .cabinet-user-meta{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px){
    .cabinet-user-card,
    .cabinet-side-card,
    .cabinet-card{
        padding: 22px 18px;
        border-radius: 24px;
    }

    .cabinet-title{
        font-size: 34px;
    }

    .cabinet-avatar{
        width: 72px;
        height: 72px;
        font-size: 28px;
    }
}

.empty-box{
    padding: 18px 20px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    color: var(--muted);
    font-size: 15px;
}

.pet-list-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.pet-item-card,
.pet-public-card{
    border-radius: 28px;
    padding: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}

.pet-item-title{
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.05;
}

.pet-item-pawid{
    margin: 0 0 16px;
    color: #f0d693;
    font-weight: 700;
    word-break: break-word;
}

.pet-item-meta{
    display: grid;
    gap: 8px;
    color: var(--muted);
    font-size: 15px;
}

.pet-profile-layout{
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 20px;
}

.qr-box{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    margin-top: 16px;
}

.qr-box img{
    max-width: 100%;
    height: auto;
    display: block;
}

.qr-link-box{
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    color: var(--muted);
    word-break: break-word;
}

.qr-link-box a{
    color: #f5d88f;
}

.pet-public-top{
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.pet-public-badge{
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(212,175,55,0.10);
    border: 1px solid rgba(212,175,55,0.18);
    color: #f6deaf;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.pet-public-grid{
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
}

.pet-public-info{
    display: grid;
    gap: 12px;
}

.pet-data-row{
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}

.pet-data-row strong{
    color: #fff5db;
    font-size: 15px;
}

.pet-data-row span{
    color: var(--muted);
    text-align: right;
    font-size: 15px;
}

.pet-description-box{
    margin-top: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
}

.pet-description-box strong{
    display: block;
    margin-bottom: 8px;
    color: #fff5db;
}

.pet-description-box p{
    margin: 0;
    color: var(--muted);
}

@media (max-width: 1100px){
    .pet-profile-layout,
    .pet-public-grid,
    .pet-list-grid{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px){
    .pet-public-top{
        flex-direction: column;
    }

    .pet-data-row{
        flex-direction: column;
    }

    .pet-data-row span{
        text-align: left;
    }
}