[hidden]{display:none!important}
:root{font-family:"CONVOCO Text",system-ui,-apple-system,Segoe UI,sans-serif;color:#040404;background:#f5f7f7;--accent:#298b87;--border:#e3e8e8;--muted:#69797a;--shadow:0 4px 35px rgba(24,46,49,.045)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.shell{min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:17px;padding:0 34px}.brand{text-decoration:none;font-size:24px;font-weight:850;letter-spacing:-1.5px;color:#040404}.brand span{color:#4c9c96}.brand strong{color:#257a74}.sub-brand{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-left:1px solid var(--border);padding-left:18px}.version{color:#689d96}.top-actions{margin-left:auto;display:flex;gap:20px;align-items:center}.small-link{text-decoration:none;color:var(--accent);font-size:13px;font-weight:650}.studio{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{display:flex;flex-direction:column;gap:25px;padding:34px 24px;background:#fff;border-right:1px solid var(--border)}.sidebar-head h2{font-size:20px;margin:8px 0 0}.kicker{color:#68928d;font-size:10px;font-weight:820;letter-spacing:.14em}.sidebar-section{display:grid;gap:10px}.label{font-size:11px;font-weight:760;letter-spacing:.08em;text-transform:uppercase;color:#65787a}.control,.field{border:1px solid #dce4e5;background:#fff;color:#253638;border-radius:10px;padding:10px 11px;min-height:42px;width:100%}.control:focus,.field:focus{outline:2px solid #82b7b1;outline-offset:1px}.btn{padding:11px 17px;border-radius:10px;border:1px solid transparent;background:none;color:#173c39;font-weight:710;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:6px;transition:background .12s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:#298b87;color:#fff}.btn.primary:hover{background:#1c6f6b}.btn.secondary{border-color:#d9e4e3;background:#f7faf9}.btn.secondary:hover{background:#ebf4f2}.btn.ghost{border-color:transparent}.btn.ghost:hover{background:#f0f5f4}.full{width:100%}.circle-btn{background:#edf5f3;color:#21635d;border:0;border-radius:100px;width:32px;height:32px;font-size:20px;display:inline-grid;place-items:center;cursor:pointer}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between}.profile-list{display:grid;gap:6px}.profile-choice{padding:12px;border:1px solid transparent;border-radius:12px;background:none;width:100%;text-align:left;display:flex;align-items:center;gap:11px;cursor:pointer;color:#223737}.profile-choice:hover{background:#f3f8f7}.profile-choice.active{border-color:#b7d8d3;background:#ecf7f5}.profile-choice strong{display:block;font-size:13px}.profile-choice small{display:block;color:var(--muted);margin-top:2px;font-size:11px}.avatar{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#e4f2ef;color:#298b87;font-weight:760}.empty-small,.muted{color:var(--muted)}.small{font-size:12px}.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.workspace{min-width:0;padding:36px clamp(18px,3vw,46px)}.workspace-head{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:8px}.workspace-head h1{font-size:clamp(22px,2.8vw,32px);letter-spacing:-.04em;margin:6px 0}.workspace-head p{font-size:13px;margin:0}.workspace-head a{text-decoration:none;color:#246e67}.tier{display:inline-block;border-radius:20px;background:#e4f3ef;color:#21645d;font-weight:700;font-size:10px;padding:5px 9px;margin-left:9px;text-transform:uppercase}.head-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.status{color:#54726f;font-size:12px;margin:10px 0 20px;min-height:18px}.status.changed{color:#a26026}.editor-layout{display:grid;grid-template-columns:minmax(320px,1fr) 330px;gap:26px;align-items:start;max-width:1280px}.panel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px}.panel h2,.preview-head h2{font-size:17px;margin:0 0 19px;letter-spacing:-.015em}.swatch-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650}.swatch-label input{width:62px;height:38px;border:0;background:none;cursor:pointer}.panel-title{display:flex;align-items:center;justify-content:space-between}.blocks{display:grid;gap:13px}.block{border:1px solid #dde5e5;border-radius:13px;overflow:hidden;background:#fff}.block-header{display:flex;gap:8px;align-items:center;padding:12px 14px;background:#f7f9f9}.block-title{font-size:13px;font-weight:760;flex:1}.block-actions{display:flex;align-items:center;gap:6px}.icon-btn{border:1px solid #e0e7e6;border-radius:8px;background:white;padding:4px 9px;cursor:pointer;font-size:13px;min-width:29px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.danger{color:#a03d47}.block-content{display:grid;gap:12px;padding:16px}.edit-field{display:grid;gap:6px}.edit-field label{font-size:11px;font-weight:730;color:#607576}.field{font-size:13px;min-height:39px}.field.long{min-height:90px;resize:vertical}.block-disabled .block-content{opacity:.48}.list-editor{display:grid;gap:10px}.list-row{background:#fafcfc;border:1px solid var(--border);padding:10px;border-radius:10px;display:grid;gap:7px}.list-row .row-title{display:flex;align-items:center;justify-content:space-between}.add-modules{border-top:1px solid var(--border);padding-top:20px;margin-top:20px;display:grid;gap:7px}.inline-controls{display:flex;gap:8px}.inline-controls .control{flex:1;min-width:0}.preview-column{position:sticky;top:25px}.preview-head{display:flex;justify-content:space-between;align-items:baseline}.phone{border:8px solid #17252a;border-radius:42px;background:#fff;box-shadow:0 20px 50px rgba(19,38,41,.13);height:min(670px,78vh);overflow:auto;position:relative}.phone-notch{height:17px;width:95px;background:#17252a;border-radius:0 0 12px 12px;position:sticky;top:0;z-index:2;margin:auto}.preview{font:13px/1.55 system-ui,Arial,sans-serif;background:#fff;min-height:100%;padding-bottom:20px}.preview-hero{background:#298b87;color:#fff;padding:31px 20px 25px}.preview-hero h2{font-size:21px;margin:4px 0}.preview-hero p{opacity:.9;margin:0}.preview-section{padding:15px 17px;border-bottom:1px solid #edf0f0}.preview-section h3{font-size:15px;margin:0 0 10px}.preview-section p{color:#506567;margin:6px 0}.preview-link{display:block;padding:8px 10px;border-radius:9px;color:#298b87;border:1px solid #d9e6e4;margin:6px 0;text-decoration:none}.preview-image{width:100%;max-height:160px;object-fit:cover;border-radius:11px;margin:5px 0}.preview-item{padding:7px 0;border-bottom:1px solid #edf0f0}.preview-foot{color:#7b8b8d;text-align:center;font-size:11px;margin-top:14px}.empty-workspace{max-width:490px;margin:11vh auto;text-align:center}.empty-workspace h1{font-size:27px;letter-spacing:-.03em}.empty-workspace p{color:var(--muted);line-height:1.7}.empty-icon{font-size:60px;color:#82b8af}.toast{position:fixed;bottom:24px;right:24px;background:#040404;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:0 8px 32px #1f393a35;z-index:11;font-size:13px}.toast.error{background:#803f42}.dialog{border:0;border-radius:20px;width:min(500px,calc(100vw - 34px));box-shadow:0 25px 90px #172a2f3d;padding:24px;background:white;max-height:90vh;overflow:auto}.dialog::backdrop{background:#0b22278c}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:19px}.dialog #dialogContent{display:grid;gap:14px;margin:16px 0}.dialog .edit-field{gap:7px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);padding-top:17px}.error{color:#a2383c;font-size:13px}.welcome{text-align:center;max-width:430px;margin:12vh auto}.welcome h1{font-size:29px}@media(max-width:1160px){.editor-layout{grid-template-columns:minmax(0,1fr) 290px}.workspace{padding:27px 20px}.sidebar{padding:28px 16px}}@media(max-width:960px){.studio{grid-template-columns:230px minmax(0,1fr)}.editor-layout{grid-template-columns:1fr}.preview-column{position:static;width:min(100%,360px);margin:0 auto}.phone{height:600px}.head-actions{justify-content:flex-start}.workspace-head{align-items:start;flex-direction:column}}@media(max-width:640px){.topbar{padding:0 16px;height:64px}.top-actions .muted{display:none}.studio{display:block}.sidebar{border-bottom:1px solid var(--border);border-right:0;padding:16px;gap:14px}.sidebar-head h2{margin:3px 0;font-size:18px}.sidebar-section{gap:6px}.profiles-section{max-height:220px;overflow-y:auto}.sidebar-bottom{margin:0}.workspace{padding:20px 14px}.workspace-head h1{font-size:24px}.head-actions .btn{padding:9px 12px}.panel{padding:16px}.preview-column{width:min(100%,350px)}.dialog{padding:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Studio 2.1 — desktop production layout and responsive partner workspace */
:root{--accent:#298b87;--ink:#172626;--line:#e4e9e9;--surface:#fff}
body{background:#f3f5f5}
.topbar{height:66px;position:sticky;top:0;z-index:9}
.studio{grid-template-columns:258px minmax(0,1fr);min-height:calc(100vh - 66px)}
.sidebar{padding:26px 20px;gap:24px;position:sticky;top:66px;max-height:calc(100vh - 66px);overflow:auto}
.studio-nav{display:grid;gap:5px;border-bottom:1px solid var(--border);padding-bottom:17px}
.nav-btn{text-align:left;display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;border-radius:10px;padding:11px 12px;background:transparent;color:#566a6a;cursor:pointer;font-size:13px;font-weight:680}
.nav-btn:hover{background:#f4f7f6}.nav-btn.active{background:#e9f2ef;color:#205f59;border-color:#d8e9e4}
.count-pill{font-size:10px;font-weight:800;border-radius:8px;padding:2px 7px;color:#784a2b;background:#f6e8d9}
.workspace{padding:30px clamp(16px,2.5vw,40px)}
.dashboard{max-width:1240px}.dashboard-heading{padding:24px 3px 28px}.dashboard-heading h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.045em;margin:9px 0}
.dashboard-heading p{color:#687879;line-height:1.6;margin:0 0 21px}
.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:23px}
.metric{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:21px;display:grid;gap:9px}
.metric span{font-size:12px;color:#637473}.metric strong{font-size:32px;line-height:1;color:#1d3936;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.steps{padding-left:21px;color:#536666;font-size:14px;line-height:2.3}.dashboard-updates{display:grid;gap:9px;font-size:13px}.dashboard-updates p{margin:2px 0}
.profile-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.editor-layout{max-width:none;grid-template-columns:minmax(390px,1fr) minmax(295px,405px);gap:23px}
.editor-column,.preview-column{min-width:0}
.panel{padding:22px;box-shadow:0 6px 24px rgba(25,47,47,.035)}
.panel-title{align-items:start;gap:10px;margin-bottom:17px}.panel-title h2{margin:0 0 5px}.panel-title p{margin:0}
.panel-title>span{white-space:nowrap}
.preview-column{position:sticky;top:85px}
.preview-head{align-items:start;gap:8px;margin-bottom:14px}.preview-head h2{margin:0 0 3px}
.view-switch{display:flex;gap:2px;background:#eaf0ef;border-radius:9px;padding:3px}
.view-switch button{font-size:10px;border:0;background:transparent;color:#536a69;padding:7px 9px;cursor:pointer;border-radius:7px}
.view-switch button.selected{background:white;color:#174f49;box-shadow:0 1px 4px #172b2b19;font-weight:760}
.preview-device{margin-inline:auto;width:100%;background:#fff;position:relative;transition:width .15s,border-radius .15s,border-width .15s;overflow:hidden;border:1px solid #d7dfe0;box-shadow:0 15px 35px rgba(15,37,39,.1);height:650px}
.preview-device.mobile{max-width:360px;border:7px solid #1a282c;border-radius:34px;height:min(690px,75vh)}
.preview-device.tablet{max-width:700px;border:5px solid #1a282c;border-radius:19px}
.preview-device.desktop{max-width:none;border:1px solid #d7dfe0;border-radius:11px}
.preview-device .phone-notch{display:none}
.preview-device.mobile .phone-notch{display:block;position:absolute;left:50%;top:0;transform:translateX(-50%);height:16px;width:88px;z-index:2}
#previewFrame{border:0;width:100%;height:100%;display:block;background:white}
.preview-foot{line-height:1.5;margin:12px 0 8px}.preview-column>.small-link{display:block;text-align:center;margin-bottom:15px}
.block{border:1px solid #dee6e5;box-shadow:none}.block.active{border-color:#66a9a0;box-shadow:0 0 0 2px #e4f0ed}
.block-header{background:#fafbfb;min-height:54px}.block-title{font-size:13px}.block-subtitle{display:block;font-size:11px;color:#7b8b89;margin-top:2px}
.block-summary{display:flex;flex-direction:column;align-items:flex-start;background:transparent;border:0;text-align:left;flex:1;cursor:pointer;padding:0;min-width:0}
.block .block-content{border-top:1px solid #e8eeee}.block:not(.active) .block-content{display:none}
.block-actions{flex-wrap:nowrap;gap:3px}.block-actions .icon-btn{min-width:28px;padding:6px 7px}
.variant-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px}
.variant-option{border:1px solid #dfe9e6;background:#f9fbfa;border-radius:11px;padding:10px;cursor:pointer;display:grid;gap:8px;text-align:left;font-size:11px;color:#3a5854}
.variant-option.selected{border-color:#26766d;box-shadow:0 0 0 1px #26766d;background:#edf7f4}
.variant-sample{display:flex;flex-direction:column;gap:4px;justify-content:center;background:#fff;border-radius:7px;min-height:51px;padding:9px}
.variant-sample i{height:6px;background:#b9d8d3;border-radius:6px;width:65%}.variant-sample i:first-child{width:85%;background:#56968e}
.variant-option strong{font-weight:730}
.edit-field .field:focus{outline-color:#77b3ac}.edit-field small{line-height:1.45}
.list-row{padding:12px}.row-tools{display:flex;gap:4px}
.field-hint{font-size:11px;color:#788989}
.form-picture{display:grid;gap:8px}.form-picture img{width:100%;max-height:190px;object-fit:cover;border-radius:9px;border:1px solid #e6ecea}
.upload-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.upload-actions input[type=file]{font-size:11px;max-width:200px}
.form-warning{font-size:11px;color:#a24c32}
.library-dialog{border:0;border-radius:20px;background:white;box-shadow:0 26px 90px #18323142;width:min(960px,calc(100vw - 30px));max-height:min(90vh,920px);padding:25px;overflow:auto}
.library-dialog::backdrop{background:rgba(11,31,34,.62)}
.library-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.library-head h2{margin:5px 0;font-size:23px;letter-spacing:-.03em}.library-head p{margin:0}
.library-filters{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:10px;margin:24px 0 17px}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.library-item{border:1px solid #e0e8e7;border-radius:14px;background:#fff;display:grid;gap:10px;padding:15px;cursor:pointer;text-align:left;color:#243736}
.library-item:hover,.library-item:focus-visible{outline:0;border-color:#63a29b;box-shadow:0 4px 20px #235f5a14}
.library-item:disabled{opacity:.55;cursor:not-allowed}
.library-item .kicker{font-size:9px}
.library-item strong{font-size:14px}.library-item p{font-size:11px;color:#657b7a;line-height:1.5;margin:0;min-height:30px}
.library-art{height:98px;border-radius:9px;background:linear-gradient(135deg,#e7f1ee,#f4f7f5);display:grid;align-content:center;gap:7px;padding:16px;overflow:hidden}
.library-art span{height:10px;border-radius:3px;background:#7fb1a9;width:70%}.library-art span:nth-child(2){width:95%;background:white;height:21px}.library-art span:nth-child(3){width:54%;background:#c8e0da}
.library-item-footer{display:flex;justify-content:space-between;gap:10px;color:#517d76;font-size:11px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.renewals-workspace{max-width:1030px}.renewals-workspace h1{font-size:29px;letter-spacing:-.04em}.renewal-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #edf1f1}.renewal-row strong{font-size:13px}.renewal-row span{font-size:12px;color:#5f7370}
.dialog{width:min(540px,calc(100vw - 30px))}.dialog .dialog-actions{position:sticky;bottom:-24px;background:white}
.fallback-add{margin-top:9px}.fallback-add .control{font-size:12px}
.status{font-weight:650}.status.saving{color:#3e658f}.status.error{color:#aa4a3b}
@media(max-width:1250px){.editor-layout{grid-template-columns:minmax(0,1fr) 315px;gap:16px}.workspace{padding:25px 19px}.sidebar{width:235px;padding:24px 15px}.studio{grid-template-columns:235px minmax(0,1fr)}.view-switch button{padding:7px}}
@media(max-width:1050px){.editor-layout{grid-template-columns:1fr}.preview-column{position:static;max-width:none}.preview-device.mobile{height:640px}.dashboard-grid{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.studio{display:block}.sidebar{position:static;max-height:none;width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:14px;border-bottom:1px solid #e2eaea}.sidebar-head,.studio-nav,.sidebar-bottom,.profiles-section{grid-column:1/-1}.studio-nav{display:flex;overflow-x:auto}.nav-btn{white-space:nowrap}.workspace{padding:20px 14px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.metric{padding:12px}.metric strong{font-size:24px}.metric span{font-size:10px}.topbar{height:58px;padding:0 15px}.sub-brand{padding-left:12px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sidebar{grid-template-columns:1fr}.top-actions .small{display:none}.head-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.head-actions .btn{padding:11px 7px}.library-dialog{padding:15px}.library-filters{grid-template-columns:1fr}.library-grid{grid-template-columns:1fr}.preview-head{flex-wrap:wrap}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1}.block-header{flex-wrap:wrap}.block-actions{margin-left:auto}.dashboard-heading h1{font-size:28px}}

.field-group{border:1px solid #dfe9e7;border-radius:12px;padding:12px;background:#fafcfb;gap:12px}
.field-group-label{font-size:12px;color:#344c49}
.field-group-items{display:grid;gap:11px}
.field-group-items .field-group{background:#fff}
.demo-notice{border:1px solid #e5d5b7;background:#fcf7ec;padding:13px;border-radius:11px;display:grid;gap:8px}
.demo-notice strong{font-size:12px;color:#78562d}.demo-notice p{margin:0;color:#826c4b}
.demo-notice button{justify-self:start;cursor:pointer}

.library-split{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
.library-split.inspect-open{grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr)}
.library-split.inspect-open .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.library-inspect{border:1px solid #dce7e4;background:#f8fbfa;border-radius:15px;padding:15px;position:sticky;top:10px}
.library-inspect h3{font-size:18px;margin:7px 0 5px}.library-inspect p{line-height:1.45}
.library-variant-choices{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.library-variant-choices button{border:1px solid #d1e2df;border-radius:7px;padding:8px 10px;font-size:11px;background:white;color:#365b55;cursor:pointer}
.library-variant-choices button.selected{border-color:#28746b;background:#dfefeb;color:#1b524b;font-weight:720}
.library-mini-preview{height:360px;border-radius:17px;border:6px solid #1b292d;overflow:hidden;background:white;margin:11px auto;max-width:265px}
.library-mini-preview iframe{height:100%;width:100%;border:0;background:#fff}
.library-item.selected{border-color:#23766e;box-shadow:0 0 0 2px #dcece7}
@media(max-width:800px){.library-split.inspect-open{grid-template-columns:1fr}.library-inspect{position:static}.library-mini-preview{height:300px}.library-split.inspect-open .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.library-split.inspect-open .library-grid{grid-template-columns:1fr}}


/* TapTap 2.2 visual identity: exact on-server font files used by CONVOCO. */
@font-face{font-family:"CONVOCO Text";src:url("/v2/fonts/convoco-text-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"CONVOCO Text";src:url("/v2/fonts/convoco-text-600.woff2") format("woff2");font-style:normal;font-weight:600 900;font-display:swap}
@font-face{font-family:"CONVOCO Heading";src:url("/v2/fonts/convoco-heading-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"CONVOCO Heading";src:url("/v2/fonts/convoco-heading-700.woff2") format("woff2");font-style:normal;font-weight:700 900;font-display:swap}
:root{--accent:#298b87;--ink:#040404}
h1,h2,h3,.dashboard-heading h1,.workspace-head h1{font-family:"CONVOCO Heading","CONVOCO Text",sans-serif}
.brand{display:inline-flex;gap:5px;align-items:center;font-family:"CONVOCO Heading",sans-serif;font-style:italic;font-weight:800;letter-spacing:-.075em;color:#040404!important}
.brand span{color:#040404!important;font-weight:800}
.tap-logo-waves{height:35px;width:35px;fill:#298b87}
.media-workspace{max-width:1330px}
.media-workspace h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.04em;margin:9px 0 12px}
.media-workspace>p{max-width:760px;line-height:1.7}
.media-note{padding:16px 19px;background:#f3f8f7;border-left:3px solid #298b87;border-radius:10px;margin:20px 0;color:#2a4e4b;font-size:13px;line-height:1.65}
.media-upload-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.media-upload-row .field{flex:1;min-width:min(100%,320px)}
.media-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:27px 0 18px}
.media-toolbar h2{margin:0 0 7px}
.media-toolbar .field{max-width:310px}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}
.media-tile{background:#fff;border:1px solid var(--border);border-radius:17px;overflow:hidden;box-shadow:var(--shadow);min-width:0}
.media-visual{height:165px;background:#eaf4f2;display:grid;place-items:center}
.media-visual img{width:100%;height:100%;object-fit:cover}
.media-pdf-icon{border:2px solid #298b87;border-radius:8px;font-family:"CONVOCO Heading",sans-serif;font-weight:800;color:#298b87;padding:18px;font-size:25px}
.media-info{padding:17px;display:grid;gap:8px;overflow-wrap:anywhere}
.media-info strong{font-size:13px;line-height:1.5}
.media-info p{margin:0}
.media-tile-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.media-tile-actions .btn{font-size:11px;padding:8px 10px}
.media-inline-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.media-inline-picker .field{flex:1;min-width:140px}
.media-inline-picker .btn{flex-shrink:0}
.library-art{padding:0!important;background:#eaf4f3!important}
.library-art img{width:100%;height:100%;display:block;object-fit:cover}
@media(max-width:640px){.media-upload-row{display:grid}.media-toolbar .field{max-width:none;width:100%}.media-inline-picker{display:grid}}

.brand img{width:142px;height:48px;object-fit:contain;object-position:left center;display:block}

/* TapTap Studio 2.3 — split section navigator, contextual editor and large preview.
   Pure presentation: all sections stay in the existing SaaS draft model. */
.workspace{max-width:1960px;margin-inline:auto;width:100%}
#editorWorkspace{min-width:0}
.workspace-head{margin-bottom:10px;gap:20px}
.workspace-head>div:first-child{min-width:0}
.workspace-head .profile-meta{overflow-wrap:anywhere}
.workspace-head .profile-meta a{word-break:break-all}
.head-actions{align-items:center}
.head-actions .btn{min-height:41px;white-space:nowrap}
.editor-layout{grid-template-columns:minmax(0,1fr) minmax(335px,395px);gap:26px;max-width:none}
.editor-column{min-width:0}
.preview-column{min-width:0;position:sticky;top:90px;max-height:calc(100dvh - 110px);overflow-y:auto;scrollbar-width:thin;padding:0 3px 12px}
.preview-head{margin-bottom:10px}
.preview-head h2{margin-bottom:3px}
.preview-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.preview-controls .view-switch{flex:0 1 auto}
.preview-expand{font-size:12px;min-height:35px;padding:8px 11px;white-space:nowrap}
.preview-foot{font-size:12px;max-width:360px;margin:15px auto 9px}
.preview-device.mobile{height:clamp(460px,65dvh,720px);max-width:375px}
.preview-device.tablet,.preview-device.desktop{height:clamp(460px,65dvh,720px)}
.preview-column>.small-link{font-size:12px;line-height:1.5}
.panel{border-color:#e2eae8}
.panel h2{line-height:1.2}
.theme-panel{padding-bottom:20px}
.theme-panel .panel-title{margin-bottom:17px}
.theme-controls{display:grid;grid-template-columns:minmax(158px,.85fr) minmax(150px,1fr) minmax(150px,1fr);gap:14px}
.theme-control{min-width:0;display:grid;gap:9px}
.theme-control .label{font-size:11px}
.color-input{height:44px;border:1px solid #dce5e2;border-radius:10px;padding:5px 11px 5px 5px;background:white;display:flex;align-items:center;gap:10px}
.color-input input[type="color"]{cursor:pointer;width:38px;height:32px;border:0;padding:0;background:none;flex-shrink:0}
.color-input span{font-size:13px;font-weight:650;letter-spacing:.02em;color:#344c48;font-variant-numeric:tabular-nums}
.theme-control .control{height:44px}
.module-quota{font-size:12px;color:#266c65;background:#edf6f3;border-radius:30px;padding:7px 11px;white-space:nowrap;font-weight:750}
.blocks-panel{padding:22px}
.blocks-panel>.panel-title{margin-bottom:14px}
.blocks-panel .panel-title h2{font-size:19px}
.blocks-panel .panel-title p{line-height:1.6;max-width:620px}
.section-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,170px);align-items:center;gap:9px;margin-bottom:9px}
.section-search{position:relative}
.section-search::before{content:"";position:absolute;left:15px;top:50%;width:13px;height:13px;transform:translateY(-60%);border:2px solid #7a9993;border-radius:50%;pointer-events:none}
.section-search::after{content:"";position:absolute;left:28px;top:25px;width:7px;height:2px;background:#7a9993;transform:rotate(47deg);pointer-events:none}
.section-search input{padding-left:39px;background:#f9fbfa;font-size:13px;min-height:44px}
.section-tools .control{font-size:12px;min-height:44px}
.section-filter-status{font-size:11px;color:#70827e;margin:0 0 10px;min-height:16px}
.module-workbench{display:grid;grid-template-columns:minmax(208px,30%) minmax(0,1fr);gap:0;max-height:clamp(480px,76dvh,860px);min-height:490px;border:1px solid #dce7e4;border-radius:15px;background:#fff;overflow:hidden}
.module-outline,.module-detail{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.module-outline{border-right:1px solid #e0e8e5;background:#f7f9f8}
.module-outline-title{position:sticky;top:0;z-index:2;background:#f7f9f8;border-bottom:1px solid #e7eeeb;font-size:10px;font-weight:800;letter-spacing:.1em;color:#6b837c;padding:15px 15px 13px}
.module-outline .blocks{display:flex;flex-direction:column;gap:0}
.module-outline .block{border:0;border-bottom:1px solid #e9efed;border-radius:0;box-shadow:none;background:transparent}
.module-outline .block:last-child{border-bottom:0}
.module-outline .block.active{box-shadow:none;background:#e8f4f0;border-color:#cfe2dc}
.module-outline .block-header{padding:0;background:none;min-height:0}
.module-outline .block-summary{display:grid;grid-template-columns:27px minmax(0,1fr) 15px;gap:9px;align-items:center;padding:13px 13px 13px 10px;width:100%;min-height:62px;border-left:3px solid transparent;transition:background .12s ease}
.module-outline .block.active .block-summary{border-left-color:var(--accent)}
.module-outline .block-summary:hover{background:#eef5f2}
.module-outline .block-summary:focus-visible{outline:2px solid #298b87;outline-offset:-3px}
.outline-index{font:700 11px/1 "CONVOCO Text",sans-serif;text-align:center;color:#6c8881;font-variant-numeric:tabular-nums}
.block.active .outline-index{color:#19716c}
.outline-label{min-width:0;display:flex;flex-direction:column;gap:4px}
.outline-label .block-title{font-size:12px;font-weight:750;line-height:1.35;color:#253d38;display:block;overflow-wrap:anywhere}
.outline-label .block-subtitle{font-size:10px;line-height:1.2;color:#7b8d88}
.module-outline .block-disabled .outline-label .block-title{color:#81918a}
.outline-indicator{font-size:16px;color:#97aaa5;text-align:center}
.block.active .outline-indicator{font-size:10px;color:#298b87}
.outline-empty{font-size:12px;color:#6a7d78;padding:18px;line-height:1.6}
.module-detail{background:#fff}
.module-detail-header{position:sticky;top:0;z-index:3;background:#fff;padding:20px 20px 17px;border-bottom:1px solid #e5edea;box-shadow:0 4px 11px rgba(0,0,0,.018)}
.module-detail-header h3{font-family:"CONVOCO Heading","CONVOCO Text",sans-serif;font-size:22px;line-height:1.2;margin:6px 0}
.module-detail-header p{font-size:12px;margin:0 0 15px;color:#607a73}
.detail-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.detail-actions .icon-btn{border:1px solid #dbe6e2;border-radius:8px;min-height:35px;min-width:0;padding:8px 11px;font-size:11px;font-weight:700;line-height:1.2;color:#345b54;background:#f7faf9;white-space:nowrap}
.detail-actions .icon-btn:hover:not(:disabled){background:#e8f4f0;border-color:#92beb4}
.detail-actions .icon-btn.danger{color:#a34c46;margin-left:auto;background:#fff8f7;border-color:#f0dad6}
.detail-actions .icon-btn:focus-visible{outline:2px solid #298b87;outline-offset:2px}
.module-fields{display:grid;gap:17px;padding:22px 20px 28px;min-width:0}
.module-fields>.edit-field{min-width:0}
.module-fields>.field-hint{margin:0;line-height:1.55}
.module-fields>.edit-field>label{font-size:12px;font-weight:750;color:#435f59;margin-bottom:2px}
.module-fields .field,.module-fields .control{font-size:13px;min-height:44px}
.module-fields .field.long{min-height:120px}
.module-fields .field:focus-visible{outline:2px solid #298b87;outline-offset:1px}
.module-fields .field-group{padding:16px;background:#fafcfb}
.module-fields .field-group-label{font-size:13px}
.module-fields .field-group-items{gap:12px}
.module-fields .form-picture img{max-height:185px;aspect-ratio:16/6;object-fit:cover;object-position:center;border-radius:10px}
.module-fields .upload-actions{align-items:center}
.module-fields .upload-actions input[type=file]{max-width:100%;min-width:0}
.module-fields .media-inline-picker{gap:7px}
.module-fields .variant-picker{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}
.module-fields .variant-option{min-height:110px;align-content:start;font-size:12px;line-height:1.4}
.module-detail-empty{margin:32px 24px;padding:22px;border:1px dashed #cbded8;background:#f8fbfa;border-radius:12px;color:#567269;line-height:1.6;font-size:13px}
.module-fields .list-editor{gap:12px}
.module-fields .list-row{padding:13px;background:#fbfcfb}
.module-fields .row-title{gap:12px}
.module-fields .row-tools .icon-btn{min-width:34px;min-height:34px}
.module-fields .variant-sample{min-height:54px;position:relative;overflow:hidden}
.module-fields .variant-option:nth-child(2) .variant-sample{flex-direction:row;align-items:stretch}
.module-fields .variant-option:nth-child(2) .variant-sample i{width:33%;height:auto;min-height:16px}
.module-fields .variant-option:nth-child(3) .variant-sample{gap:9px;background:#f0f7f5}
.module-fields .variant-option:nth-child(3) .variant-sample i:first-child{width:42%;height:8px}
.module-fields .variant-option:nth-child(3) .variant-sample i:last-child{width:88%;height:4px}
.add-modules{margin-top:15px;padding-top:18px}
.add-modules #openLibrary{min-height:44px;font-size:13px}
.add-modules .fallback-add{opacity:.9}
.preview-dialog{border:0;padding:0;width:min(1160px,calc(100vw - 30px));max-width:none;max-height:calc(100dvh - 32px);border-radius:17px;box-shadow:0 25px 90px rgba(2,20,18,.38);background:#f3f6f5;overflow:auto}
.preview-dialog::backdrop{background:rgba(5,26,23,.72)}
.expanded-preview-header{position:sticky;top:0;z-index:3;background:white;padding:21px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e4ece8}
.expanded-preview-header h2{margin:3px 0 5px;font-family:"CONVOCO Heading","CONVOCO Text",sans-serif;font-size:22px}
.expanded-preview-header p{margin:0;line-height:1.5}
.preview-dialog-device{height:min(76dvh,920px);margin:18px auto 24px;background:white;overflow:hidden;border:1px solid #d4e0dd;box-shadow:0 8px 35px #042e261b}
.preview-dialog-device.mobile{max-width:390px;width:calc(100% - 30px);border:8px solid #1e2b2a;border-radius:32px}
.preview-dialog-device.tablet{max-width:750px;width:calc(100% - 30px);border:5px solid #1e2b2a;border-radius:19px}
.preview-dialog-device.desktop{width:calc(100% - 42px);border-radius:10px}
.preview-dialog-device iframe{display:block;width:100%;height:100%;background:white;border:0}
@media(min-width:2000px){
  .workspace{max-width:1880px}
  .editor-layout{grid-template-columns:minmax(0,1fr) 405px}
  .module-workbench{grid-template-columns:minmax(240px,29%) minmax(0,1fr)}
}
@media(max-width:1480px){
  .editor-layout{grid-template-columns:minmax(0,1fr) minmax(308px,355px);gap:17px}
  .module-workbench{grid-template-columns:minmax(185px,30%) minmax(0,1fr)}
  .blocks-panel{padding:18px}
  .module-detail-header{padding:16px}
  .module-fields{padding:16px}
  .detail-actions .icon-btn{padding:7px 9px}
}
@media(max-width:1220px){
  .editor-layout{grid-template-columns:1fr}
  .preview-column{position:static;overflow:visible;max-height:none;width:min(100%,700px);max-width:none;margin:0 auto}
  .preview-device.mobile{height:630px}
  .theme-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .module-workbench{grid-template-columns:minmax(210px,30%) minmax(0,1fr)}
}
@media(max-width:760px){
  .module-workbench{grid-template-columns:1fr;max-height:none;overflow:visible}
  .module-outline{border-right:0;border-bottom:1px solid #e0e8e5;max-height:295px}
  .module-detail{max-height:70dvh}
  .theme-controls{grid-template-columns:1fr 1fr}
  .theme-control:first-child{grid-column:1/-1}
  .preview-dialog{width:calc(100vw - 14px)}
  .expanded-preview-header{padding:15px}
  .expanded-preview-header h2{font-size:17px}
  .expanded-preview-header .btn{font-size:12px;padding:10px}
}
@media(max-width:480px){
  .section-tools{grid-template-columns:1fr}
  .blocks-panel{padding:15px}
  .blocks-panel .panel-title{align-items:center}
  .module-quota{font-size:10px}
  .theme-controls{grid-template-columns:1fr}
  .theme-control:first-child{grid-column:auto}
  .module-detail-header h3{font-size:19px}
  .detail-actions .icon-btn{flex:1 0 auto}
  .detail-actions .icon-btn.danger{margin-left:0}
  .preview-controls{align-items:stretch}
  .preview-controls .view-switch{width:100%}
  .preview-controls .view-switch button{flex:1}
  .preview-expand{width:100%}
  .expanded-preview-header{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.module-outline .block-summary{transition:none}}

/* Keep adding sections visible without scrolling past the module navigator. */
.section-header-actions{display:flex;gap:9px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.section-header-actions .btn{white-space:nowrap;min-height:38px;padding:9px 13px;font-size:12px}
@media(max-width:690px){.blocks-panel>.panel-title{align-items:flex-start;flex-direction:column}.section-header-actions{justify-content:flex-start;width:100%}}

.expanded-preview-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.expanded-preview-actions .view-switch{background:#f1f5f4}
.expanded-preview-actions .btn{font-size:12px;white-space:nowrap}
@media(max-width:760px){.expanded-preview-actions{width:100%;justify-content:space-between}}
@media(max-width:480px){.expanded-preview-actions .view-switch{width:100%}.expanded-preview-actions .view-switch button{flex:1}}

/* TapTap Studio 2.6 — visible theme and hero controls. */
.theme-options{
 margin-top:15px;padding-top:13px;border-top:1px solid #e6edeb;
 display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.theme-divider-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;
 font-size:13px;font-weight:650;color:#2b4944;line-height:1.45}
.theme-divider-toggle input[type="checkbox"]{
 width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#298b87;cursor:pointer;
}
.theme-options p{max-width:410px;margin:0;line-height:1.45;font-size:11px}
.overlay-control{display:flex;gap:14px;align-items:center;padding:11px 14px;
 border:1px solid #d9e7e1;border-radius:11px;background:#f6faf8}
.overlay-control input[type="range"]{width:100%;flex:1;accent-color:#298b87;cursor:pointer;min-height:27px}
.overlay-value{flex:0 0 49px;text-align:right;font-size:14px;font-weight:800;
 font-variant-numeric:tabular-nums;color:#246b64}
.overlay-control+ .field-hint{margin-top:0}
.module-fields .overlay-control{min-width:0}
.preview-foot{line-height:1.55}
@media(max-width:900px){.theme-options{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.theme-options{gap:10px}}

/* Superadmin libraries accessible only through secret links */
.share-create-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:12px}
.share-create-grid>div{display:grid;gap:6px}.share-libraries-list,.share-file-list{display:grid;gap:12px}
.share-library-tile,.share-file-row{border:1px solid var(--border);background:white;border-radius:12px;padding:14px}
.share-library-heading,.share-file-row{display:flex;gap:15px;justify-content:space-between;align-items:center}
.share-library-heading p,.share-file-row p{margin:5px 0}.share-library-actions,.share-file-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.share-library-actions{margin:14px 0}.share-separator{border:0;border-top:1px solid var(--border);margin:25px 0}
#shareSelectedUrl{flex:1;min-width:0;font-size:12px}#shareDescription{margin:7px 0 12px;resize:vertical}
#sharesStatus.error{color:#a2383c}
@media(max-width:700px){.share-create-grid{grid-template-columns:1fr}.share-library-heading,.share-file-row{flex-direction:column;align-items:flex-start}}


/* Studio 2.8 — an unambiguously scrollable independent section navigator. */
.module-workbench{height:min(780px,79dvh);max-height:none;min-height:500px}
.module-outline{overflow-y:scroll;scrollbar-width:auto;scrollbar-color:#98c4bc #edf3f1;min-height:0}
.module-outline::-webkit-scrollbar{width:10px}
.module-outline::-webkit-scrollbar-track{background:#edf3f1}
.module-outline::-webkit-scrollbar-thumb{background:#95bfb6;border:2px solid #edf3f1;border-radius:12px}
.module-detail{overflow-y:auto;min-height:0}
.module-fields .edit-field:has(input[type="checkbox"]){padding:8px 0}
.module-fields input[type="checkbox"]{accent-color:#298b87;width:19px;height:19px}
.footer-admin-panel textarea{min-height:145px;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
.footer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.footer-live-preview{padding:24px;margin-top:14px;background:#f7faf9;border:1px solid #dce9e5;border-radius:12px;font-size:12px}
.footer-preview-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){
 .module-workbench{height:auto;max-height:none;min-height:0}
 .module-outline{height:280px;max-height:280px;overflow-y:scroll}
 .module-detail{max-height:74dvh;overflow-y:auto}
}

.footer-preview-frame{display:block;border:0;width:100%;height:95px;min-height:95px;background:#f7faf9;border-radius:10px}


/* TapTap Studio 2.9 — one sortable, filterable, tenant-scoped client workspace. */
.studio.table-mode{grid-template-columns:200px minmax(0,1fr)}
.studio.table-mode .sidebar{width:auto;padding:26px 14px;gap:20px}
.studio.table-mode .sidebar .contextual-controls{display:none!important}
.studio.table-mode .sidebar-head h2{font-size:16px}
.studio.table-mode .nav-btn{font-size:12px;text-align:left;padding:12px 10px}
.studio.table-mode .workspace{padding:26px clamp(16px,2vw,34px);max-width:none}
.directory-workspace{max-width:none;min-width:0}
.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:2px 0 21px;flex-wrap:wrap}
.directory-heading h1{font-family:"CONVOCO Heading","CONVOCO Text",sans-serif;letter-spacing:-.045em;
font-size:clamp(27px,2.5vw,38px);margin:5px 0 7px}
.directory-heading p{font-size:13px;color:#637674;margin:0;line-height:1.5;max-width:710px}
.directory-heading .dashboard-actions{align-items:center}
.directory-heading .btn{white-space:nowrap}
.directory-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 20px}
.directory-metrics .metric{border-radius:14px;padding:16px 18px;min-width:0;gap:10px;box-shadow:none}
.directory-metrics .metric span{font-size:11px;line-height:1.35;color:#647774}
.directory-metrics .metric strong{font-size:clamp(25px,2.5vw,34px);color:#122b2a}
.directory-card{border:1px solid #dce7e3;background:#fff;border-radius:16px;margin-bottom:17px;
box-shadow:0 7px 26px rgba(19,38,35,.035);min-width:0;overflow:hidden}
.directory-filters{display:grid;grid-template-columns:minmax(240px,2.2fr) repeat(5,minmax(125px,1fr));
gap:11px;padding:18px;align-items:end}
.directory-filters>div{min-width:0}
.directory-filters label{display:block;color:#54716c;font-size:11px;font-weight:740;margin:0 0 6px}
.directory-filters .field,.directory-filters .control{height:43px;min-height:43px;padding:9px 11px;
font-size:12px;width:100%}
.directory-filters .directory-search .field{background:#f9fbfa}
.directory-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
border-top:1px solid #edf1ef;padding:10px 18px}
.directory-tools p{margin:0;color:#59736c;font-size:12px;line-height:1.5}
.directory-tools>div{display:flex;align-items:center;gap:7px}
.directory-tools .btn{font-size:11px;padding:8px 11px;min-height:34px}
.directory-table-headline{display:flex;justify-content:space-between;align-items:center;gap:14px;
padding:19px 20px 15px}
.directory-table-headline h2{font-size:17px;letter-spacing:-.025em;margin:0 0 4px}
.directory-table-headline p{margin:0;line-height:1.5}
.directory-result-count{flex-shrink:0;border-radius:30px;padding:7px 12px;
background:#e6f3f0;color:#216f65;font-weight:760;font-size:11px}
.directory-table-scroll{overflow-x:auto;overflow-y:visible;max-height:none;
overscroll-behavior-x:contain;border-top:1px solid #e5ece9;border-bottom:1px solid #e5ece9;
scrollbar-width:thin;scrollbar-color:#90c4b7 #eef4f1}
.directory-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.directory-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;min-width:1420px;
font-size:12px;color:#203b37}
.directory-table thead th{position:sticky;top:0;z-index:2;padding:13px 12px;background:#f5f8f7;
font-size:10px;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:#668079;
font-weight:780;border-bottom:1px solid #dfe8e5;text-align:left;white-space:nowrap}
.directory-table thead th:first-child{left:0;z-index:4;background:#f5f8f7;position:sticky;min-width:194px}
.directory-table td{padding:14px 12px;border-bottom:1px solid #eaf0ee;vertical-align:middle;
background:#fff;min-width:0}
.directory-table tbody tr:hover>td{background:#f9fcfb}
.directory-table tbody tr:focus-within>td{background:#f3faf7}
.directory-table tbody tr>td:first-child{position:sticky;left:0;z-index:1;background:#fff;
border-right:1px solid #edf1ef;min-width:194px;max-width:240px}
.directory-table tbody tr:hover>td:first-child{background:#f9fcfb}
.directory-table tbody tr:last-child td{border-bottom:0}
.directory-table strong{font-size:12px;font-weight:780;display:block;line-height:1.4;overflow-wrap:anywhere}
.directory-table small{display:block;font-size:10px;color:#71817e;line-height:1.5;margin-top:4px;max-width:210px;
overflow-wrap:anywhere}
.directory-table .directory-secondary{font-size:11px;color:#59716c;margin-top:4px;max-width:210px;
overflow-wrap:anywhere;display:block}
.directory-table a{color:#256e67;text-decoration:none;overflow-wrap:anywhere}
.directory-table a:hover{text-decoration:underline;text-underline-offset:2px}
.directory-table a:focus-visible,.directory-table button:focus-visible{outline:2px solid #298b87;outline-offset:2px}
.directory-table .directory-flag{display:inline-flex;align-items:center;gap:5px;background:#f1f5f4;color:#475b58;
font-weight:700;border-radius:7px;padding:4px 7px;font-size:10px;line-height:1.3}
.directory-table .directory-flag.good{background:#e6f3f0;color:#246f64}
.directory-table .directory-flag.warning{background:#fff4df;color:#815b17}
.directory-table .directory-flag.bad{background:#fff0ed;color:#994d46}
.directory-table .directory-flag.neutral{background:#eef1f1;color:#556966}
.directory-table .directory-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:192px;max-width:260px}
.directory-table .directory-actions button,.directory-table .directory-actions a{
font-size:10px;font-weight:750;white-space:nowrap;padding:7px 9px;min-height:31px;
border:1px solid #dce7e3;border-radius:7px;background:#fff;color:#245e56;cursor:pointer;
display:inline-flex;align-items:center;text-decoration:none}
.directory-table .directory-actions .primary{background:#298b87;color:#fff;border-color:#298b87}
.directory-table .directory-actions button:hover{background:#eaf6f2}
.directory-table .directory-actions .primary:hover{background:#247970}
.directory-table .directory-empty{text-align:center;padding:43px 15px;color:#667d77}
.directory-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;
flex-wrap:wrap;padding:14px 18px}
.directory-pagination label{display:flex;align-items:center;gap:9px;font-size:11px;color:#5c716c}
.directory-pagination label select{width:auto;min-width:75px;min-height:34px;font-size:12px}
.directory-pagination>div{display:flex;align-items:center;gap:7px}
.directory-pagination button{padding:8px 10px;font-size:11px;min-height:34px}
.directory-table .directory-details-row td{position:static!important;background:#f7faf9!important;
padding:15px 22px!important}
.directory-table .directory-details-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.directory-details-list div{display:grid;gap:5px;min-width:0}
.directory-details-list dt{font-size:10px;text-transform:uppercase;letter-spacing:.045em;color:#6d827c;font-weight:800}
.directory-details-list dd{font-size:12px;color:#263f39;margin:0;overflow-wrap:anywhere}
@media(max-width:1550px){
 .directory-filters{grid-template-columns:minmax(210px,2fr) repeat(3,minmax(126px,1fr))}
 .directory-search{grid-column:span 2}
 .directory-metrics{gap:8px}
 .directory-metrics .metric{padding:13px}
}
@media(max-width:900px){
 .studio.table-mode{grid-template-columns:1fr}
 .studio.table-mode .sidebar{padding:10px 15px;display:flex;flex-direction:row;align-items:center;gap:13px}
 .studio.table-mode .sidebar-head{display:none}
 .studio.table-mode .studio-nav{border:0;padding:0;display:flex;gap:6px;overflow-x:auto}
 .studio.table-mode .nav-btn{font-size:11px;white-space:nowrap;padding:10px 12px}
 .studio.table-mode .workspace{padding:18px 12px}
 .directory-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .directory-search{grid-column:1/-1}
 .directory-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 .directory-table-scroll{max-height:none}
 .directory-table .directory-details-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .directory-heading{align-items:flex-start;gap:13px}
 .directory-heading .dashboard-actions{width:100%}
 .directory-heading .btn{font-size:11px}
 .directory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .directory-metrics .metric:last-child{grid-column:1/-1}
 .directory-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:10px}
 .directory-search{grid-column:1/-1}
 .directory-tools{padding:11px 13px;align-items:flex-start}
 .directory-tools>div{width:100%;justify-content:flex-end}
 .directory-table-headline{align-items:flex-start;padding:16px 13px}
 .directory-table-headline h2{font-size:16px}
 .directory-table .directory-details-list{grid-template-columns:1fr 1fr}
 .directory-pagination{padding:11px}
}

.studio-nav .nav-link{display:flex;align-items:center;text-decoration:none;color:inherit}
.studio-nav .nav-link:hover{background:#eff7f5;color:#236b64}

/* Studio 3.0 — straightforward navigation, clickable table headers and labels. */
.studio:not(.media-mode) .sidebar .contextual-controls{display:none!important}
.studio .sidebar #navBuilder,.studio .sidebar #navRenewals,.studio .sidebar #navPortal{display:none!important}
.directory-table-scroll{height:auto!important;max-height:none!important;overflow-y:clip!important}
.directory-table thead th{position:static}
.directory-table thead th:first-child{position:sticky;left:0;z-index:2}
.directory-sort{appearance:none;border:0;background:transparent;color:inherit;
font:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;
padding:3px 6px 3px 0;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.directory-sort span{color:#298b87;font-size:15px}
.directory-sort:hover{color:#156b62}
.directory-sort:focus-visible{outline:2px solid #298b87;outline-offset:3px;border-radius:4px}
.directory-table th[aria-sort="ascending"] .directory-sort,
.directory-table th[aria-sort="descending"] .directory-sort{color:#116b62}
.directory-cell-filter{display:inline-flex;align-items:center;max-width:100%;
border:0;background:transparent;color:#245c58;cursor:pointer;padding:3px 5px;
margin:-3px -5px;text-align:left;font-size:inherit;overflow-wrap:anywhere}
.directory-cell-filter:hover{text-decoration:underline;text-underline-offset:3px}
.directory-cell-filter:focus-visible{outline:2px solid #298b87;outline-offset:3px}
.directory-cell-filter .directory-flag{cursor:pointer}
.directory-filtered{background:#e5f4ef;border-radius:7px}
.editor-back{display:inline-flex;margin:0 0 13px;padding:9px 12px;font-size:12px}
.directory-table-scroll{scrollbar-width:auto}
@media(max-width:900px){.studio:not(.media-mode) .sidebar .contextual-controls{display:none!important}}


/* TapTap Studio: private, superadmin-only launch deliverables explorer. */
.project-files-workspace{width:100%;max-width:1280px;margin-inline:auto;min-width:0;padding-bottom:48px}
.project-files-header{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;
 margin:4px 0 22px;flex-wrap:wrap}
.project-files-header h1{font-size:clamp(27px,3.4vw,39px);line-height:1.16;
 letter-spacing:-.045em;margin:6px 0 9px}
.project-files-header p{font-size:13px;color:#637974;max-width:700px;line-height:1.65;margin:0}
.project-files-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.project-files-header-actions .btn{white-space:nowrap}
.project-files-scope{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.project-files-scope-btn{border:1px solid #d8e5e0;border-radius:11px;background:white;
 padding:12px 17px;font-size:13px;font-weight:750;color:#315d55;cursor:pointer}
.project-files-scope-btn.active{background:#1e6f66;color:#fff;border-color:#1e6f66}
.project-files-scope-btn:focus-visible,.project-file-folder-name:focus-visible,
.project-files-crumb:focus-visible{outline:2px solid #298b87;outline-offset:3px}
.project-files-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;
 padding:15px 18px;border:1px solid #dce7e3;border-radius:14px 14px 0 0;background:#fff;min-width:0}
.project-files-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.project-files-crumb{background:transparent;border:0;padding:4px 5px;color:#287f74;
 font-size:12px;font-weight:730;cursor:pointer;min-width:0;text-align:left;overflow-wrap:anywhere}
.project-files-crumb.current{color:#304c46;cursor:default}
.project-files-crumb-sep{font-size:14px;color:#91aaa3}
.project-files-search{flex:0 1 335px;min-width:205px}
.project-files-search .field{width:100%;font-size:12px;padding:11px 12px;height:42px}
.project-files-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
 padding:12px 18px;border:1px solid #dce7e3;border-top:0;border-bottom:0;background:#f8fbfa;
 font-size:12px;color:#477168}
.project-files-private-note{color:#6b817b;font-weight:650;font-size:11px}
.project-files-list{border:1px solid #dce7e3;border-radius:0 0 14px 14px;overflow:hidden;background:#fff}
.project-file-row{padding:14px 18px;display:grid;grid-template-columns:65px minmax(0,1fr) auto;
 column-gap:16px;align-items:center;min-height:75px;border-top:1px solid #edf1ef}
.project-file-row:first-child{border-top:0}
.project-file-row:hover{background:#fafcfb}
.project-file-type{display:inline-flex;align-items:center;justify-content:center;
 width:60px;height:37px;background:#ecf1f0;border-radius:8px;
 color:#607a72;font-size:10px;letter-spacing:.055em;font-weight:800}
.project-file-type.is-folder{background:#e2f2ed;color:#27736a}
.project-file-details{display:flex;flex-direction:column;gap:5px;min-width:0}
.project-file-title{font-size:13px;line-height:1.35;color:#243e39;font-weight:770;overflow-wrap:anywhere}
.project-file-folder-name{appearance:none;border:0;background:transparent;padding:0;margin:0;
 text-align:left;color:#256d65;cursor:pointer;font:inherit;font-weight:750}
.project-file-folder-name:hover{text-decoration:underline;text-underline-offset:3px}
.project-file-meta{font-size:11px;color:#7a8985;overflow-wrap:anywhere}
.project-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.project-file-action{padding:8px 12px;min-height:34px;font-size:11px;white-space:nowrap}
.project-files-empty{padding:48px 20px;text-align:center}
.project-files-empty strong{font-size:16px}
.project-files-empty p{font-size:12px;color:#78918b;margin:10px auto;max-width:470px;line-height:1.5}
.project-files-hint{max-width:780px;line-height:1.65;margin:17px 3px}
.project-file-preview-dialog{max-width:min(930px,95vw);width:930px;max-height:90dvh;
 border-radius:17px;padding:0;overflow-y:auto}
.project-file-preview-dialog .dialog-head{position:sticky;top:0;background:#fff;z-index:1;
 padding:18px 22px;border-bottom:1px solid #e6ecea}
.project-file-preview-dialog .dialog-head h2{font-size:18px;margin:0 0 5px;overflow-wrap:anywhere}
.project-file-preview-dialog .dialog-head p{margin:0;overflow-wrap:anywhere}
.project-file-preview-content{padding:18px 22px;max-height:68dvh;overflow:auto;background:#f9fbfa}
.project-file-pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
 white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:12px;
 background:#fff;border:1px solid #e0e8e5;padding:16px;border-radius:9px;margin:0;color:#203c35}
.project-file-image{display:block;max-width:100%;max-height:65dvh;height:auto;width:auto;margin:auto;
 object-fit:contain;border-radius:9px}
.project-file-preview-dialog .dialog-actions{padding:14px 21px;position:sticky;bottom:0;
 background:#fff;border-top:1px solid #e6ecea}
@media(max-width:880px){
 .project-files-workspace{max-width:none}
 .project-files-toolbar{align-items:stretch;flex-direction:column;gap:8px}
 .project-files-search{flex:auto;width:100%;min-width:0}
 .project-file-row{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:13px}
 .project-file-type{width:51px}
 .project-file-actions{grid-column:2;justify-content:flex-start}
 .project-files-header-actions{width:100%}
 .project-files-header-actions .btn{flex:1 1 auto}
}
@media(max-width:460px){
 .project-files-scope-btn{padding:10px 12px;font-size:11px}
 .project-file-preview-content{padding:12px}
 .project-file-pre{padding:11px;font-size:11px}
}
