/* BLOOPY shared visual system. Native components keep their behavior and public themes keep their colors. */
:root{--bp-ink:#24232c;--bp-muted:#706d7a;--bp-paper:#faf9f6;--bp-purple:#6952bb;--bp-line:#e7e4ed;--bp-lavender:#eeebfa;--bp-radius:26px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bp-paper)!important;color:var(--bp-ink);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) h1,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) h2,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) h3,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) h4{color:var(--bp-ink);font-weight:650;letter-spacing:-.045em;line-height:1.16}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) h1{font-size:clamp(30px,3.5vw,48px)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) h2{font-size:28px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) a{color:var(--bp-purple)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .text-muted{color:var(--bp-muted)!important}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .card,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .modal-content{background:#fff;border:1px solid var(--bp-line)!important;border-radius:var(--bp-radius);box-shadow:0 8px 32px #24232c04;overflow-wrap:anywhere}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .card-body{padding:28px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .card-header{background:transparent;border-bottom:1px solid var(--bp-line);padding:20px 28px;border-radius:var(--bp-radius) var(--bp-radius) 0 0}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn{font-family:inherit;min-height:44px;border-radius:100px;padding:11px 21px;font-size:13px;font-weight:650;line-height:1.5;white-space:normal;box-shadow:none}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-primary{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-primary:hover{background:var(--bp-purple);border-color:var(--bp-purple)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-outline-primary,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-light,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-outline-secondary{background:#fff;color:var(--bp-ink);border:1px solid var(--bp-line)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-outline-primary:hover,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-light:hover{background:var(--bp-lavender);color:var(--bp-purple)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-danger{background:#a23a30;border-color:#a23a30;color:white}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .btn-sm{min-height:36px;padding:7px 14px;font-size:12px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .form-control,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .custom-select{background:#faf9fc;color:var(--bp-ink);border:1px solid var(--bp-line);border-radius:14px;min-height:48px;padding:11px 14px;font-size:14px;box-shadow:none}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) textarea.form-control{height:auto;min-height:110px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .form-control:focus{border-color:var(--bp-purple);box-shadow:0 0 0 3px #6952bb18}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) label{font-size:13px;font-weight:600;margin-bottom:8px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) input[type="checkbox"],html[data-bloopy-shell]:not([data-bloopy-shell="public"]) input[type="radio"]{accent-color:var(--bp-purple)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .input-group-text{background:var(--bp-lavender);border-color:var(--bp-line);border-radius:14px;color:var(--bp-muted)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .dropdown-menu{border:1px solid var(--bp-line);border-radius:18px;padding:8px;box-shadow:0 14px 45px #24232c12}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .dropdown-item{border-radius:10px;color:var(--bp-ink);padding:10px 14px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .dropdown-item:hover{background:var(--bp-lavender);color:var(--bp-purple)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .table{color:var(--bp-ink);font-size:13px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .table td,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .table th{padding:16px;vertical-align:middle;border-color:var(--bp-line)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .table thead th{background:#f3f0f8;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--bp-muted);border-bottom:1px solid var(--bp-line)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .badge{border-radius:100px;padding:7px 10px;font-weight:600}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .badge-primary,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .badge-light{background:var(--bp-lavender);color:var(--bp-purple)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .alert{border-radius:18px;padding:18px 22px;border:1px solid var(--bp-line)}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .alert-success{background:#e5efe8;color:#315d42}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .alert-danger{background:#f8e9e5;color:#8a352e}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .nav-pills .nav-link,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .nav-tabs .nav-link{border-radius:100px;color:var(--bp-muted);padding:10px 18px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .nav-pills .nav-link.active,html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .nav-tabs .nav-link.active{background:var(--bp-lavender);color:var(--bp-purple);border-color:transparent}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .page-link{border-color:var(--bp-line);color:var(--bp-purple);min-width:38px;min-height:38px;border-radius:12px;margin:0 3px}
html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .page-item.active .page-link{background:var(--bp-ink);border-color:var(--bp-ink);color:white}
html[data-bloopy-shell="app"] .navbar-main{background:var(--bp-paper);border-bottom:1px solid var(--bp-line);padding:18px 0}
html[data-bloopy-shell="app"] .navbar-brand img,html[data-bloopy-shell="auth"] .navbar-logo{max-width:120px;max-height:58px;object-fit:contain}
html[data-bloopy-shell="app"] .navbar .nav-link{color:var(--bp-ink);font-size:13px;font-weight:600}
html[data-bloopy-shell="app"] main{min-height:65vh}
html[data-bloopy-shell="auth"] .container.mt-8{margin-top:45px!important;margin-bottom:22px!important}
html[data-bloopy-shell="auth"] .card{max-width:520px;margin:auto}
html[data-bloopy-shell="auth"] .card-title{font-size:34px;letter-spacing:-.05em;margin-bottom:24px}
html[data-bloopy-shell="auth"] .card-body{padding:36px!important}
.bp-eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;color:var(--bp-purple);margin-bottom:14px}
.bp-auth-intro{font-size:15px;color:var(--bp-muted);margin:0 0 22px}.bp-activation-hint{max-width:450px;padding:22px;text-align:center;font-size:13px;color:var(--bp-muted)}
html[data-bloopy-shell="admin"] .admin-sidebar{background:#f4f1f8;border-right:1px solid var(--bp-line);padding:18px 12px}
html[data-bloopy-shell="admin"] .admin-sidebar-title{padding:8px 18px 24px;background:transparent}
html[data-bloopy-shell="admin"] .admin-sidebar-links li{margin:3px 0;border-radius:14px}
html[data-bloopy-shell="admin"] .admin-sidebar-links .nav-link{color:var(--bp-muted);font-size:13px;font-weight:550;padding:12px 10px;border-radius:14px}
html[data-bloopy-shell="admin"] .admin-sidebar-links li.active>.nav-link,html[data-bloopy-shell="admin"] .admin-sidebar-links .nav-link:hover{background:#fff;color:var(--bp-purple);box-shadow:0 3px 14px #24232c04}
html[data-bloopy-shell="admin"] .admin-navbar,html[data-bloopy-shell="admin"] .admin-menu{background:var(--bp-paper);border-bottom:1px solid var(--bp-line)}
html[data-bloopy-shell="admin"] .admin-content{background:var(--bp-paper);min-width:0}
html[data-bloopy-shell="admin"] .admin-content>.p-3{max-width:1500px;margin:auto}
.bp-overview{border:1px solid var(--bp-line);border-radius:28px;background:linear-gradient(125deg,#fff,#f0ecf8);padding:32px;margin-bottom:32px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}.bp-overview h1{max-width:620px}.bp-overview p{color:var(--bp-muted)}.bp-stats{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px}.bp-stats>div{background:#ffffffb0;border:1px solid var(--bp-line);border-radius:18px;padding:18px}.bp-stats strong{display:block;font-size:30px;letter-spacing:-.04em}.bp-stats span{color:var(--bp-muted);font-size:12px}.bp-user-devices{margin-bottom:20px}
html[data-bloopy-shell="public"] .link-btn{border-radius:18px;min-height:48px;font-weight:600}html[data-bloopy-shell="public"] .modal-content{border-radius:24px}html[data-bloopy-shell="public"] .modal-content .form-control{border-radius:14px;min-height:46px}
html[data-bloopy-shell] :focus-visible{outline:3px solid var(--bp-purple);outline-offset:3px}
@media(max-width:767px){html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .card-body{padding:20px}html[data-bloopy-shell="auth"] .card-body{padding:26px 22px!important}html[data-bloopy-shell="auth"] .col-xs-12{width:100%;padding:0}html[data-bloopy-shell="auth"] .container.mt-8{margin-top:26px!important}html[data-bloopy-shell]:not([data-bloopy-shell="public"]) .table td{padding:12px}html[data-bloopy-shell="admin"] .admin-content{width:100%}.bp-overview{padding:22px}.bp-stats{grid-template-columns:repeat(2,1fr);gap:10px}.bp-stats>div{padding:14px}.bp-overview h1{font-size:32px!important}.bp-activation-hint{padding:18px 8px}html[data-bloopy-shell="app"] .navbar-main{padding:12px 0}}
@media(prefers-reduced-motion:reduce){html[data-bloopy-shell] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:992px){html[data-bloopy-shell="app"] .navbar-nav{gap:16px}}
html[data-bloopy-shell="app"] footer{background:#f1eef7!important;color:#55515e!important;border-top:1px solid var(--bp-line);padding-top:28px;padding-bottom:28px}
html[data-bloopy-shell="app"] footer .container,html[data-bloopy-shell="app"] footer .text-muted{color:#686271!important}
html[data-bloopy-shell="app"] footer a{color:#6952bb!important}
