:root{--bms-blue:#087df5;--bms-cyan:#13c7e8;--bms-navy:#071b38;--bms-sidebar:#061a34;--bms-border:rgba(49,132,219,.24);--bms-glow:0 18px 55px rgba(4,69,139,.12);--bs-body-font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
[data-bs-theme=light]{--bs-body-bg:#f3f7fc;--bs-body-color:#102b52;--bms-panel:rgba(255,255,255,.78);--bms-panel-strong:#fff;--bms-muted:#667b98;--bms-input:rgba(247,250,254,.9);--bms-grid:rgba(17,92,174,.08)}
[data-bs-theme=dark]{--bs-body-bg:#061326;--bs-body-color:#e9f2ff;--bms-panel:rgba(8,31,61,.78);--bms-panel-strong:#0b2445;--bms-muted:#91a8c6;--bms-input:rgba(12,42,77,.78);--bms-grid:rgba(72,153,237,.10);--bms-border:rgba(57,151,247,.28);--bms-glow:0 18px 55px rgba(0,0,0,.28)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bs-body-bg);color:var(--bs-body-color);background-image:radial-gradient(circle at 88% 5%,rgba(0,153,255,.14),transparent 25%),linear-gradient(135deg,transparent 0 72%,rgba(0,119,255,.035) 72% 73%,transparent 73%)}a{color:var(--bms-blue);text-decoration:none}.bms-shell{min-height:100vh;display:flex}.bms-sidebar{position:fixed;inset:0 auto 0 0;width:245px;z-index:1030;padding:18px 14px;display:flex;flex-direction:column;color:#dbeaff;background:linear-gradient(180deg,#071e3c,#04172f 75%,#061b36);border-right:1px solid rgba(38,137,238,.25);box-shadow:12px 0 40px rgba(0,34,74,.14)}.bms-brand{display:flex;align-items:center;gap:10px;color:white;padding:4px 8px 20px}.bms-brand-logo{display:block;padding:0 0 18px}.bms-brand-logo img{display:block;width:100%;height:auto;max-height:92px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 16px rgba(0,126,255,.18))}.brand-mark{font-size:32px;color:#0b8cff;text-shadow:0 0 20px rgba(0,149,255,.65)}.bms-brand strong{display:block;font-size:25px;letter-spacing:.04em}.bms-brand small{display:block;font-size:8px;letter-spacing:.14em;color:#9fb9d9}.bms-nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.bms-nav a{color:#d7e6fa;padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:11px;font-size:14px}.bms-nav a:hover,.bms-nav a.active{color:white;background:linear-gradient(90deg,rgba(5,103,224,.8),rgba(10,132,240,.55));box-shadow:inset 0 0 0 1px rgba(61,159,255,.28)}.nav-section{font-size:10px;letter-spacing:.13em;color:#6688ae;margin:15px 12px 4px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:14px 10px 0;display:flex;flex-direction:column;color:#b4cae4;font-size:12px}.sidebar-footer small{color:#6484a8;margin-top:4px}.bms-workspace{margin-left:245px;min-width:0;width:calc(100% - 245px)}.bms-topbar{height:70px;position:sticky;top:0;z-index:1020;display:flex;align-items:center;gap:16px;padding:10px 24px;background:color-mix(in srgb,var(--bms-panel-strong) 84%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--bms-border)}.sidebar-toggle{display:none;color:inherit}.top-search{height:42px;max-width:470px;flex:1;display:flex;align-items:center;gap:9px;padding:0 14px;background:var(--bms-input);border:1px solid var(--bms-border);border-radius:8px}.top-search input{border:0!important;outline:0!important;background:transparent!important;color:inherit;width:100%;box-shadow:none!important}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.theme-button{color:inherit;border:1px solid var(--bms-border);background:var(--bms-panel)}.theme-menu{width:255px;background:var(--bms-panel-strong);border:1px solid var(--bms-border);box-shadow:var(--bms-glow);backdrop-filter:blur(18px)}.theme-title{font-weight:700;padding:8px 12px}.theme-option{display:flex;gap:12px;align-items:center;border-radius:8px;padding:9px 10px}.theme-option>span:first-child{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(8,125,245,.12);color:var(--bms-blue)}.theme-option span:last-child{display:flex;flex-direction:column}.theme-option small{font-size:11px;color:var(--bms-muted)}.theme-option.active{background:rgba(8,125,245,.13);color:var(--bms-blue)}.user-chip{display:flex;align-items:center;gap:9px}.user-chip b,.user-chip small{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{font-size:10px;color:var(--bms-muted)}.user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#315b8d,#122c4c);color:white;border:1px solid rgba(255,255,255,.15)}.bms-main{max-width:1500px;margin:auto;padding:28px}.bms-footer{text-align:center;padding:22px;color:var(--bms-muted);font-size:12px}.card{background:var(--bms-panel);border:1px solid var(--bms-border);border-radius:11px;box-shadow:var(--bms-glow);backdrop-filter:blur(16px);padding:20px;margin:15px 0}.card h2,.card h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}.grid .card{margin:0}.big{font-size:34px;font-weight:750;color:var(--bms-blue)}label{display:block;margin:10px 0}.form-control,.form-select{background-color:var(--bms-input);border-color:var(--bms-border);color:var(--bs-body-color);min-height:42px}.form-control:focus,.form-select:focus{background-color:var(--bms-input);color:var(--bs-body-color);border-color:#238ef5;box-shadow:0 0 0 .2rem rgba(13,126,245,.12),0 0 20px rgba(0,145,255,.08)}textarea.form-control{width:100%}.btn-primary{--bs-btn-bg:#087df5;--bs-btn-border-color:#168cf7;--bs-btn-hover-bg:#006fe0;box-shadow:0 7px 18px rgba(8,125,245,.18)}table{--bs-table-bg:transparent!important;--bs-table-color:var(--bs-body-color)!important;margin-bottom:0!important}th{font-size:12px;color:var(--bms-muted)!important;background:rgba(39,111,188,.08)!important}td,th{border-color:var(--bms-border)!important;padding:11px!important}.table-responsive{border-radius:9px}.inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline .form-control,.inline .form-select{width:auto;flex:1 1 170px}.tabs{display:flex;gap:.5rem;margin:0 0 1rem}.tabs a{padding:.6rem .9rem;background:var(--bms-panel);border:1px solid var(--bms-border);border-radius:8px}.error,.notice,.ok{padding:12px 14px;border-radius:8px}.error{color:#dc3545;background:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.3)}.ok,.notice{color:#079b67;background:rgba(7,155,103,.1);border:1px solid rgba(7,155,103,.28)}.muted{color:var(--bms-muted);font-size:.9rem}.wide,fieldset{grid-column:1/-1}.check{display:inline-block;margin-right:1rem}.login-stage{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#061a34,#0b315d)}.login-stage .card,.login-stage .narrow{width:min(430px,100%);background:rgba(255,255,255,.96);color:#102b52;border:1px solid rgba(70,161,255,.35);border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:28px}.narrow{max-width:430px}.login-stage input{background:#f6f9fd;color:#102b52}.login-stage:before{content:"BMS";position:fixed;top:45px;color:white;font-size:38px;font-weight:800;letter-spacing:.08em}
@media(max-width:900px){.bms-sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .bms-sidebar{transform:none}.bms-workspace{margin-left:0;width:100%}.sidebar-toggle{display:block}.bms-main{padding:18px}.top-search{display:none}.user-chip span:last-child{display:none}}
@media(max-width:600px){.bms-topbar{padding:10px 12px}.bms-main{padding:14px}.grid{grid-template-columns:1fr}.top-actions{gap:6px}.inline>*{width:100%!important}.card{padding:15px}}
/* Template HTML editor */
.html-editor-shell{border:1px solid var(--bms-border);border-radius:11px;overflow:hidden;background:var(--bms-input);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.ql-toolbar.ql-snow{border:0;border-bottom:1px solid var(--bms-border);background:color-mix(in srgb,var(--bms-panel-strong) 88%,transparent);padding:10px}.ql-container.ql-snow{border:0;color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:15px}.ql-editor{min-height:330px;background:color-mix(in srgb,var(--bms-input) 94%,transparent)}.ql-editor.ql-blank:before{color:var(--bms-muted);font-style:normal}.ql-snow .ql-stroke{stroke:var(--bs-body-color)}.ql-snow .ql-fill{fill:var(--bs-body-color)}.ql-snow .ql-picker{color:var(--bs-body-color)}.ql-snow .ql-picker-options{background:var(--bms-panel-strong);border-color:var(--bms-border)!important;box-shadow:var(--bms-glow)!important}.ql-snow .ql-picker-label:hover,.ql-snow button:hover,.ql-snow button.ql-active,.ql-snow .ql-picker-label.ql-active{color:var(--bms-blue)}.ql-snow button:hover .ql-stroke,.ql-snow button.ql-active .ql-stroke{stroke:var(--bms-blue)}.ql-snow button:hover .ql-fill,.ql-snow button.ql-active .ql-fill{fill:var(--bms-blue)}
.code-editor{min-height:430px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.55;tab-size:2}.crystal-modal{background:color-mix(in srgb,var(--bms-panel-strong) 94%,transparent);border:1px solid var(--bms-border);box-shadow:0 30px 90px rgba(0,0,0,.35);backdrop-filter:blur(20px)}.crystal-modal .modal-header,.crystal-modal .modal-footer{border-color:var(--bms-border)}.preview-stage{background:repeating-linear-gradient(45deg,rgba(120,140,160,.08),rgba(120,140,160,.08) 10px,transparent 10px,transparent 20px);padding:22px}.preview-stage iframe{display:block;width:min(900px,100%);height:620px;margin:auto;border:0;border-radius:8px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.18)}.merge-field{--bs-btn-padding-y:.22rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.75rem}.template-builder-card .form-text{color:var(--bms-muted)}
[data-bs-theme=dark] .ql-snow .ql-picker-options{color:#e9f2ff}

/* v0.4.4 Template management actions */
.template-management-row { min-width: 430px; }
.template-management-row .template-group-select { width: 190px; margin-right: auto; }
.template-management-row .btn { white-space: nowrap; }
@media (max-width: 767.98px) {
  .template-management-row { min-width: 0; justify-content: flex-start !important; }
  .template-management-row .template-group-select { width: 100%; margin-right: 0; }
}
/* v0.4.5 Global search */
.top-search{position:relative;overflow:visible}.global-search-results{position:absolute;top:calc(100% + 9px);left:0;width:min(620px,80vw);max-height:480px;overflow:auto;z-index:1080;background:color-mix(in srgb,var(--bms-panel-strong) 97%,transparent);border:1px solid var(--bms-border);border-radius:11px;box-shadow:0 22px 60px rgba(0,0,0,.24);backdrop-filter:blur(20px);padding:6px}.global-search-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;color:var(--bs-body-color);border-bottom:1px solid color-mix(in srgb,var(--bms-border) 55%,transparent)}.global-search-item:last-of-type{border-bottom:0}.global-search-item:hover{background:rgba(8,125,245,.11);color:var(--bs-body-color)}.global-search-type{flex:0 0 68px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--bms-blue);font-weight:700;padding-top:3px}.global-search-copy{min-width:0;display:block}.global-search-copy strong,.global-search-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-copy small{color:var(--bms-muted);font-size:11px;margin-top:2px}.global-search-all{display:block;text-align:center;padding:10px;color:var(--bms-blue);font-weight:600}.global-search-empty{padding:18px;text-align:center;color:var(--bms-muted)}.search-results-list .list-group-item{background:transparent;color:var(--bs-body-color);border-color:var(--bms-border);padding:14px}.search-results-list .list-group-item:hover{background:rgba(8,125,245,.08);color:var(--bs-body-color)}.search-type-badge{min-width:76px;margin-top:2px}

/* v0.4.6 favorites */
.favorite-select-wrap{display:flex;align-items:stretch;gap:.4rem;min-width:0}.favorite-select-wrap>.form-select{min-width:0;flex:1 1 auto}.select-favorite-btn{flex:0 0 2.5rem;padding:.25rem .55rem;font-size:1.15rem;line-height:1}.favorite-toggle{font-size:1.25rem;text-decoration:none!important;color:var(--bs-secondary-color)}.favorite-toggle.text-warning{filter:drop-shadow(0 0 5px rgba(255,193,7,.25))}
