﻿:root{--bg:#f5f9f8;--bg2:#ffffff;--bg3:#edf5f7;--bg4:#d8e3e8;--gold:#16a34a;--gl:#16a34a;--accent:#16a34a;--accent-soft:rgba(22,163,74,.14);--gd:rgba(22,163,74,.14);--text:#193245;--dim:#567284;--mid:#2c4a5d;--bord:rgba(22,163,74,.32);--sub:rgba(63,101,127,.2);--green:#16a34a;--red:#b45757;--r:14px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Manrope','DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-size:16px;line-height:1.68;-webkit-overflow-scrolling:touch;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 52% at 50% -12%,rgba(22,163,74,.12),transparent 62%),radial-gradient(ellipse 70% 42% at 85% 0%,rgba(22,163,74,.10),transparent 60%);pointer-events:none;z-index:0}
main{flex:1;position:relative;z-index:1;padding-bottom:28px}

/* NAV */
.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:66px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--sub);overflow:visible}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.brand-logo-img{height:34px;width:auto;display:block}
.nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.nav-menu-toggle{display:none;border:1.5px solid var(--sub);background:#fff;color:var(--mid);width:40px;height:40px;border-radius:10px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;z-index:111;position:relative;flex-shrink:0}
.nav-menu-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px}
.nav-links{display:flex;align-items:center;gap:4px;height:100%}
.nav-link{color:var(--dim);font-size:14px;font-weight:600;text-decoration:none;padding:8px 14px;border-radius:100px;transition:color .2s,background .2s}
.nav-link:hover{color:var(--text);background:var(--sub)}
.nav-link.active{color:var(--gold)}
.nav-mobile-chat{display:none;position:relative;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 12px;border:1.5px solid var(--sub);background:#fff;color:var(--mid);border-radius:10px;text-decoration:none;font-size:13px;font-weight:700;line-height:1;white-space:nowrap}
.nav-mobile-chat:hover{color:var(--gold);border-color:var(--bord);background:var(--bg3)}
.nav-mobile-chat-icon{font-size:15px;line-height:1}
.nav-mobile-chat-label{line-height:1}
.lk-mobile-back,.lk-mobile-brand{display:none}
.nav-link.lk-mobile-only{display:none}
.nav-ask-link{color:#fff!important;background:var(--accent);border-radius:100px;font-size:13px;font-weight:700;padding:8px 16px}
.nav-ask-link:hover{background:#15913f;color:#fff!important}
.nav-logout-form{display:inline}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:48px;padding:0 22px;border-radius:12px;font-family:'Manrope','DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;text-decoration:none;border:none;white-space:nowrap;letter-spacing:.01em}
.btn-gold{background:linear-gradient(135deg,#16a34a 0%,#16a34a 62%,#16a34a 100%);color:#ffffff;box-shadow:0 10px 24px rgba(22,163,74,.28)}
.btn-gold:hover{filter:saturate(1.05) brightness(1.02);box-shadow:0 14px 28px rgba(22,163,74,.34)}
.btn-outline{background:#fff;border:1.5px solid rgba(22,163,74,.24);color:var(--mid)}
.btn-outline:hover{border-color:var(--bord);color:var(--gold);background:rgba(22,163,74,.06)}
.btn-sm{height:48px;min-height:48px;padding:0 18px;font-size:13px}
.btn-lg{height:48px;min-height:48px;padding:0 28px;font-size:16px}
.btn-full{width:100%;justify-content:center}
.btn-danger{background:rgba(201,107,107,.15);border:1.5px solid rgba(201,107,107,.3);color:var(--red)}
.btn-danger:hover{background:rgba(201,107,107,.25)}
.btn-green{background:var(--accent-soft);border:1.5px solid rgba(22,163,74,.28);color:var(--green)}

.btn:not([disabled]):not(.disabled):hover,
.page-btn:not(.disabled):hover,
.btn-start-chat:hover,
.btn-back:hover,
.btn-retry:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(22,163,74,.2);
}

.btn:not([disabled]):not(.disabled):active,
.page-btn:not(.disabled):active,
.btn-start-chat:active,
.btn-back:active,
.btn-retry:active{
  transform:translateY(0);
  box-shadow:none;
  filter:brightness(.98);
}

.btn:focus-visible,
.page-btn:focus-visible,
.btn-start-chat:focus-visible,
.btn-back:focus-visible,
.btn-retry:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(22,163,74,.26), 0 6px 16px rgba(22,163,74,.18);
}

/* NAV CHAT BADGE */
.nav-chat-link{position:relative}
.nav-chat-badge{position:absolute;top:3px;right:4px;min-width:16px;height:16px;border-radius:8px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none;animation:badgePop .25s ease}

/* MESSAGES */
.messages{position:relative;z-index:2}
.msg{display:flex;align-items:center;gap:10px;padding:13px 48px;font-size:14px;animation:slideDown .3s ease}
.msg-success{background:rgba(0,143,115,.08);border-bottom:1px solid rgba(0,143,115,.2);color:#0d6a56}
.msg-error,.msg-danger{background:rgba(180,87,87,.1);border-bottom:1px solid rgba(180,87,87,.25);color:#8e3f3f}
.msg-info,.msg-warning{background:rgba(22,163,74,.08);border-bottom:1px solid var(--bord);color:#0f5f8c}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes badgePop{from{transform:scale(0)}to{transform:scale(1)}}

/* LEGAL POPUP */
.legal-popup-backdrop{position:fixed;inset:0;background:rgba(31,46,58,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1200}
.legal-popup{width:min(760px,100%);background:#fff;border:1.5px solid var(--sub);border-radius:16px;box-shadow:0 22px 60px rgba(19,61,92,.26);padding:24px}
.legal-popup-title{font-size:24px;font-weight:700;line-height:1.25;margin-bottom:12px}
.legal-popup-list{display:flex;flex-direction:column;gap:10px;color:var(--mid);font-size:15px}
.legal-popup-item{padding:10px 12px;border:1px solid var(--sub);border-radius:10px;background:var(--bg3)}
.legal-popup-actions{display:flex;justify-content:flex-end;margin-top:16px}
.legal-popup-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.legal-popup-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mid);cursor:pointer}
.legal-popup-check input{width:16px;height:16px;accent-color:var(--gold)}
.legal-popup-link{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.24);color:var(--gold);font-weight:700;text-decoration:none;white-space:nowrap}
.legal-popup-link:hover{background:rgba(22,163,74,.18);color:var(--gl)}

/* FORMS */
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.form-input{width:100%;background:var(--bg3);border:1.5px solid var(--sub);border-radius:var(--r);padding:13px 16px;color:var(--text);font-family:'Manrope','DM Sans',sans-serif;font-size:15px;outline:none;transition:all .2s;-webkit-appearance:none}
.form-input:focus{border-color:var(--bord);box-shadow:0 0 0 3px rgba(22,163,74,.12);background:#fff}
.form-input::placeholder{color:var(--dim)}
select.form-input{cursor:pointer}
select.form-input option{background:var(--bg3);color:var(--text)}
textarea.form-input{resize:vertical;min-height:110px}
.form-error{font-size:12px;color:var(--red);margin-top:5px}
.form-help{font-size:12px;color:var(--dim);margin-top:5px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.errorlist{list-style:none;margin-top:5px}
.errorlist li{font-size:12px;color:var(--red)}

/* CARD */
.card{background:var(--bg2);border:1.5px solid var(--sub);border-radius:16px;transition:border-color .25s,box-shadow .25s}
.card:hover{border-color:var(--bord);box-shadow:0 14px 30px rgba(22,163,74,.10)}
.card-body{padding:28px}

/* LAYOUT */
.page-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.page-header{padding:56px 0 32px}
.page-title{font-family:'Manrope','DM Sans',sans-serif;font-size:44px;font-weight:700;line-height:1.15;margin-bottom:10px}
.page-title em{font-style:italic;color:var(--gold)}
.page-subtitle{font-size:16px;color:var(--dim)}
.section-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}

/* BADGE */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:100px;font-size:11px;font-weight:500;letter-spacing:.02em}
.badge-gold{background:var(--gd);border:1px solid var(--bord);color:var(--gold)}
.badge-green{background:rgba(107,170,126,.15);border:1px solid rgba(107,170,126,.25);color:var(--green)}
.badge-red{background:rgba(201,107,107,.1);border:1px solid rgba(201,107,107,.2);color:var(--red)}
.badge-gray{background:var(--sub);border:1px solid rgba(255,255,255,.1);color:var(--dim)}
.verified-check{color:var(--gold);margin-left:6px;font-weight:700;font-size:0.9em;line-height:1;cursor:help;position:relative;border-bottom:2px dotted var(--gold);transition:all .2s}
.verified-check:hover{transform:scale(1.15)}
.verified-check::after{content:'Верифицированный специалист';position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--text);color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:0 4px 12px rgba(31,46,58,.2)}
.verified-check::before{content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text);opacity:0;pointer-events:none;transition:opacity .2s;z-index:1001}
.verified-check:hover::after,.verified-check:hover::before{opacity:1}

/* AVATAR */
.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Manrope','DM Sans',sans-serif;color:var(--gold);font-weight:700;flex-shrink:0;overflow:hidden;background:var(--bg3);border:2px solid var(--bord)}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-xl{width:96px;height:96px;font-size:32px}
.avatar-lg{width:72px;height:72px;font-size:24px}
.avatar-cabinet{width:100%;height:auto;aspect-ratio:1/1;font-size:96px;border-radius:0;background:none;border:none}
.avatar-md{width:48px;height:48px;font-size:17px}
.avatar-sm{width:36px;height:36px;font-size:13px}

/* STARS */
.stars{display:inline-flex;gap:2px}
.star{font-size:13px}

/* DIVIDER */
hr.divider{border:none;border-top:1px solid var(--sub);margin:28px 0}

/* SPECIALIST CARD — горизонтальный список (docdoc-style) */
.sp-card{background:var(--bg2);border:1.5px solid var(--sub);border-radius:16px;padding:20px 24px;display:flex;flex-direction:row;align-items:flex-start;gap:20px;transition:all .25s;text-decoration:none;color:inherit}
.sp-card:hover{border-color:var(--bord);transform:translateY(-1px);box-shadow:0 8px 24px rgba(19,61,92,.12)}
.sp-card-avatar{flex-shrink:0}
.sp-card-body{flex:1;min-width:0}
.sp-card-name{font-family:'Manrope','DM Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.25;margin-bottom:2px}
.sp-card-title{font-size:13px;color:var(--dim);margin-bottom:8px}
.sp-card-meta{display:flex;gap:14px;font-size:13px;color:var(--mid);flex-wrap:wrap;margin-bottom:8px}
.sp-card-meta span{display:flex;align-items:center;gap:5px}
.sp-card-tags{display:flex;flex-wrap:wrap;gap:6px}
.sp-card-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:140px}
.sp-card-rating{display:flex;align-items:center;gap:5px;color:var(--gold);font-size:14px;font-weight:700}
.sp-card-rating-count{font-size:12px;color:var(--dim);font-weight:400}
.sp-price{font-family:'Manrope','DM Sans',sans-serif;font-size:20px;font-weight:700;white-space:nowrap}
.sp-price small{font-family:'DM Sans',sans-serif;font-size:12px;color:var(--dim);font-weight:400}
/* Legacy compat */
.sp-card-head{display:flex;gap:16px;align-items:flex-start}
.sp-card-info{flex:1;min-width:0}
.sp-card-foot{display:flex;align-items:center;justify-content:space-between}

/* LIST */
.sp-grid{display:flex;flex-direction:column;gap:12px}

/* SIDEBAR LAYOUT */
.sidebar-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;padding:40px 0}
.sidebar{display:flex;flex-direction:column;gap:8px}
.sidebar-item{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:12px;font-size:14px;color:var(--dim);text-decoration:none;transition:all .2s;border:1.5px solid transparent}
.sidebar-item:hover{color:var(--text);background:var(--sub)}
.sidebar-item.active{color:var(--gold);background:var(--gd);border-color:var(--bord)}
.sidebar-icon{font-size:16px;width:20px;text-align:center}
.sidebar-back-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--dim);text-decoration:none;padding:5px 9px;border-radius:7px;border:1px solid var(--sub);margin-bottom:8px;transition:all .2s;white-space:nowrap}
.sidebar-back-btn:hover{color:var(--text);border-color:var(--bord);background:var(--sub)}

/* STATS ROW */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.stat-card{background:var(--bg2);border:1.5px solid var(--sub);border-radius:16px;padding:20px 24px}
.stat-val{font-family:'Manrope','DM Sans',sans-serif;font-size:25px;font-weight:700;line-height:1;margin-bottom:4px}
.stat-val em{font-style:normal;color:var(--gold)}
.stat-lbl{font-size:12px;color:var(--dim)}

/* APPOINTMENT CARD */
.appt-card{background:var(--bg2);border:1.5px solid var(--sub);border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:20px;margin-bottom:12px}
.appt-date{text-align:center;min-width:52px}
.appt-day{font-family:'Manrope','DM Sans',sans-serif;font-size:28px;font-weight:700;line-height:1;color:var(--gold)}
.appt-month{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}
.appt-info{flex:1}
.appt-name{font-size:15px;font-weight:500;margin-bottom:2px}
.appt-meta{font-size:13px;color:var(--dim)}
.appt-status{margin-left:auto}

/* FOOTER */
footer{position:relative;z-index:1;border-top:1px solid var(--sub);background:#fff;padding:48px 48px 0}
.footer-inner{display:grid;grid-template-columns:220px repeat(4,1fr);gap:32px;padding-bottom:36px}
.footer-brand{display:flex;flex-direction:column;gap:10px}
.footer-logo{display:flex;align-items:center;text-decoration:none}
.footer-logo .brand-logo-img{height:30px}
.footer-tagline{font-size:13px;color:var(--dim);line-height:1.5}
.footer-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);margin-bottom:12px}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.footer-col ul li a{font-size:14px;color:var(--dim);text-decoration:none;transition:color .2s}
.footer-col ul li a:hover{color:var(--gold)}
.footer-contacts{display:flex;flex-direction:column;gap:7px}
.footer-contact-row{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--dim)}
.footer-contact-row a{color:var(--dim);text-decoration:none;transition:color .2s}
.footer-contact-row a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid var(--sub);padding:14px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.footer-copy{font-size:12px;color:var(--dim)}
.footer-bottom-links{display:flex;gap:14px;flex-wrap:wrap}
.footer-bottom-links a{font-size:12px;color:var(--dim);text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:var(--gold)}

/* TABS */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--sub);margin-bottom:28px}
.tab-link{padding:10px 20px;font-size:14px;color:var(--dim);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.tab-link:hover{color:var(--text)}
.tab-link.active{color:var(--gold);border-bottom-color:var(--gold)}

/* PAGINATION */
.pagination{display:flex;gap:6px;justify-content:center;padding:40px 0 16px}
.page-btn{min-width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--bg2);border:1.5px solid var(--sub);color:var(--mid);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.page-btn:hover{border-color:var(--bord);color:var(--gold)}
.page-btn.active{background:var(--gold);border-color:var(--gold);color:#ffffff;font-weight:700}
.page-btn.disabled{opacity:.3;pointer-events:none}

/* EMPTY */
.empty-state{text-align:center;padding:64px 32px}
.empty-icon{font-size:48px;opacity:.3;margin-bottom:20px}
.empty-title{font-family:'Manrope','DM Sans',sans-serif;font-size:28px;font-weight:700;margin-bottom:8px}
.empty-text{font-size:14px;color:var(--dim);margin-bottom:24px}

/* SLOT GRID */
.slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.slot-btn{padding:8px 16px;border-radius:8px;background:var(--bg3);border:1.5px solid var(--sub);color:var(--mid);font-size:13px;cursor:pointer;transition:all .2s}
.slot-btn:hover,.slot-btn.selected{background:var(--gd);border-color:var(--bord);color:var(--gold)}

/* FILTER BAR */
.filter-bar{background:var(--bg2);border:1.5px solid var(--sub);border-radius:16px;padding:20px 24px;margin-bottom:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.filter-bar .form-group{margin-bottom:0;flex:1;min-width:140px}

/* AUTH + DASHBOARD HELPERS */
.auth-shell{padding:48px 0}
.auth-wrap{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.auth-aside,.auth-card{background:#fff;border:1.5px solid var(--sub);border-radius:14px;padding:26px}
.auth-title{font-size:36px;line-height:1.2;font-weight:700;margin-bottom:12px}
.auth-title em{color:var(--gold);font-style:normal}
.auth-copy{font-size:15px;color:var(--dim);margin-bottom:14px}
.auth-points{display:flex;flex-direction:column;gap:10px}
.auth-point{border:1px solid var(--sub);border-radius:10px;padding:12px;background:var(--bg3);display:flex;flex-direction:column;gap:4px}
.auth-link{color:var(--gold);font-weight:600;text-decoration:none}
.auth-link:hover{text-decoration:underline}
.error-panel{border:1px solid rgba(180,87,87,.35);background:rgba(180,87,87,.1);color:#843e3e;border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:14px}
.link-muted{font-size:13px;color:var(--dim);text-decoration:none}
.link-muted:hover{color:var(--gold)}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.role-card{border:1.5px solid var(--sub);border-radius:12px;padding:14px;text-align:center;background:#fff;transition:border-color .2s,background .2s}
.role-card:hover{border-color:var(--bord);background:var(--bg3)}
.role-active{border-color:var(--bord);background:var(--gd)}
.role-icon{font-size:24px;margin-bottom:6px}

.dashboard-main{display:flex;flex-direction:column;gap:14px}
.panel-list{display:flex;flex-direction:column;gap:10px}
.soft-panel{background:#fff;border:1.5px solid var(--sub);border-radius:14px;padding:20px}
.soft-panel-title{font-size:28px;line-height:1.2;font-weight:700}
.sidebar-profile{border-radius:12px;padding:14px;text-align:center}
.sidebar-meta{font-size:12px;color:var(--dim)}
.mini-note{font-size:13px;color:var(--dim)}
.dashboard-title{font-size:34px;line-height:1.2;font-weight:700;margin-bottom:8px}
.dashboard-title em{color:var(--gold);font-style:normal}
.dashboard-copy{font-size:15px;color:var(--dim)}

@media(max-width:900px){
  main{padding-bottom:22px}
  .navbar{padding:0 20px;position:relative}
  .navbar.lk-mobile-mode{padding:0 14px}
  .navbar.lk-mobile-mode .nav-logo{display:none}
  .navbar.lk-mobile-mode .lk-mobile-back{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 10px;border:1.5px solid var(--sub);border-radius:9px;background:#fff;color:var(--mid);text-decoration:none;font-size:12px;font-weight:700;line-height:1;position:relative;z-index:103;flex-shrink:0}
  .navbar.lk-mobile-mode .lk-mobile-back:hover{color:var(--gold);border-color:var(--bord);background:var(--bg3)}
  .navbar.lk-mobile-mode .lk-mobile-brand{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#16a34a;color:#fff;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.04em;position:absolute;left:50%;transform:translateX(-50%);z-index:102;box-shadow:0 8px 20px rgba(22,163,74,.28)}
  .navbar.lk-mobile-mode .nav-actions{margin-left:auto;position:relative;z-index:103}
  .navbar.lk-mobile-mode .nav-link-core-specialists,
  .navbar.lk-mobile-mode .nav-link-core-blog,
  .navbar.lk-mobile-mode .nav-link-core-guides,
  .navbar.lk-mobile-mode .nav-link-core-cabinet{display:none !important}
  .nav-menu-toggle{display:inline-flex !important;z-index:101}
  .nav-mobile-chat{display:inline-flex}
  .nav-chat-desktop{display:none !important}
  .nav-links{position:absolute !important;top:100% !important;left:0 !important;right:0 !important;height:auto !important;z-index:100 !important;display:none !important;flex-direction:column !important;align-items:stretch !important;gap:6px !important;padding:12px 16px 16px !important;background:rgba(255,255,255,.98) !important;backdrop-filter:blur(16px) !important;border-bottom:1px solid var(--sub) !important;box-shadow:0 10px 24px rgba(19,61,92,.12) !important}
  .navbar.nav-open .nav-links{display:flex !important}
  .nav-link{display:block;padding:10px 12px;border-radius:10px}
  .nav-link.lk-mobile-only{display:block}
  .nav-links>.btn,.nav-logout-form .btn{width:100%;justify-content:center}
  .nav-logout-form{display:block}
  .sidebar-layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .stats-row{grid-template-columns:1fr 1fr}
  .sp-grid{flex-direction:column}
  .sp-card{flex-direction:column;gap:14px;padding:18px 20px}
  .sp-card-side{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:space-between;width:100%;min-width:0}
  .form-row{grid-template-columns:1fr;gap:12px}
  footer{padding:32px 20px 0}
  .footer-inner{grid-template-columns:1fr 1fr;gap:24px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{padding:12px 0;flex-direction:column;align-items:flex-start;gap:8px}
  .footer-logo .brand-logo-img{height:26px}
  .page-wrap{padding:0 16px}
  .appt-card{padding:16px;flex-wrap:wrap;align-items:flex-start;gap:12px}
  .card-body{padding:20px}
  .filter-bar{padding:16px;gap:8px}
  .avatar-lg{width:60px;height:60px;font-size:20px}
  .avatar-md{width:40px;height:40px;font-size:15px}
  .avatar-sm{width:30px;height:30px;font-size:12px}
  .page-title{font-size:36px}
  .brand-logo-img{height:30px}
  .footer-logo .brand-logo-img{height:26px}
  .btn-sm{height:48px;min-height:48px;padding:0 16px;font-size:12px}
  .auth-wrap{grid-template-columns:1fr;padding:0 16px}
  .auth-title{font-size:30px}
  .role-grid{grid-template-columns:1fr}

  body.lk-app{background:#eef3f7}
  body.lk-app::before{display:none}
  body.lk-app .navbar{height:58px;border-bottom:1px solid rgba(31,46,58,.12);box-shadow:0 6px 18px rgba(19,61,92,.08);background:rgba(255,255,255,.96)}
  body.lk-app .nav-links{top:58px !important;max-height:calc(100vh - 58px);overflow-y:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom)) !important}
  body.lk-app main{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  body.lk-app .sidebar-layout{padding:0 !important}
  body.lk-app .dashboard-main{padding:12px !important}
  body.lk-app .card,
  body.lk-app .soft-panel,
  body.lk-app .appt-card,
  body.lk-app .stats-card,
  body.lk-app .mini-card,
  body.lk-app .profile-section-card,
  body.lk-app .clients-collapsed-panel,
  body.lk-app .clients-detail,
  body.lk-app .crm-quick,
  body.lk-app .crm-upcoming,
  body.lk-app .crm-checklist{border:none !important;box-shadow:0 8px 24px rgba(19,61,92,.08);border-radius:16px}
  body.lk-app .tabs{background:#fff;border:0;box-shadow:0 6px 18px rgba(19,61,92,.08);border-radius:12px;padding:4px;gap:4px}
  body.lk-app .tab-link{border-bottom:none !important;border-radius:9px;padding:9px 10px}
  body.lk-app .tab-link.active{background:rgba(22,163,74,.12);color:var(--gold)}
  body.lk-app .lk-mobile-brand{width:40px;height:40px;border-radius:12px;box-shadow:0 10px 24px rgba(22,163,74,.30)}
}

@media(max-width:768px){
  body{font-size:15px;line-height:1.62}
  .nav-link{font-size:13px;padding:7px 12px}
  .btn{font-size:13px}
  .btn-lg{font-size:15px}
  .form-label{font-size:11px}
  .form-input{font-size:14px;padding:12px 14px}
  .section-label{font-size:10px}
  .page-title{font-size:clamp(30px,5.4vw,34px)}
  .page-subtitle{font-size:15px}
  .sp-card-name{font-size:17px}
  .sp-card-title{font-size:12px}
  .sp-card-meta{font-size:12px;margin-bottom:6px}
  .sp-price{font-size:20px}
  .dashboard-title{font-size:30px}
  .soft-panel-title{font-size:24px}
  .auth-title{font-size:28px}
  .auth-copy{font-size:14px}
  .empty-title{font-size:24px}
}

@media(max-width:480px){
  main{padding-bottom:16px}
  body{font-size:14px;line-height:1.58}
  .navbar{padding:0 14px;height:56px}
  .nav-actions{gap:6px}
  .nav-links{padding:10px 12px 14px}
  .nav-link{font-size:12px;padding:6px 10px}
  .nav-mobile-chat{height:36px;padding:0 10px;font-size:12px;border-radius:9px}
  .nav-chat-badge{top:-3px;right:-3px}
  .btn-sm{height:48px;min-height:48px;padding:0 14px;font-size:12px}
  .page-wrap{padding:0 12px}
  .page-header{padding:32px 0 20px}
  .page-title{font-size:clamp(22px,7vw,32px)}
  .page-subtitle{font-size:14px}
  .stat-val{font-size:22px}
  .stats-row{grid-template-columns:1fr}
  .sp-card-name{font-size:16px}
  .sp-price{font-size:18px}
  .auth-title{font-size:clamp(22px,6vw,28px)}
  .auth-copy{font-size:14px}
  .soft-panel-title{font-size:clamp(20px,5.5vw,26px)}
  .dashboard-title{font-size:clamp(22px,6vw,28px)}
  .empty-title{font-size:22px}
  .appt-day{font-size:22px}
  .appt-name{font-size:14px}
  .appt-meta{font-size:12px}
  .tab-link{font-size:10px;padding:8px 7px}
  .filter-bar{gap:8px}
  .card-body{padding:16px}
  .avatar-cabinet{font-size:72px}
  footer{padding:24px 14px 0}
  .footer-inner{grid-template-columns:1fr;gap:20px}
  .footer-copy{font-size:11px}
}

@media(max-width:360px){
  body{font-size:13px;line-height:1.54}
  .navbar{height:52px}
  .brand-logo-img{height:26px}
  .nav-mobile-chat{width:36px;padding:0}
  .nav-mobile-chat-label{display:none}
  .nav-link{font-size:11px;padding:5px 8px}
  .btn{font-size:12px}
  .page-title{font-size:clamp(20px,8.2vw,26px)}
  .auth-title{font-size:clamp(20px,7.2vw,24px)}
  .soft-panel-title{font-size:clamp(18px,6.8vw,22px)}
}