:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --accent:#0f172a;
  --accent-2:#1d4ed8;
  --success:#166534;
  --error:#b91c1c;
  --shadow:0 12px 30px rgba(15,23,42,.08);
  --radius:20px;
}
*{box-sizing:border-box}
body.dbell-body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f8fafc 0,#eef4ff 100%);color:var(--text)}
a{text-decoration:none}
img{max-width:100%;display:block}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
code{word-break:break-all}

.dbell-app-wrap,.dbell-public-wrap,.dbell-auth-shell{width:min(100%,1160px);margin:0 auto;padding:24px}
.dbell-topbar,.dbell-hero-grid,.dbell-content-grid,.dbell-public-grid,.dbell-auth-panels{display:grid;gap:20px}
.dbell-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-bottom:20px}
.dbell-top-actions,.dbell-public-actions,.dbell-unit-actions,.dbell-form-row{display:flex;gap:12px;flex-wrap:wrap}
.dbell-form-row input[type="file"]{flex:1 1 260px}
.dbell-form-row input:not([type="file"]){flex:1 1 320px}
.dbell-form-row .dbell-btn{flex:0 0 auto}
.dbell-hero-grid{grid-template-columns:1.2fr .8fr;margin-bottom:20px}
.dbell-content-grid{grid-template-columns:.95fr 1.05fr;align-items:start}
.dbell-public-grid{grid-template-columns:.8fr 1.2fr}
.dbell-auth-shell{min-height:calc(100vh - 40px);display:grid;align-items:center}
.dbell-auth-card{display:grid;gap:20px}
.dbell-auth-panels{grid-template-columns:1fr 1fr}
.dbell-column{display:grid;gap:20px}

.dbell-card,.dbell-auth-card{background:var(--card);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius);box-shadow:var(--shadow)}
.dbell-card{padding:24px}
.dbell-card.compact{padding:22px}
.dbell-card h1,.dbell-card h2,.dbell-card h3,.dbell-auth-card h1,.dbell-auth-card h2{margin:0 0 10px;line-height:1.08}
.dbell-card h1,.dbell-auth-card h1{font-size:clamp(2rem,3vw,3rem)}
.dbell-card h2{font-size:1.45rem}
.dbell-card h3{font-size:1.05rem}
.dbell-helper,.dbell-muted{color:var(--muted);margin:0}
.dbell-brand-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#e0e7ff;color:#3730a3;font-weight:700;font-size:.8rem;margin-bottom:14px}
.dbell-topbar > div:first-child,.dbell-card h1,.dbell-user-title{min-width:0}
.dbell-user-title{margin:0;font-size:clamp(1.2rem,2.4vw,2rem);line-height:1.15;overflow-wrap:anywhere}
.dbell-app-wrap{overflow-x:hidden}
.dbell-top-actions{justify-content:flex-end}

.dbell-section-head,.dbell-unit-top,.dbell-session-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dbell-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.dbell-kpis div{padding:16px;border-radius:16px;background:#eff6ff;border:1px solid #dbeafe}
.dbell-kpis strong{display:block;font-size:1.5rem}
.dbell-kpis span{display:block;color:#475569;font-size:.9rem;margin-top:6px}
.dbell-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#0f172a;color:#fff;font-size:.76rem;font-weight:700;white-space:nowrap}
.dbell-pill.soft{background:#e2e8f0;color:#334155}

.dbell-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:14px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-weight:700;min-height:48px}
.dbell-btn:hover{filter:brightness(1.03)}
.dbell-btn.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}
.dbell-btn.ghost-dark{background:#1d4ed8;color:#fff}
.dbell-btn.text{background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}
.dbell-btn.xl{padding:16px 22px;font-size:1rem}

.dbell-form-grid{display:grid;gap:12px}
.dbell-unit-grid,.dbell-session-list{display:grid;gap:12px}
.dbell-unit-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}
.dbell-session{display:grid;gap:6px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:16px;cursor:pointer}
.dbell-session.active{border-color:#93c5fd;background:#eff6ff}
.dbell-session-name{font-weight:700}

.conversation-card{min-height:560px;display:grid;grid-template-rows:auto 1fr auto auto;gap:14px}
.dbell-messages{display:grid;gap:12px;align-content:start;max-height:420px;overflow:auto;padding-right:4px}
.dbell-message{max-width:80%;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.03)}
.dbell-message.me{justify-self:end;background:#0f172a;color:#fff;border-color:#0f172a}
.dbell-message p{margin:0;white-space:pre-wrap}
.dbell-message small{display:block;margin-top:8px;opacity:.75;font-size:.78rem}
.dbell-message img{border-radius:12px;max-height:260px;object-fit:cover}
.dbell-empty-inline{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:#f8fafc}

.public-card-hero{margin-bottom:20px;background:linear-gradient(135deg,#0f172a 0,#1d4ed8 100%);color:#fff}
.public-card-hero p{color:rgba(255,255,255,.88)}
.public-card-hero .dbell-brand-badge{background:rgba(255,255,255,.16);color:#fff}
.primary-card{background:linear-gradient(180deg,#ffffff 0,#f8fbff 100%)}

.dbell-modal{position:fixed;inset:0;background:rgba(15,23,42,.52);display:grid;place-items:center;padding:24px;z-index:9999}
.dbell-modal[hidden]{display:none}
.dbell-modal-card{background:#fff;max-width:560px;width:min(100%,560px);border-radius:22px;padding:24px;position:relative;border:1px solid var(--line);box-shadow:var(--shadow)}
.dbell-modal-close{position:absolute;right:10px;top:10px;border:none;background:#f1f5f9;border-radius:999px;width:40px;height:40px;font-size:1.4rem;cursor:pointer}
.dbell-qr-wrap{text-align:center;display:grid;gap:12px}
.dbell-qr-svg svg{max-width:100%;height:auto}

#dbell-toast-wrap{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:10000}
.dbell-toast{min-width:260px;max-width:360px;padding:14px 16px;border-radius:14px;color:#fff;box-shadow:var(--shadow);background:#334155}
.dbell-toast.success{background:var(--success)}
.dbell-toast.error{background:var(--error)}
.dbell-toast.info{background:#1d4ed8}

@media (max-width:1100px){
  .dbell-content-grid,.dbell-hero-grid,.dbell-public-grid,.dbell-auth-panels,.dbell-topbar{grid-template-columns:1fr}
  .dbell-top-actions{justify-content:flex-start}
}
@media (max-width:720px){
  .dbell-app-wrap,.dbell-public-wrap,.dbell-auth-shell{padding:14px}
  .dbell-card{padding:18px}
  .conversation-card{min-height:unset}
  .dbell-btn,.dbell-form-row .dbell-btn{width:100%}
  .dbell-form-row{display:grid}
  .dbell-top-actions{display:grid}
  .dbell-message{max-width:92%}
  #dbell-toast-wrap{left:14px;right:14px;bottom:14px}
  .dbell-toast{max-width:none;min-width:0}
}
