/* Phase 1 shell uses existing theme tokens and preserves all tool controls. */
body.fc-workspace{background:var(--tenant-page,var(--bg,#0b101a));--text:var(--tenant-text,#e7edf7)}
.fc-shell120{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:calc(100vh - var(--fc-header-height,70px))}
.fc-side120{border-right:1px solid var(--line);background:var(--tenant-nav,var(--nav,#101622));padding:28px 16px;position:sticky;top:var(--fc-header-height,70px);height:calc(100vh - var(--fc-header-height,70px));display:flex;flex-direction:column;gap:18px;overflow:auto}
.fc-side120 .fc-workspace-name{font-weight:700;font-size:15px;padding:0 10px;overflow-wrap:anywhere}.fc-side120 .eyebrow{font-size:10px}.fc-side120 nav{display:grid;gap:5px}.fc-side120 a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:var(--muted);font-size:14px}.fc-side120 a:hover{background:var(--panel);color:var(--text)}.fc-side120 a[aria-current=page]{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-weight:650}.fc-side120 .nav-icon{font-size:17px;width:20px;text-align:center}.fc-side120 footer{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.fc-side120 footer a{padding:7px 10px}
.fc-main120{width:100%;max-width:1600px;padding:28px 34px;margin:0 auto;min-width:0}.fc-main120 h1{font-size:28px;letter-spacing:-.7px;margin-bottom:8px}.fc-main120 .page-head{align-items:center}.fc-main120 .card{border-radius:12px}.fc-main120 .two{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}.fc-sub120{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.fc-sub120 a{font-size:13px;padding:8px 12px;border-radius:8px;color:var(--muted)}.fc-sub120 a[aria-current=page]{background:var(--panel);color:var(--accent)}.fc-sub120 a:hover{color:var(--text)}
.fc-stats120{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.fc-stats120 .card{margin:0;padding:18px}.fc-stats120 strong{font-size:26px;display:block;margin:8px 0}.fc-stats120 small{font-size:12px}.fc-hero120{border:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));padding:28px;border-radius:14px}.fc-hero120 h2{font-size:27px;max-width:600px}.fc-hero120 p{max-width:650px;color:var(--muted)}.fc-gallery120{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.fc-tile120{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.fc-tile120 .tile-content{padding:18px}.fc-tile120 p{font-size:13px;line-height:1.7;min-height:44px;color:var(--muted)}.fc-tile120 h3{margin:0}.fc-art120{height:130px;padding:24px;background:linear-gradient(145deg,#24223e,#131b2d);color:#d6c6ff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-size:27px}.fc-art120 .bar{height:15px;border-radius:99px;background:#ffffff18;width:100%;overflow:hidden}.fc-art120 .bar i{display:block;height:100%;background:linear-gradient(90deg,#9065df,#60d6c4);width:64%;border-radius:99px}.fc-art120 small{font-size:12px;color:#bdc1d3}.fc-goal-preview120{padding:18px;border:1px solid var(--line);border-radius:12px;margin:14px 0;overflow:auto;max-width:100%}.fc-goal-preview120 .bar{overflow:hidden;border-radius:99px}.fc-goal-preview120 .bar i{height:100%;display:block;transition:width .2s}.fc-tile120 .row .button,.fc-tile120 .row button{font-size:12px}.fc-empty120{grid-column:1/-1;padding:36px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.fc-mobile120{display:none}.fc-audio120{position:fixed;bottom:16px;right:16px;z-index:20;max-width:290px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 28px #0005}.fc-audio120 button{font-size:12px}.fc-audio120 small{display:block;margin:6px 0;overflow-wrap:anywhere}.fc-main120 label input,.fc-main120 label select{min-width:0}.fc-main120 .grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}.fc-main120 .overlay-picker{max-width:100%;flex-wrap:wrap}.fc-main120 .overlay-workspace{min-width:0}.fc-main120 .overlay-workspace iframe{max-width:100%}.fc-sound120{border:1px solid var(--line);padding:18px;border-radius:10px;margin-bottom:16px}.fc-support-toolbar120{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fc-ticket120{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}.fc-ticket120 p{margin:7px 0}.fc-admin120 .subnav{gap:6px;flex-wrap:wrap}.fc-admin120 .subnav button{font-size:12px;padding:9px 12px}
@media(max-width:1100px){.fc-main120{padding:24px}.fc-shell120{grid-template-columns:200px minmax(0,1fr)}.fc-main120 .two{grid-template-columns:1fr}.fc-stats120{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.fc-shell120{display:block}.fc-side120{display:none;position:fixed;top:var(--fc-header-height,70px);left:0;width:250px;height:calc(100dvh - var(--fc-header-height,70px));z-index:40;box-shadow:14px 0 40px #0009}.fc-shell120.menu-open .fc-side120{display:flex}.fc-mobile120{display:inline-flex}.fc-main120{padding:18px 14px}.fc-main120 h1{font-size:23px}.fc-main120 .page-head{gap:10px;flex-wrap:wrap}.fc-main120 .page-head .button{font-size:12px}.fc-stats120{gap:10px}.fc-stats120 .card{padding:14px}.fc-hero120{padding:20px}.fc-hero120 h2{font-size:23px}.fc-sub120{gap:3px}.fc-sub120 a{padding:8px;font-size:12px}.fc-main120 .fields{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.fc-audio120{max-width:calc(100vw - 28px);right:14px}.fc-ticket120{grid-template-columns:1fr}.fc-main120 .overlay-workspace{display:block}}
@media(prefers-reduced-motion:reduce){.fc-goal-preview120 .bar i{transition:none}}
.fc-admin-nav120{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-start;margin-bottom:1.5rem}.fc-admin-nav120 details{background:var(--panel,#172133);border:1px solid var(--line,#344155);padding:.7rem 1rem;border-radius:12px}.fc-admin-nav120 summary{cursor:pointer;font-weight:600}.fc-admin-nav120 details[open]{flex:1 0 100%}.fc-admin-nav120 .row{padding-top:.7rem}.fc-admin120 main{max-width:1500px;margin:auto}

@media(max-width:760px){body.fc-workspace #app>header{height:auto;min-height:70px;padding:12px 16px;gap:8px}.fc-side120>.fc-mobile120{align-self:flex-end;min-height:36px}}
