/* Structural styles used by the shared DMS theme. */
html,body{margin:0;min-height:100%}
button,input,select{font:inherit}
button{cursor:pointer}
.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.main{min-width:0;grid-column:2;grid-row:1}
.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;color:#d9e5f1}
.brand{display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.1)}
.brand h1{margin:0}.brand p{margin:2px 0 0}
.nav{overflow:auto;min-height:0;padding:14px 10px 22px}
.nav-title{display:block;margin:13px 0 4px;padding:0 10px;font-size:9px;font-weight:800;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}
.nav-title:first-child{margin-top:2px}
.nav-item{position:relative;display:flex!important;align-items:center;gap:10px;min-height:38px;padding:9px 11px!important;border-radius:8px;font-size:12.5px;font-weight:650;line-height:1.2;text-decoration:none!important}
.nav-item .ico{width:18px;min-width:18px;font-size:16px;line-height:1;text-align:center}
.profile{margin-top:auto;display:flex;gap:11px;align-items:center;flex-shrink:0}
.avatar{display:grid;place-items:center;border-radius:50%;font-weight:700}
.profile b{display:block}
.content{margin:0 auto}
.tools{display:flex;gap:8px;flex-wrap:wrap}
.field{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:white;color:var(--ink)}
.btn{border:1px solid transparent;border-radius:8px;padding:9px 13px;font-weight:700;text-decoration:none;text-align:center}
#loyaltyRoot>button{justify-self:start}
.overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(26,26,26,.52)}
.overlay.show{display:flex}
.modal{max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(26,26,26,.18)}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}
.modal-head h3{margin:0;font-size:16px}
.modal-body{padding:16px 18px;overflow:auto}
.close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.toast{position:fixed;right:22px;bottom:22px;z-index:1100;display:none;gap:3px;min-width:280px;max-width:min(420px,calc(100vw - 32px));padding:13px 15px;border-radius:10px;color:white;box-shadow:0 12px 30px rgba(26,26,26,.16)}
.toast.show{display:grid}.toast b{font-size:12px}.toast span{color:inherit;font-size:11px}
.lv-manage-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.lv-manage-summary b{color:var(--ink)}
@media(max-width:760px){.app{display:block}.sidebar{display:none}.main{width:100%}.overlay{padding:12px}}
