*,
*::before,
*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#0f172a;font-size:14px;line-height:1.5}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;min-width:0}.content-area{padding:28px}.sidebar{width:280px;min-height:100vh;background:linear-gradient(180deg,#111827 0%,#1f2937 100%);color:#fff;padding:24px 18px;position:sticky;top:0}.sidebar__brand{display:flex;gap:14px;align-items:center;margin-bottom:30px}.sidebar__brand h1{font-size:20px;font-weight:800}.sidebar__brand p{color:rgba(255,255,255,.7);font-size:13px}.sidebar__logo{width:48px;height:48px;border-radius:16px;background:#2563eb;display:grid;place-items:center;font-weight:800;font-size:20px}.sidebar__nav{display:flex;flex-direction:column;gap:8px}.sidebar__link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;color:rgba(255,255,255,.85);transition:all .2s ease}.sidebar__link:hover,.sidebar__link.is-active{background:rgba(255,255,255,.08);color:#fff}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.75);backdrop-filter:blur(10px)}.topbar__left h2{font-size:26px;font-weight:800}.topbar__left p{color:#64748b;margin-top:4px}.topbar__right{display:flex;align-items:center;gap:16px}.topbar__user{display:flex;align-items:center;gap:12px}.topbar__user small{display:block;color:#64748b}.topbar__avatar{width:42px;height:42px;border-radius:50%;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:700}.btn{border:0;border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.btn--primary{background:#2563eb;color:#fff}.btn--primary:hover{background:#1d4ed8}.btn--ghost{background:#fff;border:1px solid #e2e8f0;color:#0f172a}.btn--ghost:hover{background:#f8fafc}.btn--block{width:100%}.btn--sm{padding:10px 14px;border-radius:12px;font-size:13px}.panel-card,.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.08)}.panel-card{padding:22px}.panel-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-card__header h3{font-size:18px;font-weight:800}.panel-card__subtitle{color:#64748b;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.stat-card{padding:22px}.stat-card__label{display:inline-block;color:#64748b;margin-bottom:12px;font-weight:700}.stat-card__value{display:block;font-size:30px;font-weight:800;margin-bottom:8px}.stat-card small{color:#64748b}.dashboard-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:24px;margin-top:24px}.summary-list{display:flex;flex-direction:column;gap:14px}.summary-list__item{padding:14px 0;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:16px}.summary-list__item span{color:#64748b}.summary-list__item strong{text-align:right}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;color:#64748b;letter-spacing:.04em}.table-user{display:flex;flex-direction:column}.table-user small,.conversation-row-user small{color:#64748b}.conversation-row-user{display:flex;align-items:center;gap:12px}.conversation-row-user__avatar{width:42px;height:42px;border-radius:50%;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800}.conversation-last-message{max-width:340px;color:#334155}.table-actions{white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.badge--soft{background:#eef2ff;color:#4338ca}.badge--new{background:#dbeafe;color:#1d4ed8}.badge--bot{background:#ede9fe;color:#6d28d9}.badge--pending{background:#fef3c7;color:#b45309}.badge--assigned{background:#dcfce7;color:#15803d}.badge--resolved{background:#dcfce7;color:#15803d}.badge--closed{background:#e2e8f0;color:#334155}.badge--low{background:#ecfccb;color:#4d7c0f}.badge--medium{background:#dbeafe;color:#1d4ed8}.badge--high{background:#ffedd5;color:#c2410c}.badge--urgent{background:#fee2e2;color:#b91c1c}.filters-bar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:14px;margin-top:18px}.filters-bar__group input,.filters-bar__group select,.form input,.form select,.form textarea,.reply-form textarea{width:100%;border:1px solid #dbe2ea;background:#fff;border-radius:14px;padding:14px 16px;font:inherit;outline:none}.filters-bar__group input:focus,.filters-bar__group select:focus,.form input:focus,.form select:focus,.form textarea:focus,.reply-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.filters-bar__actions{display:flex;gap:10px;align-items:stretch}.form{display:flex;flex-direction:column;gap:18px}.form__group{display:flex;flex-direction:column;gap:8px}.form label{font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid__full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.checkbox-inline{display:inline-flex;align-items:center;gap:10px;font-weight:700}.conversations-page,.contacts-page,.contact-detail,.catalog-page,.catalog-form-page{display:flex;flex-direction:column;gap:24px}.conversation-detail{display:grid;grid-template-columns:1.6fr 420px;gap:24px}.conversation-detail__badges{display:flex;gap:10px;flex-wrap:wrap}.conversation-chat-card{min-height:70vh}.chat-thread{display:flex;flex-direction:column;gap:14px;max-height:72vh;overflow-y:auto;padding-right:6px}.chat-bubble{max-width:78%;padding:16px 18px;border-radius:18px;border:1px solid #e2e8f0;box-shadow:0 10px 24px rgba(15,23,42,.05)}.chat-bubble--in{align-self:flex-start;background:#fff}.chat-bubble--out{align-self:flex-end;background:#eaf2ff;border-color:#cfe0ff}.chat-bubble__meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:12px;color:#64748b}.chat-bubble__body{font-size:14px;color:#0f172a;line-height:1.6;word-break:break-word}.chat-bubble__foot{margin-top:10px;display:flex;gap:8px;font-size:11px;color:#64748b}.chat-empty,.table-empty{padding:24px;color:#64748b;text-align:center}.chat-empty{border:1px dashed #cbd5e1;border-radius:16px}.side-card{margin-bottom:24px}.info-list{display:flex;flex-direction:column;gap:14px}.info-list__item{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.info-list__item span{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.info-list__item strong{font-size:14px;color:#0f172a}.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.tag-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}.reply-box{margin-top:22px;padding-top:22px;border-top:1px solid #e2e8f0}.reply-form{display:flex;flex-direction:column;gap:12px}.reply-form textarea{resize:vertical;min-height:110px}.reply-form__actions{display:flex;justify-content:flex-end}.tag-selector{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.tag-check{display:flex;align-items:center;gap:10px;font-weight:600}.notes-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}.note-card{padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}.note-card__meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:#64748b}.note-card p{margin:0;color:#334155;line-height:1.6}.contact-notes{margin-top:24px;padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.contact-notes h4{margin-bottom:10px;font-size:16px;font-weight:800}.contact-notes p{color:#334155;line-height:1.7}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.catalog-grid--services{grid-template-columns:repeat(2,1fr)}.catalog-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.08)}.catalog-card__image{height:220px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.catalog-card__image img{width:100%;height:100%;object-fit:cover;display:block}.catalog-card__placeholder{color:#64748b;font-weight:700}.catalog-card__body{padding:20px}.catalog-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.catalog-card__top h4{font-size:18px;font-weight:800;margin:0}.catalog-card p{color:#475569;margin-bottom:16px;min-height:42px}.catalog-card__meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.catalog-card__meta strong{font-size:18px;font-weight:800}.catalog-card__meta span{color:#64748b;font-size:13px}.catalog-card__actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.catalog-card--service .catalog-card__body{padding:24px}.auth-body{min-height:100vh;background:radial-gradient(circle at top left,#dbeafe,#f8fafc 40%,#eef2ff 100%);display:grid;place-items:center;padding:24px}.auth{width:100%;max-width:460px}.auth__card{background:rgba(255,255,255,.92);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.08);padding:34px;backdrop-filter:blur(10px)}.auth__header{text-align:center;margin-bottom:24px}.auth__header h1{font-size:30px;font-weight:800;margin-top:16px}.auth__header p{margin-top:8px;color:#64748b}.auth__logo{width:64px;height:64px;margin:0 auto;border-radius:20px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}.alert{padding:14px 16px;border-radius:12px;margin-bottom:16px;font-weight:600}.alert--error{background:rgba(220,38,38,.08);color:#b91c1c;border:1px solid rgba(220,38,38,.18)}.alert--success{background:rgba(22,163,74,.08);color:#15803d;border:1px solid rgba(22,163,74,.18)}@media (max-width:1300px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1200px){.filters-bar{grid-template-columns:1fr 1fr}.conversation-detail{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-grid--services{grid-template-columns:1fr}}@media (max-width:1100px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:900px){.app-shell{flex-direction:column}.sidebar{width:100%;min-height:auto;position:relative}}@media (max-width:768px){.stats-grid,.catalog-grid,.form-grid,.filters-bar{grid-template-columns:1fr}.form-actions,.filters-bar__actions{flex-direction:column}}