/* Shared FT shell, using the same sidebar/content arrangement as the MFT panel. */
body.ft-shell{--bg:#f4f6fa;--ink:#18243b;--text:#18243b;--muted:#718099;--line:#e0e6f0;--radius:16px;background:var(--bg);color:var(--ink)}
.ft-shell .topbar{background:linear-gradient(165deg,#1b2742,#111b2f);color:#c3cce0}
.ft-shell .brand-logo,.ft-shell .menu-brand img{mix-blend-mode:screen}
.ft-shell .topbar nav a{display:flex;align-items:center;gap:14px;border-radius:11px;font-weight:650;color:#c3cce0;transition:background .15s,color .15s}
.ft-shell .topbar nav a:hover{background:#ffffff0d;color:white;transform:none}
.ft-shell .topbar nav a[aria-current=page]{background:#dc3b8626;color:#fff;box-shadow:inset 3px 0 #dd3d85}
.ft-shell .topbar nav a[aria-current=page] .shell-icon{color:#ef83b3}
.ft-shell .shell-icon{width:18px;height:18px;flex:0 0 18px}
.ft-shell .shell-label{flex:1;min-width:0}
.ft-shell .topbar .nav-count{margin-left:auto;flex-shrink:0;font-size:11px;min-width:23px;height:23px;background:#dc3b86}
.ft-shell .card{border:1px solid #e2e7f0;border-radius:16px;box-shadow:0 9px 30px #15233d06}
.ft-shell .page-head h1{color:#19253d;letter-spacing:-1.1px}
.ft-shell a:focus-visible,.ft-shell button:focus-visible{outline:3px solid #cf4b8b;outline-offset:3px}
.ft-shell .btn{border-radius:11px}
.ft-shell .btn.secondary,.ft-shell .btn.ghost{border:1px solid #dae2ef}
.ft-shell .userbox{border-top:1px solid #ffffff14;padding-top:18px;color:#e7ecf6}
@media(min-width:901px){
 body.ft-shell{--shell-width:248px;padding-left:var(--shell-width)}
 body.ft-shell .topbar{position:fixed!important;inset:0 auto 0 0;width:var(--shell-width);height:100dvh;padding:24px 12px 18px;display:flex;flex-direction:column;align-items:stretch;gap:24px;box-shadow:none;z-index:40}
 .ft-shell .topbar>.brand{display:flex;justify-content:center;flex-shrink:0;padding:0 16px;height:144px}
 .ft-shell .brand-logo{width:144px;height:144px;object-fit:contain}
 .ft-shell .site-menu{display:flex;flex-direction:column;min-height:0;flex:1;gap:20px}
 .ft-shell .topbar .site-menu nav{display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden;flex:1;width:100%;align-content:start}
 .ft-shell .topbar .site-menu nav a{padding:13px 17px;min-height:46px;white-space:normal;font-size:14px;flex-shrink:0}
 .ft-shell .topbar .userbox{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0;padding:18px 12px 0;flex-shrink:0;overflow-wrap:anywhere}
 .ft-shell .userbox span{font-size:13px}.ft-shell .userbox small{font-size:12px;opacity:.8}.ft-shell .userbox a{padding:4px 0;opacity:.9}
 body.ft-shell main.container{width:100%!important;max-width:none!important;margin:0!important;padding:40px clamp(24px,4.8vw,92px) 64px!important;min-width:0;min-height:100dvh}
 .ft-shell .page-head{margin-bottom:24px}.ft-shell .page-head h1{font-size:36px}
 .ft-shell .calendar-card{padding:0;overflow:hidden}
 .ft-shell .calendar-grid{gap:0}
 .ft-shell .cal-head{background:#fafbfe;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:12px;text-transform:uppercase;font-size:12px}
 .ft-shell .cal-day{border-radius:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:150px;padding:16px;background:white}
 .ft-shell .cal-day.off{background:#f7f8fb}.ft-shell .cal-day.today{box-shadow:inset 0 0 0 2px #edb2cd;background:#fffafd}
 .ft-shell .cal-day.today .cal-num{color:#be286b}.ft-shell .cal-num{font-size:13px}
 .ft-shell .cal-head:nth-child(7n),.ft-shell .cal-day:nth-child(7n){border-right:0}
 .ft-shell .menu-brand-row,.ft-shell .menu-toggle,.ft-shell .menu-close,.ft-shell .menu-backdrop,.ft-shell .bottom-nav{display:none!important}
}
@media(min-width:901px) and (max-width:1200px){body.ft-shell{--shell-width:214px}body.ft-shell main.container{padding:28px 24px 48px!important}.ft-shell .today-shell{grid-template-columns:1fr}.ft-shell .page-head h1{font-size:30px}}
@media(max-width:900px){
 .ft-shell .site-menu{background:linear-gradient(165deg,#1b2742,#111b2f)}
 .ft-shell .topbar .site-menu nav a{font-size:15px;padding:13px}
 .ft-shell .topbar .site-menu .userbox{align-items:flex-start;padding-top:18px}
 .ft-shell .bottom-nav a[aria-current=page]{color:#ba2b6e}
 .ft-shell .page-head h1{font-size:28px}.ft-shell .card{border-radius:16px}
}

.rental-section{border:1px solid #cdd9ed;border-radius:14px;padding:14px;background:#f5f8fe;margin:12px 0}.rental-section>summary.btn{display:list-item;list-style-position:inside;cursor:pointer;width:100%;padding:13px 16px;text-align:left;font-weight:700;background:#e7efff;color:#164886}.rental-section[open]>summary{border-bottom:1px solid #cdd9ed}
