

.lsf-wrap {
	max-width: 1280px;
	margin: -28px auto 0;
	padding: 0 20px 7px;
	position: relative;
	z-index: 2;
}

.lsf { --lsf-rose-1:#CC8BB9; --lsf-rose-2:#A66898; --lsf-rose-soft:#F5DCEB; --lsf-cream:#FFFCF7; --lsf-border:#ece6ec; --lsf-text:#1A1A1A; --lsf-dim:#7a6b74; }

.cat-stat__num.lsf-hero-status { display:flex; align-items:center; gap:8px; align-self:stretch; width:100%; justify-content:flex-start; border-radius:10px; padding:8px 14px; font-size:13px; font-weight:600; }
.lsf-hero-dot { width:11px; height:11px; border-radius:50%; flex:0 0 auto; }
.cat-stat__num.lsf-hero-status.is-open { color:#2f8a52; }
.cat-stat__num.lsf-hero-status.is-open .lsf-hero-dot { background:#3fc070; box-shadow:0 0 0 4px rgba(63,192,112,.2); }
.cat-stat__num.lsf-hero-status.is-closed { color:#b14a4a; }
.cat-stat__num.lsf-hero-status.is-closed .lsf-hero-dot { background:#d36b6b; box-shadow:0 0 0 4px rgba(211,107,107,.18); }

.lsf-btn { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--lsf-border); background:#fff; color:var(--lsf-text); border-radius:10px; padding:10px 20px; font-size:14px; font-weight:400; cursor:pointer; text-decoration:none; transition:.15s; }
.lsf-btn:hover { border-color:var(--lsf-rose-1); }
.lsf-btn-primary { background:var(--lsf-rose-1); border-color:var(--lsf-rose-1); color:#fff; }
.lsf-btn-primary:hover { background:var(--lsf-rose-2); border-color:var(--lsf-rose-2); color:#fff; }

.lsf-login { text-align:center; background:#fff; border:1px solid var(--lsf-border); border-radius:14px; padding:40px 24px; }
.lsf-login p { color:var(--lsf-dim); margin:0 0 18px; font-size:16px; }

.lsf-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.lsf-head h2, .lsf-conv-head h2, .lsf-new-form h2 { font-family: var(--font-display); }
.lsf-head h2 { margin:0; font-size:22px; font-weight:500; letter-spacing:-0.028em; }
.lsf-accent { color:inherit; font-style:normal; }
.lsf-head .lsf-new { padding:7px 14px; font-size:13px; }

.lsf-tickets { display:flex; flex-direction:column; gap:10px; }
.lsf-card { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; text-align:left; background:#fff; border:1px solid var(--lsf-border); border-radius:12px; padding:16px 18px; cursor:pointer; transition:.15s; }
.lsf-card:hover { border-color:var(--lsf-rose-1); box-shadow:0 4px 18px rgba(166,104,152,.08); transform:translateY(-1px); }
.lsf-card-main { min-width:0; }
.lsf-card-subject { display:block; font-family:var(--font-display); font-weight:500; font-size:17px; color:var(--lsf-text); margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lsf-card-meta { display:block; color:var(--lsf-dim); font-size:13px; }
.lsf-card.lsf-hidden { display:none; }
.lsf-list-view[hidden], .lsf-conv-view[hidden], .lsf-new-view[hidden] { display:none !important; }
.lsf-list-more { text-align:center; margin-top:16px; }
.lsf-btn[hidden] { display:none !important; }
.lsf-list-more .lsf-more { padding:8px 18px; font-size:13px; background:var(--lsf-rose-1); border-color:var(--lsf-rose-1); color:#fff; }
.lsf-list-more .lsf-more:hover { background:var(--lsf-rose-2); border-color:var(--lsf-rose-2); color:#fff; }

.lsf-badge { flex:0 0 auto; font-size:12px; font-weight:600; padding:4px 12px; border-radius:999px; white-space:nowrap; }
.lsf-badge-open { background:#fbe6db; color:#c2562a; }
.lsf-badge-pending { background:#f8efd2; color:#9a7400; }
.lsf-badge-closed { background:#e2f0e6; color:#3f8d57; }

.lsf-empty { text-align:center; background:#fff; border:1px dashed var(--lsf-border); border-radius:14px; padding:40px 24px; }
.lsf-empty p { color:var(--lsf-dim); margin:0 0 18px; font-size:16px; }

.lsf-back { background:none; border:0; color:var(--lsf-rose-2); cursor:pointer; font-size:14px; font-weight:400; padding:0; margin-bottom:18px; }
.lsf-back:hover { color:var(--lsf-rose-1); }

.lsf-conv-inner { background:#fff; border:1px solid var(--lsf-border); border-radius:16px; padding:22px 24px; }
.lsf-conv-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--lsf-border); }
.lsf-conv-head h2 { margin:0; font-size:21px; font-weight:500 !important; letter-spacing:-0.028em; font-family:var(--font-display) !important; }
.lsf-conv-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.lsf-conv-meta span { font-size:12px; color:var(--lsf-dim); background:var(--lsf-cream); border:1px solid var(--lsf-border); border-radius:999px; padding:2px 10px; }

.lsf-messages { display:flex; flex-direction:column; gap:18px; margin-bottom:4px; }
.lsf-msg { display:flex; gap:10px; max-width:84%; }
.lsf-msg.is-me { align-self:flex-start; }
.lsf-msg.is-team { align-self:flex-end; flex-direction:row-reverse; }
.lsf-msg-avatar { flex:0 0 36px; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
.lsf-msg.is-team .lsf-msg-avatar { background:var(--lsf-rose-soft); }
.lsf-msg.is-me .lsf-msg-avatar { background:#ece7ec; color:var(--lsf-text); }
.lsf-msg-bubble { min-width:0; border-radius:14px; padding:11px 15px; }
.lsf-msg.is-team .lsf-msg-bubble { background:var(--lsf-rose-soft); border:1px solid #eccfe0; border-top-right-radius:4px; }
.lsf-msg.is-me .lsf-msg-bubble { background:#fff; border:1px solid var(--lsf-border); border-top-left-radius:4px; }
.lsf-msg-head { font-size:12px; color:var(--lsf-dim); margin-bottom:4px; display:flex; gap:8px; align-items:baseline; }
.lsf-msg-head strong { color:var(--lsf-text); font-weight:500; }
.lsf-msg-body { font-size:14px; line-height:1.55; word-wrap:break-word; }
.lsf-msg-body p, .lsf-msg-body ul, .lsf-msg-body ol, .lsf-msg-body blockquote { font-size:14px; line-height:1.55; margin:0 0 .55em; }
.lsf-msg-body p:first-child { margin-top:0; }
.lsf-msg-body p:last-child, .lsf-msg-body ul:last-child, .lsf-msg-body ol:last-child, .lsf-msg-body blockquote:last-child { margin-bottom:0; }
.lsf-msg-body img:not(.emoji), .lsf-att-img { max-width:240px !important; max-height:200px !important; width:auto !important; height:auto !important; border-radius:10px; margin:8px 6px 8px 0; display:inline-block; vertical-align:top; cursor:zoom-in; border:1px solid var(--lsf-border); }
.lsf-msg-body img.emoji { width:1.1em !important; height:1.1em !important; max-width:1.1em !important; max-height:1.1em !important; margin:0 .05em !important; padding:0 !important; border:0 !important; display:inline !important; vertical-align:-0.15em; cursor:auto; box-shadow:none; }

.lsf-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.82); display:flex; align-items:center; justify-content:center; z-index:100002; cursor:zoom-out; padding:30px; }
.lsf-lightbox img { max-width:95vw; max-height:92vh; border-radius:8px; box-shadow:0 10px 50px rgba(0,0,0,.5); }
.lsf-lightbox-close { position:fixed; top:18px; right:26px; color:#fff; font-size:38px; line-height:1; cursor:pointer; }

.lsf-reply-zone { margin-top:22px; padding-top:20px; border-top:1px solid var(--lsf-border); }
.lsf-reply-label { display:block; font-weight:600; font-size:14px; margin-bottom:8px; }
.lsf-reply-foot { display:flex; justify-content:flex-end; margin-top:10px; }
.lsf-reopen-note { display:flex; align-items:flex-start; gap:8px; background:#e2f0e6; color:#3f8d57; border-radius:10px; padding:10px 14px; font-size:13px; margin:0 0 16px; }
.lsf-reopen-note .dashicons { flex:0 0 auto; }

.lsf-reply { display:flex; flex-direction:column; gap:10px; }
.lsf-reply textarea, .lsf-new-form textarea, .lsf-new-form input[type=text], .lsf-new-form select {
	width:100%; border:1px solid var(--lsf-border); border-radius:10px; padding:12px 14px; font-size:14px; font-family:inherit; background:#fff;
}
.lsf-reply textarea:focus, .lsf-new-form textarea:focus, .lsf-new-form input:focus, .lsf-new-form select:focus { outline:none; border-color:var(--lsf-rose-1); box-shadow:0 0 0 2px rgba(204,139,185,.25); }

.lsf-new-form select {
	appearance:none; -webkit-appearance:none; -moz-appearance:none;
	padding-right:40px; cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23A66898' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 14px center;
}
.lsf-reply button { align-self:flex-end; }

.lsf-field { display:flex; flex-direction:column; gap:6px; }
.lsf-field-label { font-weight:600; font-size:14px; }
.lsf-field-hint { color:var(--lsf-dim); font-size:12px; line-height:1.4; }
.lsf-field-empty { color:var(--lsf-dim); font-size:13px; margin:0; padding:10px 14px; background:var(--lsf-cream); border:1px dashed var(--lsf-border); border-radius:10px; }
.lsf-select { position:relative; }
.lsf-select-btn { width:100%; text-align:left; border:1px solid var(--lsf-border); border-radius:10px; padding:12px 40px 12px 14px; font-size:14px; background:#fff; cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23A66898' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 14px center; }
.lsf-select-btn:hover { border-color:var(--lsf-rose-1); }
.lsf-select-list { position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:20; margin:0; padding:6px; list-style:none; background:#fff; border:1px solid var(--lsf-border); border-radius:12px; box-shadow:0 8px 28px rgba(0,0,0,.12); max-height:260px; overflow-y:auto; }
.lsf-select-opt { padding:9px 12px; border-radius:8px; cursor:pointer; font-size:14px; }
.lsf-select-opt:hover { background:var(--lsf-rose-soft); }
.lsf-select-opt.is-active { background:var(--lsf-rose-2); color:#fff; }
.lsf-opt-tag { font-size:11px; color:#c2562a; background:#fbe6db; border-radius:999px; padding:1px 8px; margin-left:6px; }
.lsf-select-opt.is-active .lsf-opt-tag { background:rgba(255,255,255,.25); color:#fff; }
.lsf-select-warning { margin:6px 0 0; padding:9px 12px; background:#fbe6db; color:#a8421c; border-radius:8px; font-size:13px; }
.lsf-new-form button[type=submit][disabled] { opacity:.5; cursor:not-allowed; }

.lsf-new-form { display:flex; flex-direction:column; gap:16px; background:#fff; border:1px solid var(--lsf-border); border-radius:14px; padding:24px; }
.lsf-new-form h2 { margin:0; font-size:20px; font-weight:500; letter-spacing:-0.02em; }
.lsf-new-form label { display:flex; flex-direction:column; gap:6px; font-weight:600; font-size:14px; }
.lsf-form-foot { display:flex; justify-content:flex-end; }

.lsf-editor-wrap { width:100%; }
.lsf-editor-toolbar { position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-bottom:8px; }
.lsf-tb { width:32px; height:30px; border:1px solid var(--lsf-border); background:#fff; border-radius:8px; cursor:pointer; font-size:14px; color:var(--lsf-text); display:inline-flex; align-items:center; justify-content:center; padding:0; }
.lsf-tb:hover { background:var(--lsf-rose-soft); border-color:var(--lsf-rose-1); }
.lsf-editor { min-height:120px; max-height:600px; overflow-y:auto; resize:vertical; border:1px solid var(--lsf-border); border-radius:10px; padding:12px 14px; font-size:14px; line-height:1.55; outline:none; background:#fff; }
.lsf-editor:focus { border-color:var(--lsf-rose-1); box-shadow:0 0 0 2px rgba(204,139,185,.25); }
.lsf-editor:empty:before { content:attr(data-placeholder); color:var(--lsf-dim); }
.lsf-editor a { color:var(--lsf-rose-2); }
.lsf-emoji-pop { position:absolute; top:36px; left:0; z-index:20; background:#fff; border:1px solid var(--lsf-border); border-radius:12px; padding:8px; box-shadow:0 8px 28px rgba(0,0,0,.12); display:grid; grid-template-columns:repeat(8,1fr); gap:2px; width:300px; }
.lsf-emoji { border:0; background:transparent; cursor:pointer; font-size:19px; padding:4px; border-radius:6px; line-height:1; }
.lsf-emoji:hover { background:var(--lsf-rose-soft); }

.lsf-attach { font-size:15px; }
.lsf-attach .dashicons { font-size:17px; width:17px; height:17px; line-height:1; color:var(--lsf-text); }
.lsf-atts { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.lsf-att-chip { display:inline-flex; align-items:center; gap:6px; background:var(--lsf-cream); border:1px solid var(--lsf-border); border-radius:8px; padding:4px 8px; font-size:12px; max-width:200px; }
.lsf-att-chip img { width:30px; height:30px; object-fit:cover; border-radius:4px; }
.lsf-att-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lsf-att-x { cursor:pointer; color:#b33; font-weight:700; flex:0 0 auto; }
.lsf-link-pop { position:absolute; top:36px; left:0; z-index:20; background:#fff; border:1px solid var(--lsf-border); border-radius:12px; padding:8px; box-shadow:0 8px 28px rgba(0,0,0,.12); display:flex; gap:6px; width:340px; }
.lsf-link-url { flex:1; border:1px solid var(--lsf-border); border-radius:8px; padding:8px 10px; font-size:14px; }
.lsf-link-url:focus { outline:none; border-color:var(--lsf-rose-1); box-shadow:0 0 0 2px rgba(204,139,185,.25); }
.lsf-link-pop .lsf-btn { padding:8px 16px; }

.lsf-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:#2f8a52; color:#fff; padding:12px 22px; border-radius:999px; font-size:14px; font-weight:600; box-shadow:0 8px 28px rgba(0,0,0,.22); z-index:100001; opacity:0; transition:opacity .25s, transform .25s; }
.lsf-toast.is-in { opacity:1; transform:translateX(-50%) translateY(0); }

.lsf-busy { opacity:.5; pointer-events:none; }
.lsf-loading { text-align:center; color:var(--lsf-dim); padding:40px; }
.lsf-spin { display:inline-block; width:26px; height:26px; border:3px solid var(--lsf-rose-soft); border-top-color:var(--lsf-rose-2); border-radius:50%; animation:lsf-spin .7s linear infinite; }
@keyframes lsf-spin { to { transform:rotate(360deg); } }

@media (max-width:600px) {
	.lsf-head { flex-direction:column; align-items:stretch; }
	.lsf-msg { max-width:100%; }
}

.lsf-gate { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lsf-gate-card { background:#fff; border:1px solid var(--lsf-border); border-radius:14px; padding:26px 22px; }
.lsf-gate-card h3 { margin:0 0 8px; font-size:18px; }
.lsf-gate-card p { color:var(--lsf-dim); margin:0 0 16px; font-size:14.5px; line-height:1.5; }
.lsf-guest-form label { display:block; font-size:13px; font-weight:600; margin:0 0 12px; }
.lsf-guest-form input { display:block; width:100%; box-sizing:border-box; margin-top:5px; padding:11px 13px; border:1px solid var(--lsf-border); border-radius:10px; font-size:14px; }
.lsf-guest-form input:focus { outline:none; border-color:var(--lsf-rose-1); box-shadow:0 0 0 2px rgba(204,139,185,.22); }
.lsf-guest-err { color:#b14a4a; font-size:13px; margin:0 0 12px; }
.lsf-guest-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; background:#f8e8f1; border:1px solid var(--lsf-border); border-radius:12px; padding:10px 16px; margin-bottom:18px; font-size:14px; }
.lsf-guest-out { background:#fff; border:1px solid var(--lsf-border); border-radius:9px; padding:6px 14px; font-size:13px; cursor:pointer; color:var(--lsf-dim); }
.lsf-guest-out:hover { border-color:var(--lsf-rose-1); color:var(--lsf-rose-2); }
@media (max-width:640px) { .lsf-gate { grid-template-columns:1fr; } }

.lsf-att-label { display:flex; align-items:center; gap:5px; margin:8px 0 4px; font-size:12px; font-weight:500; color:var(--lsf-rose-2); }

.lsf-attach-hint { font-size:11px; color:var(--lsf-dim); margin-left:8px; white-space:nowrap; }
.lsf-att-chip.lsf-att-err { display:inline-flex; align-items:center; padding:6px 11px; background:#f6dede; color:#cc4b4b; border:1px solid #e9b9b9; border-radius:8px; font-size:12px; font-weight:500; }

.lsf-toast--error { background:#cc4b4b !important; }
.lsf-toast--info { background:var(--lsf-rose-2) !important; }

.lsf-modal { position:fixed; inset:0; background:rgba(26,26,26,.5); display:flex; align-items:center; justify-content:center; z-index:100050; padding:20px; }
.lsf-modal-card { background:#fff; border-radius:16px; padding:26px 24px; max-width:420px; width:100%; box-shadow:0 24px 70px rgba(0,0,0,.28); text-align:center; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.lsf-modal-title { margin:0 0 8px; font-family:"Fraunces","Georgia",serif; font-size:21px; font-weight:500; color:#1A1A1A; }
.lsf-modal--error .lsf-modal-title { color:#cc4b4b; }
.lsf-modal--success .lsf-modal-title { color:#3f8d57; }
.lsf-modal-body { margin:0 0 20px; font-size:14px; line-height:1.55; color:#7a6b74; }
.lsf-modal-ok { display:inline-flex; align-items:center; justify-content:center; min-width:130px; padding:11px 24px; border:0; border-radius:10px; background:#CC8BB9; color:#fff; font-size:14px; font-weight:400; cursor:pointer; transition:background .15s; }
.lsf-modal-ok:hover { background:#A66898; }

.lsf-amodal-sym { font: 700 26px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.lsf-amodal .eden-modal__actions { justify-content: center; }
.lsf-amodal .eden-modal__actions button { flex: 0 0 auto !important; min-width: 150px; padding: 9px 22px; }
